Proteger o console do Google Cloud e as APIs do Google Cloud

Neste documento, mostramos como proteger o acesso ao console do Google Cloud e às APIs do Google Cloud usando regras baseadas em contexto.

O acesso baseado no contexto do console do Google Cloud e das APIs do Google Cloud restringe o acesso ao console e às APIs do Google Cloud com regras baseadas em contexto. Ele faz parte do Chrome Enterprise Premium e ajuda a garantir que indivíduos e grupos da sua organização que atendam aos requisitos de acesso definidos possam acessar o console do Google Cloud e as APIs do Google Cloud (incluindo o acesso a partir da Google Cloud CLI).

Para proteger o console do Google Cloud e as APIs do Google Cloud, conclua as seguintes etapas:

  1. [Opcional] Implante a Verificação de endpoints nos dispositivos da sua organização.
  2. Crie um nível de acesso no Access Context Manager.
  3. Crie um grupo de usuários para aplicar restrições baseadas no contexto.
  4. Receba as permissões necessárias de gerenciamento de identidade e acesso.
  5. Crie uma vinculação de acesso que aplique regras baseadas no contexto para o console do Google Cloud e as APIs do Google Cloud.

[Opcional] Implantar a verificação de endpoints

Se você quiser proteger o acesso ao console do Google Cloud e às APIs do Google Cloud usando os atributos do dispositivo, implante a Verificação de endpoints nos dispositivos da sua organização.

A Verificação de endpoints é executada como uma extensão do Chrome em computadores e laptops para usuários do MacOS, Windows e Linux. Um administrador pode implantá-lo nos dispositivos da empresa usando o Google Admin Console ou os membros da organização podem instalar o serviço por conta própria.

Criar um nível de acesso

É necessário definir um nível de acesso que possa ser usado ao determinar o acesso ao console do Google Cloud e às APIs do Google Cloud criando um nível de acesso básico no Access Context Manager.

Criar um grupo de usuários

Crie um grupo de usuários que precisa estar vinculado por restrições baseadas no contexto. Todos os usuários desse grupo que também sejam membros da organização precisam atender ao nível de acesso que você criou anteriormente para acessar o console do Google Cloud e as APIs do Google Cloud.

Conceder as permissões necessárias do IAM

Conceda as permissões do IAM no nível da organização que serão necessárias para criar vinculações de acesso do Access Context Manager.

Console

  1. Acesse a página IAM e administrador no Console do Google Google Cloud.

    Acessar IAM e administrador

  2. Clique em Adicionar e configure o seguinte:

    • Novos membros: especifique o usuário ou grupo em que você quer conceder as permissões.
    • Selecione um papel: selecione Access Context Manager > Administrador de vinculação de acesso à nuvem.
  3. Clique em Salvar.

gcloud

  1. Verifique se você está autenticado com privilégios suficientes para adicionar permissões do IAM no nível da organização. Você precisa, no mínimo, do papel Administrador da organização.

    Depois de confirmar que você tem as permissões certas, faça login com:

    gcloud auth login
    
  2. Atribua o papel GcpAccessAdmin executando o seguinte comando:

    gcloud organizations add-iam-policy-binding ORG_ID \
      --member=user:EMAIL \
      --role=roles/accesscontextmanager.gcpAccessAdmin
    
    • ORG_ID é o ID da organização. Se você ainda não tiver o ID da organização, use o seguinte comando para encontrá-lo:

       gcloud organizations list
      
    • EMAIL é o endereço de e-mail da pessoa ou do grupo a que você quer conceder o papel.

Criar uma vinculação de acesso

Uma vinculação de acesso é um mapeamento entre o grupo de usuários criado anteriormente e o nível de acesso do Access Context Manager definido para acessar o console do Google Cloud e as APIs do Google Cloud.

É possível criar uma vinculação de acesso de uma das seguintes maneiras:

  • Vinculação de acesso entre um grupo e um nível de acesso.
  • Vinculação de acesso entre um grupo e um nível de acesso com configuração de simulação. Com a configuração de simulação, é possível criar uma vinculação de acesso entre um grupo e um nível de acesso de simulação ou entre um grupo, um nível de acesso e um nível de acesso de simulação.

Criar uma vinculação de acesso com um nível de acesso

