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 al que deseas agregar un miembro. 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.
  • MEMBER_ID: El ID del miembro Para las entidades administradas por Google, usa la dirección de correo electrónico del miembro. Para las entidades con asignación de identidad externa, usa una string que cumpla con los requisitos 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 proyecto de Google Cloud que deseas 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 que indica el estado de la 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 administrador o propietario del grupo:

  • Para convertir a alguien en 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 convertir a alguien en propietario 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": "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)

Enumerar 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 del que deseas enumerar 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 proyecto de Google Cloud que deseas 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)