Gerir subscrições para o Grupos do Google
Depois de existir um grupo, pode criar subscrições para o mesmo. Esta página explica como realizar algumas operações de associação fundamentais com a API Cloud Identity Groups. Para saber como criar um Grupo Google, consulte o artigo Criar e pesquisar Grupos Google.
Antes de começar
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.Configure a autenticação e instale as bibliotecas de cliente. Consulte o artigo Configurar a API Cloud Identity Groups para saber como.
Adicione uma subscrição a um Grupo Google
REST
Use o método memberships.create
para adicionar um membro a um grupo.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
-
GROUP_ID
: o ID numérico do grupo ao qual quer adicionar um membro. Para encontrar o ID de um único grupo, use o métodogroups.lookup
. Para ver todos os IDs de grupos num cliente ou espaço de nomes, use o métodogroups.list
. -
MEMBER_ID
: o ID do membro. Para entidades geridas pela Google, use o endereço de email do membro. Para entidades mapeadas com identidades externas, use uma string que cumpra os requisitos da origem da identidade. -
ROLE_NAME
: o nome da função que quer conceder ao membro. UseOWNER
,MANAGER
ouMEMBER
. -
PROJECT_ID
: o ID alfanumérico do projeto Google Cloud que quer usar para fazer o pedido.
Método HTTP e URL:
POST https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
Corpo JSON do pedido:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } ] }
Para enviar o seu pedido, expanda uma destas opções:
A resposta contém um Operation
que indica o estado da sua solicitação.
As operações concluídas contêm a associação que foi adicionada. Por exemplo:
{ "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" } ] } }
Também pode usar o método memberships.create
para adicionar um membro como gestor ou proprietário do grupo:
Para tornar alguém gestor do grupo, siga o procedimento para adicionar um membro ao grupo, mas use o seguinte corpo do pedido:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "MANAGER" } ] }
Para tornar alguém proprietário do grupo, siga o procedimento para adicionar um membro ao grupo, mas use o seguinte corpo do pedido:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "OWNER" } ] }
Python
O código seguinte mostra como adicionar uma associação a um grupo.
expiryDetail
é um campo opcional que pode ser adicionado para definir uma data de validade
para o registo de membro. O valor de preferredMemberKey
é o endereço de email do 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)
Listar membros de um grupo Google
REST
Use o método memberships.list
para apresentar os membros de um grupo.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
-
GROUP_ID
: o ID numérico do grupo cujos membros quer listar. Para encontrar o ID de um único grupo, use o métodogroups.lookup
. Para ver todos os IDs de grupos num cliente ou espaço de nomes, use o métodogroups.list
. -
PROJECT_ID
: o ID alfanumérico do projeto Google Cloud que quer usar para fazer o pedido.
Método HTTP e URL:
GET https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
Para enviar o seu pedido, expanda uma destas opções:
A resposta contém uma matriz de todos os membros do grupo e as respetivas funções.
Python
O código seguinte lista as associações de um 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)