Console

  1. Acesse a página Chrome Enterprise Premium no console do Google Cloud.

    Acessar o Chrome Enterprise Premium

  2. Escolha uma organização e clique em Selecionar.

  3. Clique em Gerenciar acesso para escolher quais grupos de usuários terão acesso.

  4. Clique em Adicionar e configure o seguinte:

    • Grupos de participantes: especifique o grupo a que você quer conceder acesso. Somente os grupos que ainda não estiverem vinculados a um nível de acesso estarão disponíveis para seleção.
    • Selecionar níveis de acesso: escolha o nível de acesso a ser aplicado ao grupo.
  5. Clique em Salvar.

gcloud

Consulte a Google Cloud CLI para mais informações sobre esse e outros comandos gcloud access-context-manager cloud-bindings (em inglês), incluindo outras opções de sinalização.

 gcloud access-context-manager cloud-bindings create \
    --group-key GROUP_ID \
    --level ACCESS_LEVEL \
    --organization ORG_ID

Em que:

  • GROUP_ID é o ID do grupo de usuários criado anteriormente.

    Se você não tiver o ID do grupo disponível, recupere-o chamando o método get no recurso Groups.

  • ORG_ID é o ID da organização que você usou ao criar o papel GcpAccessAdmin. Se a propriedade access-context-manager/organization não tiver sido definida, substitua ORG_ID na sinalização opcional --organization pelo ID da organização usado ao criar o papel GcpAccessAdmin.
  • POLICY_ID é o ID da política de acesso da organização.
  • ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores de POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados no Access Context Manager de quando você criou o nível de acesso.

API

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • ORG_ID é o ID da organização que você usou ao criar o papel GcpAccessAdmin.
  • GROUP_ID é o ID do grupo de usuários criado anteriormente.

    Se você não tiver o ID do grupo disponível, recupere-o chamando o método get no recurso Groups.

  • POLICY_ID é o ID da política de acesso da organização.
  • ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores de POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados no Access Context Manager de quando você criou o nível de acesso.

Método HTTP e URL:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

Corpo JSON da solicitação:

{
  "groupKey": "GROUP_ID",
  "accessLevels": [ "ACCESS_LEVEL" ],
}

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

PowerShell

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:


{
  "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
  "groupKey": "045jfvxd0ybeul8",
  "accessLevels": [
    "accessPolicies/305009197125/accessLevels/device_lock"
  ]
}

Criar uma vinculação de acesso com configuração de simulação

É possível criar uma vinculação de acesso com configuração de simulação para entender o impacto dos níveis de acesso no seu ambiente nos seguintes cenários:

  • Para avaliar o impacto de um nível de acesso antes de aplicá-lo, crie uma vinculação de acesso com um nível de acesso de simulação.
  • Para aplicar um nível de acesso e avaliar o impacto de um nível de acesso de simulação ao mesmo tempo, crie uma vinculação de acesso com um nível de acesso ativo e com um nível de acesso de simulação.

Uma vinculação de acesso com um nível de acesso de simulação não impede o acesso, mas registra as violações desse nível. Para visualizar os detalhes do registro, consulte os registros de negação.

Criar uma vinculação de acesso com um nível de acesso de simulação

gcloud

    gcloud access-context-manager cloud-bindings create \
    --group-key = GROUP_ID \
    --dry-run-level = DRY_RUN_ACCESS_LEVEL \
    --organization ORG_ID

Em que:

  • GROUP_ID é o ID do grupo de usuários criado anteriormente.

    Se você não tiver o ID do grupo disponível, recupere-o chamando o método get no recurso Groups.

  • ORG_ID é o ID da organização que você usou ao criar o papel GcpAccessAdmin. Se a propriedade access-context-manager/organization não tiver sido definida, substitua ORG_ID na sinalização opcional --organization pelo ID da organização usado ao criar o papel GcpAccessAdmin.
  • POLICY_ID é o ID da política de acesso da organização.
  • DRY_RUN_ACCESS_LEVEL é o ACCESS_LEVEL de que você quer entender o efeito. ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores de POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados no Access Context Manager de quando você criou o nível de acesso.

API

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • ORG_ID é o ID da organização que você usou ao criar o papel GcpAccessAdmin.
  • GROUP_ID é o ID do grupo de usuários criado anteriormente.

    Se você não tiver o ID do grupo disponível, recupere-o chamando o método get no recurso Groups.

  • POLICY_ID é o ID da política de acesso da organização.
  • DRY_RUN_ACCESS_LEVEL é o ACCESS_LEVEL de que você quer entender o efeito. ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores de POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados no Access Context Manager de quando você criou o nível de acesso.

