Cómo crear y actualizar un grupo dinámico

En esta página, se explica cómo crear y actualizar un grupo dinámico.

Antes de comenzar

Realiza las siguientes tareas antes de continuar con la información de esta página:

Crear un grupo dinámico

El siguiente es un ejemplo de cómo crear un grupo dinámico:

REST

Para crear un grupo dinámico, llama a groups.create() con una instancia del grupo. La instancia del grupo debe contener el dynamicGroupMetadata con la consulta usada para propagar el grupo.

Python

Para crear un grupo dinámico, llama al método service.groups().create con una instancia del grupo. La instancia del grupo debe contener el dynamicGroupMetadata con la consulta usada para propagar el grupo. En el siguiente ejemplo, se muestra cómo crear un grupo dinámico que contenga todos los usuarios existentes en el departamento de Ingeniería:

def create_dynamic_group(customer_id, email, query):
  service = build_service()
  groupDef = {
      "parent": "customerId/{}".format(customer_id),
      "groupKey": {"id": email},
      "labels": {"cloudidentity.googleapis.com/groups.discussion_forum": ""},
      "dynamicGroupMetadata": {
          "queries": [
              {
                  "resourceType": "USER",
                  "query": "user.organizations.exists(org, org.department=='engineering')"
              }
          ]
      }
  }
  request = service.groups().create(body=groupDef)
  request.uri += "&initialGroupConfig=EMPTY"
  response = request.execute()
  return response

Actualización de un grupo dinámico

El siguiente es un ejemplo de cómo crear un grupo dinámico:

REST

Para actualizar un grupo dinámico, llama a groups.patch() con una instancia del grupo. La instancia del grupo debe contener el dynamicGroupMetadata con la nueva consulta usada para propagar el grupo.

Python

Para actualizar un grupo dinámico, llama al método service.groups().patch con el nombre del grupo que se actualizará y una instancia del grupo. La instancia del grupo debe contener el dynamicGroupMetadata con la consulta usada para propagar el grupo. En el siguiente ejemplo, se muestra cómo actualizar un grupo dinámico que contiene a todos los usuarios de ingeniería en un grupo que contiene a todos los usuarios de los departamentos de ingeniería o finanzas:

# name (i.e. groups/01234abcdeef) uniquely identifies the group
def update_dynamic_group(name, query):
  service = build_service()
  groupDef = {
    "dynamicGroupMetadata": {
    "queries": [
        {
          "resourceType": "USER",
          "query": "user.organizations.exists(org, org.department=='engineering' || org.department=='finance')"
        }
      ]
    }
  }
  request = service.groups().patch(name=name, body=groupDef)
  request.uri += "&updateMask=dynamicGroupMetadata"
  response = request.execute()

  return response

¿Qué sigue?

Una vez que exista el grupo dinámico, podrás recuperarlo y enumerar sus membresías. Para obtener más información, consulta Recupera un grupo dinámico y enumera miembros.