Gérer les adhésions aux groupes Google
Une fois qu'un groupe existe, vous pouvez lui créer des adhésions. Cette page explique comment effectuer certaines opérations d'adhésion fondamentales avec l'API Cloud Identity Groups. Pour apprendre à créer un groupe Google Groupes, consultez la page Créer et rechercher des Google Groupes.
Avant de commencer
Enable the Cloud Identity API.
Configurez l'authentification et installez les bibliothèques clientes. Pour en savoir plus, consultez la page Configurer l'API Cloud Identity Groups.
Ajouter une adhésion à un groupe Google
REST
Utilisez la méthode memberships.create
pour ajouter un membre à un groupe.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
-
GROUP_ID
: ID numérique du groupe auquel vous souhaitez ajouter un membre. Pour trouver l'ID d'un seul groupe, utilisez la méthodegroups.lookup
. Pour afficher tous les ID de groupe sous un client ou un espace de noms, utilisez la méthodegroups.list
. -
MEMBER_ID
: ID du membre. Pour les entités gérées par Google, utilisez l'adresse e-mail du membre. Pour les entités mappées avec une identité externe, utilisez une chaîne qui répond aux exigences de la source d'identité. -
ROLE_NAME
: nom du rôle que vous souhaitez attribuer au membre. UtilisezOWNER
,MANAGER
ouMEMBER
. -
PROJECT_ID
: ID alphanumérique du projet Google Cloud que vous souhaitez utiliser pour effectuer la requête.
Méthode HTTP et URL :
POST https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
Corps JSON de la requête :
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } ] }
Pour envoyer votre requête, développez l'une des options suivantes :
La réponse contient une Operation
qui indique l'état de votre requête.
Les opérations terminées contiennent l'abonnement ajouté. Exemple :
{ "done": true, "response": { "@type": "type.googleapis.com/google.apps.cloudidentity.groups.v1.Membership", "name": "groups/GROUP_ID/memberships/123456789012345678901", "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } ] } }
Vous pouvez également utiliser la méthode memberships.create
pour ajouter un membre en tant que gestionnaire ou propriétaire du groupe:
Pour désigner un administrateur du groupe, suivez la procédure d'ajout d'un membre au groupe, mais utilisez le corps de la requête suivant:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "MANAGER" } ] }
Pour faire de quelqu'un un propriétaire du groupe, suivez la procédure d'ajout d'un membre au groupe, mais utilisez le corps de la requête suivant:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "OWNER" } ] }
Python
Le code suivant vous montre comment ajouter une adhésion à un groupe.
expiryDetail
est un champ facultatif qui peut être ajouté pour définir un délai d'expiration pour l'adhésion. La valeur de preferredMemberKey
correspond à l'adresse e-mail du membre.
def create_google_group_membership(service, identity_source_id, group_id, member_key):
param = "&groupKey.id=" + group_id + "&groupKey.namespace=identitysources/" + identity_source_id
try:
lookupGroupNameRequest = service.groups().lookup()
lookupGroupNameRequest.uri += param
# Given a group ID and namespace, retrieve the ID for parent group
lookupGroupNameResponse = lookupGroupNameRequest.execute()
groupName = lookupGroupNameResponse.get("name")
# Create a membership object with a memberKey and a single role of type MEMBER
membership = {
"preferredMemberKey": {"id": member_key},
"roles" : {
"name" : "MEMBER",
"expiryDetail": {
"expireTime": "2021-10-02T15:01:23Z"
}
}
}
# Create a membership using the ID for the parent group and a membership object
response = service.groups().memberships().create(parent=groupName, body=membership).execute()
print(response)
except Exception as e:
print(e)
Répertorier les adhésions à un groupe Google
REST
Utilisez la méthode memberships.list
pour lister les membres d'un groupe.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
-
GROUP_ID
: ID numérique du groupe pour lequel vous souhaitez lister les membres. Pour trouver l'ID d'un seul groupe, utilisez la méthodegroups.lookup
. Pour afficher tous les ID de groupe sous un client ou un espace de noms, utilisez la méthodegroups.list
. -
PROJECT_ID
: ID alphanumérique du projet Google Cloud que vous souhaitez utiliser pour effectuer la requête.
Méthode HTTP et URL :
GET https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
Pour envoyer votre requête, développez l'une des options suivantes :
La réponse contient un tableau de tous les membres du groupe et de leurs rôles.
Python
Le code suivant répertorie les adhésions d'un groupe :
def list_google_group_memberships(service, group_id):
param = "&groupKey.id=" + group_id
try:
lookup_group_name_request = service.groups().lookup()
lookup_group_name_request.uri += param
lookup_group_name_response = lookup_group_name_request.execute()
group_name = lookup_group_name_response.get("name")
# List memberships
response = service.groups().memberships().list(parent=group_name).execute()
print(response)
except Exception as e:
print(e)