Método HTTP e URL:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

Corpo JSON da solicitação:

{
  "groupKey": "GROUP_ID",
  "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
}

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

PowerShell

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:


{
  "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
  "groupKey": "045jfvxd0ybeul8",

  "dryRunAccessLevels": [
    "accessPolicies/305009197125/accessLevels/another"
  ]
}

Criar uma vinculação de acesso com um nível de acesso e um nível de acesso de simulação

gcloud

    gcloud access-context-manager cloud-bindings create \
    --group-key = GROUP_ID \
    --level = ACCESS_LEVEL \
    --dry-run-level = DRY_RUN_ACCESS_LEVEL \
    --organization ORG_ID

Em que:

  • GROUP_ID é o ID do grupo de usuários criado anteriormente.

    Se você não tiver o ID do grupo disponível, recupere-o chamando o método get no recurso Groups.

  • ORG_ID é o ID da organização que você usou ao criar o papel GcpAccessAdmin. Se a propriedade access-context-manager/organization não tiver sido definida, substitua ORG_ID na sinalização opcional --organization pelo ID da organização usado ao criar o papel GcpAccessAdmin.
  • POLICY_ID é o ID da política de acesso da organização.
  • ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores de POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados no Access Context Manager de quando você criou o nível de acesso.
  • DRY_RUN_ACCESS_LEVEL é o ACCESS_LEVEL de que você quer entender o efeito. ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores de POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados no Access Context Manager de quando você criou o nível de acesso.

API

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • ORG_ID é o ID da organização que você usou ao criar o papel GcpAccessAdmin.
  • GROUP_ID é o ID do grupo de usuários criado anteriormente.

    Se você não tiver o ID do grupo disponível, recupere-o chamando o método get no recurso Groups.

  • POLICY_ID é o ID da política de acesso da organização.
  • ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores de POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados no Access Context Manager de quando você criou o nível de acesso.
  • DRY_RUN_ACCESS_LEVEL é o ACCESS_LEVEL de que você quer entender o efeito. ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores de POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados no Access Context Manager de quando você criou o nível de acesso.

Método HTTP e URL:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

Corpo JSON da solicitação:

{
  "groupKey": "GROUP_ID",
  "accessLevels": [ "ACCESS_LEVEL" ],
  "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
}

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

PowerShell

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

Você 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"
  ]
}

Acessar os registros de negação

Depois de criar uma configuração de simulação, revise os registros para identificar onde a configuração de simulação nega acesso.

A tabela a seguir lista os campos de registro que podem ser usados para criar e executar a consulta e receber os registros:

Nome do campo Descrição
protoPayload > authenticationInfo > principalEmail ID do e-mail do principal com acesso negado.
protoPayload > metadata > deniedApplications Nome do aplicativo em que o acesso foi negado.
protoPayload > metadata > evaluationResult O resultado da avaliação da política de acesso ativa. Valores possíveis: GRANTED ou DENIED.
protoPayload > metadata > appliedAccessLevels Os níveis de acesso aplicados exigidos pela política de acesso ativa.
protoPayload > metadata > appliedDryRunAccessLevels Os níveis de acesso aplicados exigidos pela política de acesso de simulação.
protoPayload > metadata > dryRunEvaluationResult O resultado da avaliação da política de acesso de simulação, que indica a ação pretendida quando a política de acesso é aplicada. Valores possíveis: GRANTED ou DENIED.

Para detalhes sobre como criar consultas para registros, acesse Linguagem de consulta do Logging.

Console

  1. No menu de navegação do console do Google Cloud, clique em Logging e em Explorador de registros.

    Acessar o Explorador de registros

  2. No campo Consulta, insira um filtro como o seguinte e clique em Executar consulta.

    severity="ERROR" AND
    (protoPayload.metadata.evaluationResult=DENIED OR protoPayload.metadata.dryRunEvaluationResult=DENIED) AND
     protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.ContextAwareAccessAuditMetadata" AND
     protoPayload.metadata.deniedApplications.name="CLOUD_PLATFORM"
    
  3. Veja os registros em Resultados da consulta.

gcloud

Para ver registros usando a CLI gcloud, execute um comando como este:

gcloud logging read 'severity="ERROR" AND
  (protoPayload.metadata.evaluationResult=DENIED OR protoPayload.metadata.dryRunEvaluationResult=DENIED) AND
   protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.ContextAwareAccessAuditMetadata" AND
   protoPayload.metadata.deniedApplications.name="CLOUD_PLATFORM"'

