Administra las membresías de los Grupos de Google
Una vez que exista un grupo, puedes crearle membresías. En esta página, se explica cómo realizar algunas operaciones fundamentales de membresía con la API de Grupos de Cloud Identity. Si quieres obtener información sobre cómo crear un Grupo de Google, consulta cómo crear y buscar Grupos de Google.
Antes de comenzar
Enable the Cloud Identity API.
Configura la autenticación y, luego, instala las bibliotecas cliente. Consulta Configura la API de Grupos de Cloud Identity.
Agrega una membresía a un Grupo de Google
REST
Usa el método memberships.create
para agregar un miembro a un grupo.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
GROUP_ID
: El ID numérico del grupo en el que deseas agregar un miembro. Para encontrar el ID de un solo grupo, usagroups.lookup
. . Para ver todos los IDs de grupo de un cliente o espacio de nombres, usagroups.list
. . -
MEMBER_ID
: Es el ID del miembro. Para las entidades administradas por Google, usa la dirección de correo electrónico del miembro. Para las entidades asignadas por la identidad externa, usa una cadena que cumpla con los de la fuente de identidad. -
ROLE_NAME
: Es el nombre de la función que deseas otorgar al miembro. UsaOWNER
,MANAGER
oMEMBER
. -
PROJECT_ID
: El ID alfanumérico del elemento proyecto de Google Cloud que quieres usar para realizar la solicitud.
Método HTTP y URL:
POST https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
Cuerpo JSON de la solicitud:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } ] }
Para enviar tu solicitud, expande una de estas opciones:
La respuesta contiene un Operation
.
en la que se determina el estado de tu solicitud.
Las operaciones finalizadas contienen la membresía que se agregó. Por ejemplo:
{ "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" } ] } }
También puedes usar el método memberships.create
para agregar un miembro como un
administrador o propietario del grupo:
Para asignar a alguien como administrador del grupo, sigue el procedimiento para agregar un miembro al grupo, pero usa el siguiente cuerpo de solicitud:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "MANAGER" } ] }
Para designar a alguien como propietario del grupo, sigue el procedimiento para agregar un miembro al grupo, pero usa el siguiente cuerpo de la solicitud:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "OWNER" } ] }
Python
En el siguiente código, se muestra cómo agregar una membresía a un grupo.
expiryDetail
es un campo opcional que se puede agregar a fin de establecer un vencimiento para la membresía. El valor de preferredMemberKey
es la dirección de correo electrónico del miembro.
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)
Enumera las membresías de un Grupo de Google
REST
Usa el método memberships.list
para enumerar los miembros de un grupo.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
GROUP_ID
: El ID numérico del grupo para el que deseas enumerar a los miembros. Para encontrar el ID de un solo grupo, usa el métodogroups.lookup
. Para ver todos los IDs de grupo de un cliente o espacio de nombres, usa el métodogroups.list
. -
PROJECT_ID
: El ID alfanumérico del elemento proyecto de Google Cloud que quieres usar para realizar la solicitud.
Método HTTP y URL:
GET https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
Para enviar tu solicitud, expande una de estas opciones:
La respuesta contiene un array de todos los miembros del grupo y sus roles.
Python
El siguiente código enumera las membresías para un grupo:
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)