Gestione delle appartenenze per i gruppi Google
Una volta creato un gruppo, puoi creare le relative iscrizioni. Questa pagina spiega come eseguire alcune operazioni di base di gestione dell'iscrizione con l'API Cloud Identity Groups. Per scoprire come creare un gruppo Google, consulta Creare e cercare gruppi Google.
Prima di iniziare
Abilita l'API Cloud Identity, se non è già abilitata.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.Configura l'autenticazione e installa le librerie client. Per scoprire come fare, consulta Configurazione dell'API Cloud Identity Groups.
Aggiungere un'iscrizione 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 metodogroups.lookup. Per visualizzare tutti gli ID gruppo in un cliente o uno spazio dei nomi, utilizza il metodogroups.list. -
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. UtilizzaOWNER,MANAGERoMEMBER. -
PROJECT_ID: l'ID alfanumerico del progetto Google Cloud 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 tua richiesta.
Le operazioni completate contengono l'abbonamento aggiunto. 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
gestore o proprietario del gruppo:
Per nominare 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 utente a un gruppo.
expiryDetail è un campo facoltativo che può essere aggiunto per impostare una scadenza
per l'abbonamento. 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)
Elenca le iscrizioni a 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 visualizzare l'elenco dei membri. Per trovare l'ID di un singolo gruppo, utilizza il metodogroups.lookup. Per visualizzare tutti gli ID gruppo in un cliente o uno spazio dei nomi, utilizza il metodogroups.list. -
PROJECT_ID: l'ID alfanumerico del progetto Google Cloud 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 iscrizioni per 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)