Nesta página, explicamos 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.
Ver vinculações de acesso
Depois que as vinculações de acesso forem criadas para um grupo de usuários, o acesso ao console doGoogle Cloud e às APIs do Google Cloud será controlado com base na satisfação do nível de acesso vinculado.
É possível conferir os detalhes da vinculação de acesso criada, editá-la ou excluí-la.
Console
No console Google Cloud , acesse a página Access Context Manager.
Se for solicitado, selecione um projeto. A lista de vinculações de acesso aparece 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_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 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_IDBINDING_IDé o ID da vinculação de acesso ou o identificador totalmente qualificado da vinculação de acesso.
API
Ver 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/organizationnão tiver sido definida, substituaORG_IDna flag--organizationopcional 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 mudar quais aplicativos têm uma política.
- Modifique 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 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_BINDINGestá 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 é compatível apenas com
scopedAccessSettings. -
DEFAULT_ACCESS_LEVEL: o nome opcional do nível de acesso, 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 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
30mpara 30 minutos ou2hpara duas horas. -
DEFAULT_SESSION_REAUTH_METHOD: o método opcional para desafiar os usuários a verificar novamente a
identidade, que precisa ser uma das seguintes opções:
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 autenticados novamente de forma implícita. Se o IdP não estiver ativo, os usuários precisarão fazer login por ele.SECURITY_KEY: exigir uma chave de segurança de hardware.
Como os argumentos
--levele--binding-filefuncionam juntos- Se você usar apenas
--binding-file, somente 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 serão combinadas. O valor
--levelse aplica a todos os aplicativos, enquanto as políticas no arquivo YAML especificadas por--binding-filese aplicam apenas aos aplicativos definidos no arquivo.
Como trabalhar com controles de sessão
- Para definir controles de sessão padrão para todos os aplicativos, use
--session-lengthe--session-reauth-method. - Se você também definir controles de sessão no arquivo YAML, eles vão substituir as configurações padrão para esses aplicativos específicos.
- Use
--session-lengthe--session-reauth-methodjuntos.
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 comandoupdatenã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 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 do cliente OAuth. É necessário usar
clientIdquando 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
30mpara 30 minutos ou2hpara duas horas. SESSION_REAUTH_METHOD: o método opcional para desafiar os usuários a verificar novamente a identidade deles, 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 o IdP. Se a sessão do IdP estiver ativa, os usuários serão autenticados novamente de forma implícita. Se o IdP não estiver ativo, os usuários precisarão fazer login por ele.SECURITY_KEY: exigir 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 assume a forma
Envie a solicitação PATCH.
PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING?fieldMask=FIELDMASKSubstitua:
-
ACCESS_BINDINGestá no formatoorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME. - FIELD_MASK: uma lista obrigatória e separada por vírgulas de campos que você quer atualizar. Isso informa à API quais partes da vinculação de acesso serão modificadas.
fieldMaskprecisa conter as chaves JSON de nível superior no corpo da solicitação que você quer atualizar, que podem conteraccessLevels,dryRunAccessLevelsescopedAccessSettings.Se a solicitação for bem-sucedida, 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 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_BINDINGestá no formatoorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME. -
ACCESS_BINDING_NAMEé a string exclusiva retornada para o identificadornamequando 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 identificadornamequando 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.