Gestionar suscripciones a grupos de Google
Una vez que hayas creado un grupo, podrás crear membresías para él. En esta página se explica cómo realizar algunas operaciones fundamentales de pertenencia con la API Groups de Cloud Identity. Para saber cómo crear un grupo de Google, consulta el artículo Crear y buscar grupos de Google.
Antes de empezar
Enable the Cloud Identity API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.Configura la autenticación e instala las bibliotecas de cliente. Consulta cómo configurar la API Cloud Identity Groups.
Añadir una suscripción a un grupo de Google
REST
Usa el método memberships.create
para añadir un miembro a un grupo.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
GROUP_ID
: ID numérico del grupo al que quieres añadir un miembro. Para encontrar el ID de un solo grupo, usa el métodogroups.lookup
. Para ver todos los IDs de grupo de un cliente o un espacio de nombres, usa el métodogroups.list
. -
MEMBER_ID
: ID del miembro. En el caso de las entidades gestionadas por Google, usa la dirección de correo del miembro. En el caso de las entidades asignadas a identidades externas, usa una cadena que cumpla los requisitos de la fuente de identidad. -
ROLE_NAME
: el nombre del rol que quieres asignar al miembro. UsaOWNER
,MANAGER
oMEMBER
. -
PROJECT_ID
: el ID alfanumérico del proyecto Google Cloud que quieras usar para hacer 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, despliega una de estas opciones:
La respuesta contiene un Operation
que indica el estado de tu solicitud.
Las operaciones finalizadas contienen la pertenencia que se ha añadido. 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 añadir un miembro como administrador o propietario del grupo:
Para convertir a un usuario en administrador del grupo, sigue el procedimiento para añadir un miembro al grupo, pero usa el siguiente cuerpo de solicitud:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "MANAGER" } ] }
Para convertir a un usuario en propietario del grupo, sigue el procedimiento para añadir un miembro al grupo, pero usa el siguiente cuerpo de solicitud:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "OWNER" } ] }
Python
En el siguiente código se muestra cómo añadir una pertenencia a un grupo.
expiryDetail
es un campo opcional que se puede añadir para definir una fecha de vencimiento de la pertenencia. El valor de preferredMemberKey
es la dirección de correo 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)
Mostrar las suscripciones de un grupo de Google
REST
Usa el método memberships.list
para enumerar los miembros de un grupo.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
GROUP_ID
: ID numérico del grupo del que quiere listar 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 un espacio de nombres, usa el métodogroups.list
. -
PROJECT_ID
: el ID alfanumérico del proyecto Google Cloud que quieras usar para hacer la solicitud.
Método HTTP y URL:
GET https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
Para enviar tu solicitud, despliega una de estas opciones:
La respuesta contiene una matriz con todos los miembros del grupo y sus roles.
Python
El siguiente código muestra las membresías de 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)