Como gerenciar assinaturas para Grupos do Google
Você pode criar assinaturas para um grupo depois de criá-lo. Nesta página, explicamos como executar algumas operações básicas de assinatura com a API Cloud Identity Groups. Para saber como criar um Grupo do Google, consulte Como criar e pesquisar Grupos do Google.
Antes de começar
Enable the Cloud Identity API.
Configure a autenticação e instale as bibliotecas de cliente. Para saber como fazer isso, consulte Como configurar a API Cloud Identity Groups.
Adicionar uma assinatura a um Grupo do Google
REST
Use o método memberships.create
para adicionar um membro a um grupo.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
GROUP_ID
: o ID numérico do grupo em que você quer adicionar um membro. Para encontrar o ID de um único grupo, use o métodogroups.lookup
. Para conferir todos os IDs de grupo em um cliente ou namespace, use o métodogroups.list
. -
MEMBER_ID
: o ID do membro. Para entidades gerenciadas pelo Google, use o endereço de e-mail do membro. Para entidades mapeadas com identidade externa, use uma string que atenda aos requisitos da origem de identidade. -
ROLE_NAME
: o nome do papel que você quer conceder ao membro. UseOWNER
,MANAGER
ouMEMBER
. -
PROJECT_ID
: o ID alfanumérico do projeto do Google Cloud que você quer usar para fazer a solicitação.
Método HTTP e URL:
POST https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
Corpo JSON da solicitação:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } ] }
Para enviar a solicitação, expanda uma destas opções:
A resposta contém um Operation
que indica o status da solicitação.
As operações concluídas contêm a associação que foi adicionada. 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" } ] } }
Você também pode usar o método memberships.create
para adicionar um membro como
administrador ou proprietário do grupo:
Para tornar alguém administrador do grupo, siga o procedimento para adicionar um membro ao grupo, mas use o seguinte corpo de solicitação:
{ "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 de solicitação:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "OWNER" } ] }
Python
O código a seguir mostra como adicionar uma associação a um grupo.
expiryDetail
é um campo opcional que pode ser adicionado para definir a validade
da assinatura. O valor de preferredMemberKey
é o endereço de e-mail 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 assinaturas de um Grupo do Google
REST
Use o método memberships.list
para listar os membros de um grupo.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
GROUP_ID
: o ID numérico do grupo para o qual você quer mostrar os membros. Para encontrar o ID de um único grupo, use o métodogroups.lookup
. Para conferir todos os IDs de grupo em um cliente ou namespace, use o métodogroups.list
. -
PROJECT_ID
: o ID alfanumérico do projeto do Google Cloud que você quer usar para fazer a solicitação.
Método HTTP e URL:
GET https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
Para enviar a solicitação, expanda uma destas opções:
A resposta contém uma matriz de todos os membros do grupo e as funções deles.
Python
O código a seguir lista as assinaturas 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)