Gerenciar vinculações de acesso

Após a criação das vinculações de acesso 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.

É possível visualizar os detalhes da vinculação de acesso que você criou, editá-la ou excluí-la.

Conferir vinculações de acesso

Console

É possível visualizar todas as vinculações de acesso da organização e visualizar os detalhes de uma vinculação de acesso.

gcloud

  • Para visualizar todas as vinculações de acesso, execute o seguinte comando:

      gcloud access-context-manager cloud-bindings list \
       --organization ORG_ID
    

    Em que:

    ORG_ID é o ID da organização que você usou ao criar o papel GcpAccessAdmin. . Se a propriedade access-context-manager/organization não tiver sido definida, substitua ORG_ID na sinalização opcional --organization pelo ID da organização usado ao criar o papel GcpAccessAdmin.

  • Para ver os detalhes de uma vinculação de acesso, execute o seguinte comando:

      gcloud access-context-manager cloud-bindings describe \
      --binding=BINDING_ID
    

    Em que:

    BINDING_ID é o ID da vinculação de acesso ou o identificador totalmente qualificado para ela.

API

  • Confira todas as vinculações de acesso:

    Antes de usar os dados da solicitação, faça as substituições a seguir:

    • ORG_ID é o ID da organização que você usou ao criar o papel GcpAccessAdmin. Se a propriedade access-context-manager/organization não tiver sido definida, substitua ORG_ID na sinalização opcional --organization pelo ID da organização usado ao criar o papel GcpAccessAdmin.

    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 Content

    Você receberá uma resposta JSON semelhante a esta:

    
    {
      "name": string,
      "groupKey": string,
      "accessLevels": [
        string
      ]
      "dryRunAccessLevels": [
      string
      ]
    }
    
    

  • Veja 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 Content

    Você 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 vinculações de acesso

Console

É possível atualizar uma vinculação de acesso conforme necessário.

gcloud

  • Para atualizar uma vinculação de acesso, por exemplo, para alterar o nível de acesso, execute o seguinte comando:

      gcloud access-context-manager cloud-bindings update \
         --binding ACCESS_BINDING \
         --level ACCESS_LEVEL
    

    Em que:

    • ACCESS_BINDING está no formato organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME.
    • ORG_ID é o ID da organização que você usou ao criar o papel GcpAccessAdmin.
    • ACCESS_BINDING_NAME é a string exclusiva retornada para o identificador name quando a vinculação de acesso foi criada.
    • Substitua o valor de ACCESS_LEVEL conforme necessário. ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores de POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados no Access Context Manager de quando você criou o nível de acesso.
  • Para atualizar uma vinculação de acesso com um nível de acesso de simulação, execute o seguinte comando:

     gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING
      --dry-run-level=DRY_RUN_ACCESS_LEVEL
    

    Substitua o valor de DRY_RUN_ACCESS_LEVEL conforme necessário. Ele está no formato accessPolicies/POLICY_ID/accessLevels/DRY_ACCESS_LEVEL_NAME.

  • Para atualizar uma vinculação de acesso e alterar o nível de acesso e o nível de acesso de simulação, execute o seguinte comando:

     gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING
     --level=`ACCESS_LEVEL`
     --dry-run-level=DRY_RUN_ACCESS_LEVEL
    

    Substitua o valor de ACCESS_LEVEL e DRY_RUN_ACCESS_LEVEL conforme necessário. ACCESS_LEVEL e DRY_RUN_ACCESS_LEVEL estão no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME, e DRY_RUN_ACCESS_LEVEL é o mesmo que ACCESS_LEVEL.

  • Para remover um nível de acesso de simulação de uma vinculação de acesso, execute o seguinte comando:

      gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING
      --dry-run-level=
    

