Créer et mettre à jour un groupe dynamique

Cette page explique comment créer et mettre à jour un groupe dynamique.

Avant de commencer

Effectuez les tâches suivantes avant d'utiliser les informations fournies sur cette page :

Créer un groupe dynamique

Voici un exemple de création d'un groupe dynamique :

REST

Pour créer un groupe dynamique, appelez groups.create() avec une instance du groupe. L'instance du groupe doit contenir le nom d'objet (dynamicGroupMetadata) avec la requête utilisée pour renseigner le groupe.

Python

Pour créer un groupe dynamique, appelez la méthode service.groups().create avec une instance de groupe. L'instance du groupe doit contenir le nom d'objet (dynamicGroupMetadata) avec la requête utilisée pour renseigner le groupe. L'exemple suivant montre comment créer un groupe dynamique contenant tous les utilisateurs existants du service d'ingénierie:

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

Mettre à jour un groupe dynamique

Voici un exemple de mise à jour d'un groupe dynamique:

REST

Pour mettre à jour un groupe dynamique, appelez groups.patch() avec une instance de ce groupe. L'instance du groupe doit contenir le nom d'hôte (dynamicGroupMetadata) avec la nouvelle requête utilisée pour renseigner le groupe.

Python

Pour mettre à jour un groupe dynamique, appelez la méthode service.groups().patch avec le nom du groupe à mettre à jour et une instance du groupe. L'instance du groupe doit contenir le nom d'objet (dynamicGroupMetadata) avec la requête utilisée pour renseigner le groupe. L'exemple suivant montre comment mettre à jour un groupe dynamique contenant tous les utilisateurs de l'ingénierie à un groupe contenant tous les utilisateurs des services d'ingénierie ou des finances:

# 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

Étape suivante

Une fois que le groupe dynamique existe, vous pouvez le récupérer et répertorier ses adhésions. Pour en savoir plus, consultez la section Récupérer un groupe dynamique et répertorier les membres.