Esta página explica como gerenciar as vinculações de acesso atuais, que definem como as políticas de acesso são aplicadas aos seus grupos de usuários. É possível visualizar, modificar e excluir essas vinculações conforme necessário. As vinculações de acesso determinam como os níveis de acesso e os controles de sessão são aplicados a um grupo de usuários.
Para informações sobre como criar vinculações de acesso e mais detalhes sobre níveis de acesso e controles de sessão, consulte Aplicar políticas a grupos de usuários com vinculações de acesso.
Conferir vinculações de acesso
Depois que as vinculações de acesso forem criadas para um grupo de usuários, o acesso ao console do Google Cloud e às APIs do Google Cloud será controlado com base na satisfação do nível de acesso vinculado.
Você pode conferir os detalhes da vinculação de acesso que criou, editá-la ou excluí-la.
Console
No console do Google Cloud , acesse a página Access Context Manager.
Se for solicitado, selecione um projeto. A lista de vinculações de acesso é listada na página do Access Context Manager.
gcloud
Para conferir todas as vinculações de acesso, execute o seguinte comando:
gcloud access-context-manager cloud-bindings list \ --organization ORG_ID
ORG_ID: o ID da sua organização. Se a propriedade
access-context-manager/organization
não tiver sido definida, substituaORG_ID
na flag--organization
opcional pelo ID da organização que você usou ao criar o papelGcpAccessAdmin
.Para conferir os detalhes de uma vinculação de acesso, execute o seguinte comando:
gcloud access-context-manager cloud-bindings describe \ --binding=BINDING_ID
BINDING_ID
é o ID da vinculação de acesso ou o identificador totalmente qualificado para a vinculação de acesso.
API
Confira todas as vinculações de acesso:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
ORG_ID
é o ID da organização que você usou ao criar o papelGcpAccessAdmin
. Se a propriedadeaccess-context-manager/organization
não tiver sido definida, substituaORG_ID
na flag--organization
opcional pelo ID da organização que você usou ao criar o papelGcpAccessAdmin
.
Método HTTP e URL:
GET https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Para enviar a solicitação, 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 ContentVocê receberá uma resposta JSON semelhante a esta:
{ "name": string, "groupKey": string, "accessLevels": [ string ] "dryRunAccessLevels": [ string ] }
-
Confira os detalhes de uma vinculação de acesso:
Método HTTP e URL:
GET https://accesscontextmanager.googleapis.com/v1/BINDING_ID
Para enviar a solicitação, 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 ContentVocê receberá uma resposta JSON semelhante a esta:
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ], "dryRunAccessLevels": [ "accessPolicies/305009197125/accessLevels/another" ] }
Atualizar uma vinculação de acesso
É possível atualizar uma vinculação de acesso para fazer o seguinte:
- Adicionar, remover ou alterar quais aplicativos têm uma política.
- Modificar os níveis de acesso de um aplicativo em um grupo de usuários.
- Adicione um novo nível de acesso de simulação ou promova um nível atual para um nível ativo.
Console
No console do Google Cloud , acesse a página Access Context Manager.
Se for solicitado, selecione um projeto.
Na página do Access Context Manager, selecione uma vinculação de acesso e clique em Editar para atualizar.
Não é possível atualizar vinculações de acesso com níveis de acesso de simulação ou controles de sessão no console do Google Cloud .
gcloud
Crie um arquivo de vinculaçã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:
-
ACCESS_BINDING
está no formatoorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME
. -
BINDING_FILE_PATH: o caminho para o arquivo YAML que contém o esquema de vinculação de acesso.
O arquivo de vinculação só oferece suporte a
scopedAccessSettings
. -
DEFAULT_ACCESS_LEVEL: o nome opcional do nível de acesso, que tem o formato
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
. SubstituaPOLICY_ID
pelo ID da política de acesso eACCESS_LEVEL_NAME
pelo 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 essa flag para aplicar o nível de acesso de simulação especificado a todos os aplicativos por padrão, se eles não forem especificados no YAML.
-
DEFAULT_SESSION_LENGTH: a duração opcional da sessão usando o formato de duração ISO 8601,
como
30m
para 30 minutos ou2h
para duas horas. -
DEFAULT_SESSION_REAUTH_METHOD: o método opcional para solicitar que os usuários revalidem a
identidade, que precisa ser um dos seguintes:
LOGIN
: aplique o login padrão, que pode incluir MFA ou outros fatores definidos pelo Workspace.PASSWORD
: exige apenas uma senha, mesmo que outros fatores sejam definidos. Se as senhas forem gerenciadas usando um IdP externo, os usuários serão redirecionados para ele. Se a sessão do IdP estiver ativa, os usuários serão reautenticados implicitamente. Se o IdP não estiver ativo, os usuários vão precisar fazer login por ele.SECURITY_KEY
: exige uma chave de segurança de hardware.
Como os argumentos
--level
e--binding-file
funcionam juntos- Se você usar apenas
--binding-file
, apenas os aplicativos no arquivo terão as políticas aplicadas. - Se você usar apenas
--level
, o nível de acesso será aplicado a todos os aplicativos. - Se você usar os dois, as regras no arquivo YAML terão prioridade. O valor
--level
se aplica a todos os aplicativos que não estão listados no arquivo.
Como trabalhar com controles de sessão
- Para definir controles de sessão padrão para todos os aplicativos, use
--session-length
e--session-reauth-method
. - Se você também definir controles de sessão no arquivo YAML, esses controles vão substituir as configurações padrão para esses aplicativos específicos.
- Use
--session-length
e--session-reauth-method
juntos.
Para remover um nível de acesso padrão ou um nível de acesso de simulação padrão, forneça uma string vazia, como
--level=
ou--dry-run-level=
. Quando esses argumentos não são fornecidos, o comandoupdate
não faz nenhuma mudança.Para remover um controle de 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:
-
DEFAULT_ACCESS_LEVEL: o nome opcional do nível de acesso, que tem o formato
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
. SubstituaPOLICY_ID
pelo ID da política de acesso eACCESS_LEVEL_NAME
pelo nome do nível de acesso. - CLIENT_ID: o ID do cliente OAuth. É necessário usar
clientId
quando um aplicativo 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 usando o formato de duração ISO 8601,
como
30m
para 30 minutos ou2h
para duas horas. SESSION_REAUTH_METHOD: o método opcional para solicitar que os usuários verifiquem a identidade novamente, que precisa ser um dos seguintes:
LOGIN
: aplique o login padrão, que pode incluir MFA ou outros fatores definidos pelo Workspace.PASSWORD
: exige apenas uma senha, mesmo que outros fatores sejam definidos. Se as senhas forem gerenciadas usando um IdP externo, os usuários serão redirecionados a ele. Se a sessão do IdP estiver ativa, os usuários serão re-autenticados implicitamente. Se o IdP não estiver ativo, os usuários precisarão fazer login por ele.SECURITY_KEY
: exige uma chave de segurança de hardware.
CLIENT_NAME: o nome do cliente. Se o aplicativo contiver
sessionSettings
, não será possível usar o nome do cliente. Em vez disso, use o ID do 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 opcional do nível de acesso, que tem o formato
Envie a solicitação PATCH.
PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING?fieldMask=FIELDMASK
Substitua:
-
ACCESS_BINDING
está no formatoorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME
. - FIELD_MASK: uma lista obrigatória de campos separados por vírgulas que você quer atualizar. Isso informa à API quais partes da vinculação de acesso precisam ser modificadas.
fieldMask
precisa conter as chaves JSON de nível superior no corpo da solicitação que você quer atualizar, que pode conteraccessLevels
,dryRunAccessLevels
escopedAccessSettings
.Se for bem-sucedido, você vai receber uma representação do objeto JSON. Se houver um problema, você vai receber uma mensagem de erro.
-
Excluir vinculações de acesso
Console
No console do Google Cloud , acesse a página Access Context Manager.
Se for solicitado, selecione um projeto.
Na página do Access Context Manager, selecione uma vinculação de acesso e clique em Excluir.
gcloud
gcloud access-context-manager cloud-bindings delete \
--binding ACCESS_BINDING
Substitua:
-
ACCESS_BINDING
está no formatoorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME
. -
ACCESS_BINDING_NAME
é a string exclusiva retornada para o identificadorname
quando a vinculação de acesso foi criada.
API
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
ACCESS_BINDING_NAME
é a string exclusiva retornada para o identificadorname
quando a vinculação de acesso foi criada.
Método HTTP e URL:
DELETE https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME
Para enviar a solicitação, 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
Você receberá um código de status bem-sucedido (2xx) e uma resposta vazia.