Gestione delle appartenenze per i gruppi Google

Dopo la creazione di un gruppo, puoi creare le appartenenze. Questa pagina spiega come eseguire alcune operazioni di appartenenza fondamentali con l'API Cloud Identity Groups. Per scoprire come creare un gruppo Google, consulta Creazione e ricerca di gruppi Google.

Prima di iniziare

  • Abilita l'API Cloud Identity.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    Abilitare l'API

  • Configura l'autenticazione e installa le librerie client. Per scoprire come fare, consulta Configurare l'API Cloud Identity Groups.

Aggiungere un'appartenenza a un gruppo Google

REST

Utilizza il metodo memberships.create per aggiungere un membro a un gruppo.

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • GROUP_ID: l'ID numerico del gruppo a cui vuoi aggiungere un membro. Per trovare l'ID di un singolo gruppo, utilizza il groups.lookup metodo. Per visualizzare tutti gli ID gruppo di un cliente o di uno spazio dei nomi, utilizza il groups.list metodo.
  • MEMBER_ID: l'ID del membro. Per le entità gestite da Google, utilizza l' indirizzo email del membro. Per le entità mappate con identità esterne, utilizza una stringa che soddisfi i requisiti dell'origine identità.
  • ROLE_NAME: il nome del ruolo che vuoi concedere al membro. Utilizza OWNER, MANAGER o MEMBER.
  • PROJECT_ID: l'ID alfanumerico del Google Cloud progetto che vuoi utilizzare per effettuare la richiesta.

Metodo HTTP e URL:

POST https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships

Corpo JSON della richiesta:

{
  "preferredMemberKey": {
    "id": "MEMBER_ID"
  },
  "roles": [
    {
      "name": "MEMBER"
    }
  ]
}

Per inviare la richiesta, espandi una di queste opzioni:

La risposta contiene un Operation che indica lo stato della richiesta.

Le operazioni completate contengono l'appartenenza aggiunta. Ad esempio:

{
  "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"
      }
    ]
  }
}

Puoi anche utilizzare il metodo memberships.create per aggiungere un membro come amministratore o proprietario del gruppo:

  • Per rendere qualcuno amministratore del gruppo, segui la procedura per aggiungere un membro al gruppo, ma utilizza il seguente corpo della richiesta:

    {
      "preferredMemberKey": {
        "id": "MEMBER_ID"
      },
      "roles": [
        {
          "name": "MEMBER"
        }
        {
          "name": "MANAGER"
        }
      ]
    }
  • Per rendere qualcuno proprietario del gruppo, segui la procedura per aggiungere un membro al gruppo, ma utilizza il seguente corpo della richiesta:

    {
      "preferredMemberKey": {
        "id": "MEMBER_ID"
      },
      "roles": [
        {
          "name": "MEMBER"
        }
        {
          "name": "OWNER"
        }
      ]
    }

Python

Il seguente codice mostra come aggiungere un'appartenenza a un gruppo. expiryDetail è un campo facoltativo che può essere aggiunto per impostare una scadenza per l'appartenenza. Il valore di preferredMemberKey è l'indirizzo email del membro.

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)

Elencare le appartenenze di un gruppo Google

REST

Utilizza il metodo memberships.list per elencare i membri di un gruppo.

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • GROUP_ID: l'ID numerico del gruppo di cui vuoi elencare i membri. Per trovare l'ID di un singolo gruppo, utilizza il groups.lookup metodo. Per visualizzare tutti gli ID gruppo di un cliente o di uno spazio dei nomi, utilizza il groups.list metodo.
  • PROJECT_ID: l'ID alfanumerico del Google Cloud progetto che vuoi utilizzare per effettuare la richiesta.

Metodo HTTP e URL:

GET https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships

Per inviare la richiesta, espandi una di queste opzioni:

La risposta contiene un array di tutti i membri del gruppo e dei relativi ruoli.

Python

Il seguente codice elenca le appartenenze di un gruppo:

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)