Esta página explica como gerir as associações de acesso existentes, que definem como as políticas de acesso são aplicadas aos seus grupos de utilizadores. Pode ver, modificar e eliminar estas associações conforme necessário. As associações de acesso determinam como os níveis de acesso e os controlos de sessão são aplicados a um grupo de utilizadores.
Para obter informações sobre como criar associações de acesso e mais detalhes sobre os níveis de acesso e os controlos de sessão, consulte o artigo Aplique políticas a grupos de utilizadores com associações de acesso.
Veja as associações de acesso
Depois de criar as associações de acesso para um grupo de utilizadores, o acesso à Google Cloud consola e Google Cloud às APIs é controlado com base na satisfação do nível de acesso associado.
Pode ver os detalhes da associação de acesso que criou, editá-la ou eliminá-la.
Consola
Na Google Cloud consola, aceda à página Access Context Manager.
Se lhe for pedido, selecione um projeto. A lista de vinculações de acesso é apresentada na página do Gestor de acesso sensível ao contexto.
gcloud
Para ver todas as associações de acesso, execute o seguinte comando:
gcloud access-context-manager cloud-bindings list \ --organization ORG_IDORG_ID: o ID da sua organização. Se a propriedade
access-context-manager/organizationnão tiver sido definida, substituaORG_IDna flag--organizationopcional pelo ID da organização que usou quando criou a funçãoGcpAccessAdmin.Para ver os detalhes de uma associação de acesso, execute o seguinte comando:
gcloud access-context-manager cloud-bindings describe \ --binding=BINDING_IDBINDING_IDé o ID da vinculação de acesso ou o identificador totalmente qualificado da vinculação de acesso.
API
Ver todas as associações de acesso:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
-
ORG_IDé o ID da organização que usou quando criou a funçãoGcpAccessAdmin. Se a propriedadeaccess-context-manager/organizationnão tiver sido definida, substituaORG_IDna flag--organizationopcional pelo ID da organização que usou quando criou a funçãoGcpAccessAdmin.
Método HTTP e URL:
GET https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Para enviar o seu pedido, escolha uma destas opções:
curl
Execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"PowerShell
Execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand ContentDeve receber uma resposta JSON semelhante à seguinte:
{ "name": string, "groupKey": string, "accessLevels": [ string ] "dryRunAccessLevels": [ string ] }-
Veja os detalhes de uma associação de acesso:
Método HTTP e URL:
GET https://accesscontextmanager.googleapis.com/v1/BINDING_ID
Para enviar o seu pedido, escolha uma destas opções:
curl
Execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/BINDING_ID"PowerShell
Execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/BINDING_ID" | Select-Object -Expand ContentDeve receber uma resposta JSON semelhante à seguinte:
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ], "dryRunAccessLevels": [ "accessPolicies/305009197125/accessLevels/another" ] }
Atualize uma associação de acesso
Pode atualizar uma vinculação de acesso para fazer o seguinte:
- Adicione, remova ou altere as aplicações que têm uma política.
- Modifique os níveis de acesso de uma aplicação num grupo de utilizadores.
- Adicione um novo nível de acesso de teste ou promova um existente para um nível em direto.
Consola
Na Google Cloud consola, aceda à página Access Context Manager.
Se lhe for pedido, selecione um projeto.
Na página Access Context Manager, selecione uma associação de acesso e, de seguida, clique em Editar para a atualizar.
Não pode atualizar as associações de acesso com níveis de acesso de teste ou controlos de sessão na Google Cloud consola.
gcloud
Crie um ficheiro de associação YAML.
gcloud access-context-manager cloud-bindings update --binding ACCESS_BINDING --binding-file BINDING_FILE_PATH [ --level DEFAULT_ACCESS_LEVEL ] [ --dry-run-level DEFAULT_DRY_RUN_ACCESS_LEVEL ] [ --session-length=DEFAULT_SESSION_LENGTH ] [ --session-reauth-method=DEFAULT_SESSION_REAUTH_METHOD ]Substitua o seguinte:
-
ACCESS_BINDINGestá no formatoorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME. -
BINDING_FILE_PATH: o caminho para o ficheiro YAML que contém o esquema de associação de acesso.
O ficheiro de associação só suporta
scopedAccessSettings. -
DEFAULT_ACCESS_LEVEL: o nome do nível de acesso opcional, que assume a forma
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. SubstituaPOLICY_IDpelo ID da política de acesso eACCESS_LEVEL_NAMEpelo nome do nível de acesso. - DEFAULT_DRY_RUN_ACCESS_LEVEL_2: um nome de nível de acesso opcional no formato `accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME`. Inclua esta flag para aplicar o nível de acesso de teste especificado a todas as aplicações por predefinição se não forem especificadas no YAML.
-
DEFAULT_SESSION_LENGTH: a duração opcional da sessão no formato de duração ISO 8601, como
30mpara 30 minutos ou2hpara duas horas. -
DEFAULT_SESSION_REAUTH_METHOD: o método opcional para desafiar os utilizadores a validarem novamente a respetiva identidade, que tem de ser um dos seguintes:
LOGIN: aplique o início de sessão padrão, que pode incluir a MFA ou outros fatores definidos pelo Workspace.PASSWORD: só requer uma palavra-passe, mesmo que outros fatores estejam definidos. Se as palavras-passe forem geridas através de um IdP externo, os utilizadores são redirecionados para o IdP. Se a sessão do IdP estiver ativa, os utilizadores são autenticados novamente de forma implícita. Se o IdP não estiver ativo, os utilizadores têm de iniciar sessão através do IdP.SECURITY_KEY: exigir uma chave de segurança de hardware.
Como funcionam em conjunto os argumentos
--levele--binding-file- Se usar apenas
--binding-file, apenas as aplicações no ficheiro têm as políticas aplicadas. - Se usar apenas
--level, o nível de acesso aplica-se a todas as aplicações. - Se usar ambas, as regras são combinadas. O valor
--levelaplica-se a todas as aplicações, enquanto as políticas no ficheiro YAML especificadas por--binding-fileaplicam-se apenas às aplicações conforme definido no ficheiro.
Trabalhar com controlos de sessão
- Para definir controlos de sessão predefinidos para todas as aplicações, use
--session-lengthe--session-reauth-method. - Se também definir controlos de sessão no ficheiro YAML, esses controlos de sessão substituem as predefinições para essas aplicações específicas.
- Tem de usar o
--session-lengthe o--session-reauth-methodem conjunto.
Para remover um nível de acesso predefinido ou um nível de acesso de teste de execução predefinido, forneça uma string vazia, como
--level=ou--dry-run-level=. Quando estes argumentos não são fornecidos, o comandoupdatenão faz alterações.Para remover um controlo da sessão, defina
--session-length=0.-
API
Crie um corpo JSON.
{ "accessLevels": [ "DEFAULT_ACCESS_LEVEL" ], "scopedAccessSettings": [ { "scope": { "clientScope": { "restrictedClientApplication": { "clientId": "CLIENT_ID" } } }, "activeSettings": { "accessLevels": [ "ACCESS_LEVEL_A" ], "sessionSettings": [ { "sessionLength": "SESSION_LENGTH", "sessionReauthMethod": "SESSION_REAUTH_METHOD", "sessionLengthEnabled": true } ] } }, { "scope": { "clientScope": { "restrictedClientApplication": { "name": "CLIENT_NAME" } }, "activeSettings": { "accessLevels": [ "ACCESS_LEVEL_C" ] } } } ] }Substitua o seguinte:
-
DEFAULT_ACCESS_LEVEL: o nome do nível de acesso opcional, que assume a forma
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. SubstituaPOLICY_IDpelo ID da política de acesso eACCESS_LEVEL_NAMEpelo nome do nível de acesso. - CLIENT_ID: o ID de cliente OAuth. Tem de usar
clientIdquando uma aplicação contémsessionSettings. - ACCESS_LEVEL_A: um nome de nível de acesso no formato
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. - SESSION_LENGTH: a duração da sessão no formato de duração ISO 8601, como
30mpara 30 minutos ou2hpara duas horas. SESSION_REAUTH_METHOD: o método opcional para desafiar os utilizadores a validarem novamente a respetiva identidade, que tem de ser um dos seguintes:
LOGIN: aplique o início de sessão padrão, que pode incluir a MFA ou outros fatores definidos pelo Workspace.PASSWORD: Exigir apenas uma palavra-passe, mesmo que outros fatores estejam definidos. Se as palavras-passe forem geridas através de um IdP externo, os utilizadores são redirecionados para o IdP. Se a sessão do IdP estiver ativa, os utilizadores são autenticados novamente de forma implícita. Se o IdP não estiver ativo, os utilizadores têm de iniciar sessão através do IdP.SECURITY_KEY: exigir uma chave de segurança de hardware.
CLIENT_NAME: o nome do cliente. Se a aplicação contiver
sessionSettings, não pode usar o nome do cliente. Em alternativa, use o ID de cliente OAuth.ACCESS_LEVEL_C: um nome de nível de acesso no formato
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME.
-
DEFAULT_ACCESS_LEVEL: o nome do nível de acesso opcional, que assume a forma
Envie o pedido PATCH.
PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING?fieldMask=FIELDMASKSubstitua o seguinte:
-
ACCESS_BINDINGestá no formatoorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME. - FIELD_MASK: uma lista obrigatória de campos separados por vírgulas que quer atualizar. Isto indica à API que partes da vinculação de acesso devem ser modificadas.
fieldMaskdeve conter as chaves JSON de nível superior no corpo do pedido que quer atualizar, que podem conteraccessLevels,dryRunAccessLevelsescopedAccessSettings.Se for bem-sucedido, deve receber uma representação do objeto JSON. Se existir um problema, recebe uma mensagem de erro.
-
Elimine vinculações de acesso
Consola
Na Google Cloud consola, aceda à página Access Context Manager.
Se lhe for pedido, selecione um projeto.
Na página Access Context Manager, selecione uma associação de acesso e, de seguida, clique em Eliminar.
gcloud
gcloud access-context-manager cloud-bindings delete \
--binding ACCESS_BINDING
Substitua o seguinte:
-
ACCESS_BINDINGestá no formatoorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME. -
ACCESS_BINDING_NAMEé a string exclusiva devolvida para o identificadornamequando a associação de acesso foi criada.
API
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
-
ACCESS_BINDING_NAMEé a string exclusiva devolvida para o identificadornamequando a associação de acesso foi criada.
Método HTTP e URL:
DELETE https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME
Para enviar o seu pedido, escolha uma destas opções:
curl
Execute o seguinte comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME"
PowerShell
Execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME" | Select-Object -Expand Content
Deve receber um código de estado de êxito (2xx) e uma resposta vazia.