API

  • Atualize uma vinculação de acesso, como para alterar o nível de acesso:

    Antes de usar os dados da solicitação, faça as substituições a seguir:

    • ACCESS_BINDING_NAME é a string exclusiva retornada para o identificador name quando a vinculação de acesso foi criada.
    • ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores de POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados no Access Context Manager de quando você criou o nível de acesso.

    Método HTTP e URL:

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels

    Corpo JSON da solicitação:

    {
        "accessLevels": [ "ACCESS_LEVEL" ]
    }
    
    

    Para enviar a solicitação, escolha uma destas opções:

    curl

    Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels"

    PowerShell

    Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels" | Select-Object -Expand Content

    Você receberá uma resposta JSON semelhante a esta:

    
    {
        "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
        "groupKey": "045jfvxd0ybeul8",
        "accessLevels": [
          "accessPolicies/305009197125/accessLevels/device_lock"
        ]
    }
    
    

  • Atualize uma vinculação de acesso com o nível de acesso de simulação:

    Antes de usar os dados da solicitação, faça as substituições a seguir:

    • ACCESS_BINDING_NAME é a string exclusiva retornada para o identificador name quando a vinculação de acesso foi criada.
    • DRY_RUN_ACCESS_LEVEL é o ACCESS_LEVEL de que você quer entender o efeito. ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores de POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados no Access Context Manager de quando você criou o nível de acesso.

    Método HTTP e URL:

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels

    Corpo JSON da solicitação:

    {
      "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
    }
    
    

    Para enviar a solicitação, escolha uma destas opções:

    curl

    Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels"

    PowerShell

    Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels" | Select-Object -Expand Content

    Você receberá uma resposta JSON semelhante a esta:

    
    {
      name: "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
    
      group_key: "045jfvxd0ybeul8",
    
      dry_run_access_levels: [ "accessPolicies/305009197125/accessLevels/another" ]
      }
    
    

  • Atualize uma vinculação de acesso e altere o nível de acesso e o nível de acesso de simulação:

    Antes de usar os dados da solicitação, faça as substituições a seguir:

    • ACCESS_BINDING_NAME é a string exclusiva retornada para o identificador name quando a vinculação de acesso foi criada.
    • ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores de POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados no Access Context Manager de quando você criou o nível de acesso.
    • DRY_RUN_ACCESS_LEVEL é o ACCESS_LEVEL de que você quer entender o efeito. ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores de POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados no Access Context Manager de quando você criou o nível de acesso.

    Método HTTP e URL:

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels

    Corpo JSON da solicitação:

    {
      "accessLevels": [ "ACCESS_LEVEL" ],
      "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
     }
    
    

    Para enviar a solicitação, escolha uma destas opções:

    curl

    Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels"

    PowerShell

    Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels" | Select-Object -Expand Content

    Você 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"
      ]
    }
    
    

  • Remova um nível de acesso de simulação de uma vinculação de acesso:

    Antes de usar os dados da solicitação, faça as substituições a seguir:

    • ACCESS_BINDING_NAME é a string exclusiva retornada para o identificador name quando a vinculação de acesso foi criada.

    Método HTTP e URL:

    PATCH PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels

    Corpo JSON da solicitação:

    {
      "dryRunAccessLevels": [ ]
    }
    
    

    Para enviar a solicitação, escolha uma destas opções:

    curl

    Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels"

    PowerShell

    Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels" | Select-Object -Expand Content

    Você receberá um código de status de êxito (2xx) e uma resposta vazia.

Excluir vinculações de acesso

Console

É possível excluir uma vinculação de acesso sempre que necessário.

gcloud

   gcloud access-context-manager cloud-bindings delete \
       --binding ACCESS_BINDING

Em que:

  • ACCESS_BINDING está no formato organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME.
  • ACCESS_BINDING_NAME é a string exclusiva retornada para o identificador name quando a vinculação de acesso foi criada.

API

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • ACCESS_BINDING_NAME é a string exclusiva retornada para o identificador name 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 de êxito (2xx) e uma resposta vazia.

Perguntas frequentes

  • Quanto tempo leva para uma vinculação de acesso recém-criada entrar em vigor?

    Isso pode levar até 24 horas.

  • O que acontecerá se eu excluir um grupo com uma vinculação de acesso?

    O grupo e a vinculação são excluídos, e todos os usuários do grupo terão acesso permitido.

  • O que vai acontecer se eu excluir o nível de acesso usado em uma vinculação?

    O nível de acesso não poderá ser atendido, e todos os usuários do grupo vinculado serão negados.

  • O que acontece quando um usuário está em vários grupos que têm vinculações de acesso?

    O usuário só precisa atender ao nível de acesso de um desses grupos para conseguir acesso.

  • E os usuários que não fazem parte da minha organização?

    Qualquer pessoa que não faça parte da sua organização, mesmo que você as tenha adicionado ao grupo de usuários que precisa estar vinculado pelas restrições baseadas no contexto, não está sujeita à vinculação de acesso.

A seguir