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

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, usa groups.lookup. . Para ver todos los IDs de grupo de un cliente o espacio de nombres, usa groups.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. Usa OWNER, MANAGER o MEMBER.
  • 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étodo groups.lookup. Para ver todos los IDs de grupo de un cliente o espacio de nombres, usa el método groups.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)