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 as APIs do Google Cloud usando as regras baseadas em contexto.

Acesso baseado no contexto para o console do Google Cloud e as APIs do Google Cloud restringe o acesso ao console do Google Cloud 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 na sua organização que atendem aos requisitos de acesso definidos possam acessar o console do Google Cloud e as APIs do Google Cloud, incluindo o acesso pela CLI do Google Cloud.

Para proteger o console do Google Cloud e as APIs do Google Cloud, conclua o 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 a serem vinculados por restrições com base no contexto.
  4. Receba as permissões necessárias de gerenciamento de identidade e acesso.
  5. Criar uma vinculação de acesso que aplique regras com base no contexto no console e nas APIs do Google Cloud.

[Opcional] Implantar a verificação de endpoints

Se você quiser proteger o acesso ao console do Google Cloud e as APIs do Google Cloud usando os atributos do dispositivo, implante a verificação de endpoint nos dispositivos da organização.

A Verificação de endpoints é executada como uma extensão do Chrome em computadores e laptops para os usuários do MacOS, Windows e Linux. Um o administrador pode implantar aos dispositivos da empresa no Google Admin Console ou os membros da organização podem fazer a instalação por conta própria.

Criar um nível de acesso

Defina um nível de acesso que possa ser usado ao determinar o acesso ao console do Google Cloud e às APIs do Google Cloud. Basta criar 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. Qualquer usuário deste que também sejam membros da organização precisam atender ao nível de acesso que você criou para acessar o console do Google Cloud e o 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 Save.

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 os usuários criados anteriormente e o nível de acesso do Access Context Manager que você 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 uma 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 Save.

gcloud

Consulte a Google Cloud CLI para mais informações sobre esse e outros 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 que criado anteriormente.

    Se você não tiver o ID do grupo disponível, poderá recuperá-lo 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 no --organization opcional pelo ID da organização que você usou ao criar o 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 para POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados em no Access Context Manager desde a criação do nível de acesso.

API

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 papel GcpAccessAdmin.
  • GROUP_ID é o ID do grupo de usuários que criado anteriormente.

    Se você não tiver o ID do grupo disponível, poderá recuperá-lo chame 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 para POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados em no Access Context Manager desde a criação do 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 e 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, criar uma vinculação de acesso com um nível de acesso de simulação.
  • 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 os registros as violações do nível de acesso de simulação. Para conferir 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 que criado anteriormente.

    Se você não tiver o ID do grupo disponível, poderá recuperá-lo chame 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 no --organization opcional pelo ID da organização que você usou ao criar o GcpAccessAdmin.
  • POLICY_ID é o ID da política de acesso da organização.
  • DRY_RUN_ACCESS_LEVEL é o ACCESS_LEVEL para o qual você quer entender o efeito. ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores para POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados em no Access Context Manager desde a criação do nível de acesso.

API

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 papel GcpAccessAdmin.
  • GROUP_ID é o ID do grupo de usuários que criado anteriormente.

    Se você não tiver o ID do grupo disponível, poderá recuperá-lo chame 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 para o qual você quer entender o efeito. ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores para POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados em no Access Context Manager desde a criação do 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 que criado anteriormente.

    Se você não tiver o ID do grupo disponível, poderá recuperá-lo 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 no --organization opcional pelo ID da organização que você usou ao criar o 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 para POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados em no Access Context Manager desde a criação do nível de acesso.
  • DRY_RUN_ACCESS_LEVEL é o ACCESS_LEVEL que você quer entender o efeito. ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores para POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados em no Access Context Manager desde a criação do nível de acesso.

API

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 papel GcpAccessAdmin.
  • GROUP_ID é o ID do grupo de usuários que criado anteriormente.

    Se você não tiver o ID do grupo disponível, poderá recuperá-lo chame 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 para POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados em no Access Context Manager desde a criação do nível de acesso.
  • DRY_RUN_ACCESS_LEVEL é o ACCESS_LEVEL que você quer entender o efeito. ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores para POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados em no Access Context Manager desde a criação do 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, é possível revisar os registros para identificar em que 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 o para 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 app que teve o acesso 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 ativo.
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, consulte 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 de consulta como o filtro a seguir 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

Depois que as vinculações de acesso forem criadas para um grupo de usuários, o acesso à O console do Google Cloud e as APIs do Google Cloud são controlados da satisfação do nível de acesso vinculado.

É possível ver 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 as 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 no --organization opcional pelo ID da organização que você usou ao criar o 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 do 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 papel GcpAccessAdmin. Se a propriedade access-context-manager/organization não tiver sido definida, substitua ORG_ID no --organization opcional pelo ID da organização que você usou ao criar o 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
      ]
    }
    
    

  • 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 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 para POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados em no Access Context Manager desde a criação do 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 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 por 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 é igual a ACCESS_LEVEL.

  • Para remover um nível de acesso de simulação de um 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 abaixo, 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 abaixo, 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 para o qual você quer entender o efeito. ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores para POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados em no Access Context Manager desde a criação do 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 mude o nível de acesso e o nível de acesso de simulação:

    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 identificador name quando a vinculação de acesso foi criada.
    • ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores para POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados em no Access Context Manager desde a criação do nível de acesso.
    • DRY_RUN_ACCESS_LEVEL é o ACCESS_LEVEL para o qual você quer entender o efeito. ACCESS_LEVEL está no formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. Os valores para POLICY_ID e ACCESS_LEVEL_NAME podem ser encontrados em no Access Context Manager desde a criação do 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 abaixo, 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 bem-sucedido (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 abaixo, 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 bem-sucedido (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 acontece se eu excluir o nível de acesso usado em uma vinculação de acesso?

    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