Padrões e práticas para governança de identidade e acesso no Google Cloud

Last reviewed 2022-09-27 UTC

Há vários produtos e serviços do Google Cloud que podem ser usados para ajudar sua organização a desenvolver uma abordagem para a governança de identidade e o gerenciamento de acesso para aplicativos e cargas de trabalho em execução no Google Cloud. Este documento destina-se a administradores de segurança, gerentes de operações e arquitetos corporativos que trabalham em equipes de clientes e querem aprender sobre essas ferramentas e controles e como usá-los.

Este guia pressupõe que você já tem:

  • um projeto do Google Cloud.
  • Uma conta de usuário com acesso administrativo para gerenciar grupos e usuários do Cloud Identity. Esse acesso é necessário para executar os procedimentos de exemplo neste documento.
  • Uma conta de usuário sem acesso administrativo para gerenciar grupos e usuários do Cloud Identity. Você precisa dela para testar alguns dos controles que você define nos procedimentos de exemplo deste documento.

    Se você ainda não tiver acesso a um projeto do Google Cloud e acesso administrativo ao Cloud Identity, consulte Como criar um projeto do Google Cloud e Como configurar o Cloud Identity.

Como descobrir contas e permissões não utilizadas

É uma prática recomendada remover contas de usuário quando elas não são mais necessárias, já que contas de usuário e contas de serviço não utilizadas (órfãs) podem representar um risco de segurança. É possível usar o Google Policy Intelligence das seguintes maneiras para ajudar sua empresa a entender e reduzir o risco:

  • Ajudar os administradores na sua empresa a detectar contas e permissões que não estão mais sendo usadas por motivos como um funcionário saiu da empresa ou alterou os papéis.
  • Ajudar a identificar contas de serviço que foram abandonadas após a conclusão das tarefas.

Ver e aplicar recomendações do IAM

O recomendador do IAM faz parte do pacote de ferramentas e serviços do Policy Intelligence. Ele usa aprendizado de máquina (ML, na sigla em inglês) para fazer recomendações inteligentes de controle de acesso para ajudar a identificar contas que não precisam mais acessar os recursos do Google Cloud. Você pode analisar as recomendações e decidir se irá aplicá-las ou não. O recomendador do IAM também ajuda a manter o princípio de privilégio mínimo em todos os membros da organização. Além de fornecer recomendações, o serviço Recomendador usa ML para fornecer insights detalhados. Os insights são descobertas que destacam padrões notáveis no uso de recursos. Por exemplo, é possível coletar informações adicionais sobre o uso de permissões no seu projeto, identificar permissões que não estão sendo usadas e que não são mais necessárias e identificar contas de serviço não usadas.

É possível visualizar e aplicar recomendações do IAM no console do Google Cloud em uma escala de nível empresarial. No procedimento de exemplo a seguir, você usa o BigQuery para revisar e dimensionar as permissões de acesso na sua organização. Para configurar a integração do BigQuery, configure uma exportação de recomendações feitas pelo recomendador do IAM para um conjunto de dados do BigQuery. Esses dados podem ser consultados e revisados usando ferramentas de visualização como o Looker Studio e o Looker.

Implementação

  1. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

  2. O BigQuery é ativado automaticamente em novos projetos. Para ativar o BigQuery em um projeto que já existe, ative a API BigQuery.

    Ative a API

  3. Configure o serviço de transferência de dados do BigQuery para extrair dados do recomendador do IAM. Para saber mais, consulte Como exportar recomendações para o BigQuery.

  4. Acesse a página do BigQuery.

    Ir para o BigQuery

  5. Copie e cole a seguinte consulta no campo Editor.

    SELECT
       recommendation_details
    FROM PROJECT_ID.DATASET.TABLE_NAME
    WHERE recommender = "google.iam.policy.Recommender"
    AND recommender_subtype = "REMOVE_ROLE"
    

    Substitua:

    • PROJECT_ID: o ID do projeto do Google Cloud que você está usando para executar este exemplo.
    • DATASET: o nome do conjunto de dados que você selecionou ao configurar o job do serviço de transferência de dados do BigQuery.
    • TABLE_NAME: o nome da tabela criada pelo job do serviço de transferência de dados do BigQuery.

    Execute essa consulta para identificar o subtipo recommender_subtype das recomendações do recomendador do IAM REMOVE_ROLE.

  6. Clique em Executar. Use o resultado da consulta para identificar os papéis não utilizados e dimensionar as vinculações de papel do IAM.

    É possível salvar os resultados da consulta nas Planilhas. Para saber mais, consulte Como salvar resultados de consulta nas Planilhas.

Como oferecer aos usuários a capacidade de solicitar acesso a recursos

Os administradores corporativos precisam permitir que os usuários solicitem acesso a recursos. Normalmente, essas solicitações passam por um processo de aprovação em que um aprovador designado ou um grupo de aprovadores precisam aprovar a solicitação antes de conceder o acesso. Os Grupos do Google permitem aplicar uma política de acesso a uma coleção de usuários, permitindo que você siga a prática recomendada de gerenciamento de políticas para fornecer acesso aos recursos com base na associação ao grupo. Essa abordagem mantém políticas relevantes como participar, movimentar-se e deixar eventos que ocorrem por meio de alterações de associação a grupos.

É possível conceder e alterar controles de acesso a um grupo inteiro com o Grupos do Google, em vez de conceder ou alterar controles de acesso a cada usuário ou conta de serviço individualmente. Também é possível adicionar e remover membros de um Grupo do Google com facilidade, em vez de atualizar uma política do IAM para adicionar ou remover usuários.

Configurar o acesso a recursos usando o Grupos do Google

É possível criar e gerenciar um Grupo do Google usando o Cloud Identity. O Cloud Identity é uma solução de identidade como serviço (IDaaS, na sigla em inglês) que gerencia usuários e grupos. Também é possível configurar o Cloud Identity para federar identidades entre o Google e outros provedores de identidade, como o Active Directory e o Azure Active Directory. Os Grupos do Google também permitem que um usuário solicite associar-se a um grupo. Essa solicitação é encaminhada aos administradores do grupo que podem aprovar ou recusar essa solicitação. Para saber mais, consulte Criar um grupo e escolher as configurações dele.

Ao criar e gerenciar um Grupo do Google para conceder acesso aos recursos do Google Cloud, considere as implicações das configurações selecionadas. Recomendamos que você minimize o número de usuários que podem gerenciar o grupo, mas configure mais de um administrador para que sempre tenha acesso ao grupo. Também recomendamos que você restrinja a associação a grupos aos usuários da sua organização.

Implementação

Neste procedimento de exemplo, você cria um grupo do Google e concede acesso ao grupo de leitores em uma amostra de projeto do Google Cloud. Os membros adicionados a esse grupo (ou aos quais você concede acesso mediante solicitação) podem visualizar a amostra de projeto do Google Cloud.

Criar um grupo do Google de amostra

Nas etapas a seguir, presume-se que você tenha configurado o Cloud Identity. Para saber mais, consulte Como configurar o Cloud Identity. Verifique se você tem as permissões necessárias para gerenciar grupos.

  1. No console do Google Cloud, abra a página Grupos.

    Acessar o Grupos do Google

  2. Clique em Criar.

  3. Preencha os detalhes do grupo.

    Para adicionar membros ao grupo, clique em Adicionar membro, insira o endereço de e-mail e escolha qual será o papel dos Grupos do Google.

    Quando terminar, clique em Enviar para criar o grupo.

    As configurações do grupo só podem ser gerenciadas nos Grupos do Google. Clique em Gerenciar este grupo nos Grupos do Google para definir as configurações do grupo. Para selecionar quem pode participar do grupo, no menu Quem pode participar do grupo, selecione Somente usuários da organização.

  4. Clique em Criar grupo.

Conceder ao grupo acesso a um projeto do Google Cloud

  1. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
  2. Abra o Cloud Shell:

    Acessar o Cloud Shell

  3. Execute o seguinte comando para conceder ao leitor do grupo acesso ao projeto:

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=group:GROUP_EMAIL --role=roles/viewer
    

    Substitua:

    • GROUP_EMAIL: o endereço de e-mail do grupo que você criou
    • PROJECT_ID: o ID do seu projeto do Google Cloud;

Testar o processo de solicitação de acesso de usuários na sua organização

No procedimento a seguir, você usa uma conta de usuário de teste para demonstrar as etapas que os usuários na sua organização usam para solicitar acesso a um grupo do Google.

  1. Faça login no Grupos do Google como um usuário não administrativo. O grupo que você criou em Criar um Grupo do Google de amostra é exibido em Todos os grupos. Se o grupo não aparecer, use a pesquisa para encontrá-lo.
  2. Para solicitar acesso ao grupo, clique em Pedir para participar.

    Depois que o acesso é concedido, a conta de usuário não administrativo que você usou para fazer a solicitação poderá visualizar o projeto PROJECT_ID do Google Cloud a que o grupo tem acesso de leitor.

Como conceder acesso por tempo limitado aos recursos do Google Cloud

Pode haver situações em que os usuários da sua empresa precisam de acesso temporário de curto prazo aos recursos do Google Cloud. O acesso de curto prazo é útil quando os desenvolvedores precisam de acesso temporário aos recursos do Google Cloud para executar determinadas tarefas. O acesso de curto prazo também oferece as seguintes vantagens:

  • Redução da sobrecarga administrativa.
  • Garantia de que o princípio de privilégio mínimo e o acesso em tempo hábil seja seguido.

Esse tipo de acesso é útil para os administradores quando os usuários precisam acessar recursos em situações de emergência que exigem intervenção rápida e direta. No entanto, pode ser difícil monitorar manualmente as permissões de acesso de curto prazo e garantir que elas sejam removidas em tempo hábil. As políticas de acesso condicional do Identity and Access Management (IAM, na sigla em inglês) permitem que você defina acesso temporário (que expira) aos recursos do Google Cloud usando vinculações de papel condicionais, o que ajuda a reduzir essa sobrecarga para os administradores.

Usar vinculações de papel condicionais e expiração da associação a grupos

É possível adicionar vinculações de papéis condicionais a políticas novas ou existentes do IAM para controlar ainda mais o acesso aos recursos do Google Cloud. Veja abaixo alguns exemplos de quando é possível usar vinculações condicionais de papel para conceder acesso temporário a um usuário ou grupo:

  • Acesso a um projeto que expira após um tempo especificado.
  • Acesso a um projeto que se repete todos os meses ou trimestres.
  • Acesso a instâncias do Compute Engine para administrar tarefas, como a interrupção de instâncias.

Quando você usa o Grupos do Google para conceder aos usuários acesso aos recursos do Google Cloud, é possível usar o recurso de expiração da associação a grupos para definir a expiração de associação a grupos usando a API Cloud Identity Groups. Quando o tempo especificado tiver expirado, os usuários serão removidos do grupo automaticamente.

implementação;

É possível usar uma vinculação condicional de papel para conceder aos desenvolvedores acesso temporário para administrar uma instância específica do Compute Engine. Neste exemplo, a vinculação de papel está configurada para expirar em 31 de dezembro de 2021.

  1. No Cloud Shell, defina as seguintes variáveis:

    export INSTANCE=create example-instance-1
    export ZONE=us-west1-b
    export USER=USER_ID_TO_GIVE_TEMPORARY_ACCESS_TO
    

    Substitua USER_ID_TO_GIVE_TEMPORARY_ACCESS_TO pelo nome de usuário do usuário na organização a que você quer conceder acesso temporário.

  2. Crie uma instância de amostra do Compute Engine:

    gcloud compute instances create $INSTANCE \
        --zone $ZONE \
        --machine-type g1-small
    

    Conceda acesso temporário a essa instância a um usuário na organização nas etapas a seguir.

  3. Forneça ao usuário que você selecionou o acesso temporário:

    gcloud compute instances add-iam-policy-binding $INSTANCE \
        --zone=$ZONE \
        --member="user:$USER" \
        --role='roles/compute.instanceAdmin.v1' \
        --condition='expression=request.time < timestamp("2022-01-01T00:00:00Z"),title=expires_end_of_2021,description=Expires at midnight on 2021-12-31'
    
  4. Mantenha a instância do Compute Engine criada. Ela será usada posteriormente neste documento em Como gerenciar o acesso privilegiado.

    Como alternativa, exclua a instância example-instance-1 executando o seguinte comando:

    gcloud compute instances delete $INSTANCE
    

Se você precisar analisar os eventos de ciclo de vida do IAM, como alterações de políticas, criação de contas de serviço e atribuições de conta de serviço para auditoria, os registros de auditoria do Cloud podem ajudar. Os administradores podem usar os registros de auditoria do Cloud para analisar dados históricos de análise forense e comum. A análise de registros de auditoria pode ajudar você a entender os padrões de acesso e as anomalias. A análise do registro de auditoria também pode ser importante para os seguintes cenários:

  • Analisar permissões e acesso a recursos durante uma violação de dados.
  • Analisar problemas de produção causados por uma alteração na política do IAM, especialmente se você quiser verificar qual usuário ou processo fez a alteração.

Os registros de auditoria do Cloud armazenam informações sobre as ações dos usuários, onde a atividade ocorreu e quando. Os registros de auditoria são classificados da seguinte maneira:

Recomendamos que você use os seguintes registros de auditoria para registro administrativo de identidade e acesso:

  • Registros de auditoria de atividade do administrador
  • Registros de auditoria de política negada

Os registros de auditoria de atividade do administrador armazenam as alterações feitas nos recursos do Google Cloud, como projetos, instâncias do Compute Engine e contas de serviço. Veja a seguir exemplos de eventos que os registros de auditoria de atividade do administrador armazenam:

  • Criação de uma conta de serviço.
  • Alteração em uma política do IAM.
  • Download de uma chave de conta de serviço.

Os registros de auditoria de política negada são gravados quando um usuário ou uma conta de serviço tem acesso negado a um serviço do Google Cloud devido a uma violação da política de segurança.

Configurar os registros de auditoria do Cloud para eventos de ciclo de vida da identidade

É possível ver os registros de auditoria no Console do Google Cloud ou consultá-los usando a API Cloud Logging ou a interface de linha de comando.

Todos os registros de auditoria têm um período de armazenamento. Se sua empresa precisa armazenar registros de auditoria por mais tempo que o período de armazenamento padrão, é necessário exportar os registros para o BigQuery ou outros destinos de coletor criando um coletor de registros. A exportação de registros para o BigQuery permite visualizar um subconjunto de colunas de dados e dados selecionados (ao longo do tempo ou outras dimensões) e fazer a análise agregada.

Implementação

No procedimento de exemplo a seguir, mostramos como consultar registros de projeto do Google Cloud para verificar se ocorreu algum dos seguintes eventos:

  • Alterações na política do IAM.
  • Criação de novas contas de serviço.
  • Geração de novas chaves da conta de serviço.

Visualizar alterações nas políticas do IAM

  1. No Console do Cloud Google, acesse a página Logging > Explorador de registros.
  2. Na página Navegador de registros, selecione um projeto do Google Cloud.
  3. Cole a seguinte consulta no Criador de consultas:

    logName="projects/<PROJECT>/logs/cloudaudit.googleapis.com%2Factivity" AND
    (resource.type="project" OR resource.type="service_account") AND
    resource.labels.project_id="<PROJECT>" AND
    (protoPayload.methodName="SetIamPolicy" OR
    protoPayload.methodName="google.iam.admin.v1.CreateServiceAccount"
    OR
    protoPayload.methodName="google.iam.admin.v1.CreateServiceAccountKey")
    

    Substitua PROJECT pelo ID do projeto do Google Cloud.

  4. Clique em Executar consulta.

Visualizar alterações na associação a grupos

As alterações na associação ao Grupo do Google são rastreadas nos registros de atividades. Para saber como acessar esses registros, consulte Como visualizar registros de alteração de membros do grupo.

Certificação de acesso

O Policy Analyzer pode ser usado para ajudar sua empresa a verificar se os usuários têm os direitos de acesso apropriados aos recursos do Google Cloud de maneira configurada ou periódica. Essa verificação é importante para fins de conformidade e auditoria. Também é útil para a equipe de segurança e auditores analisar quais usuários têm acesso a quais recursos e em que capacidade. O Policy Analyzer ajuda a identificar quais identidades ou principais (usuários, contas de serviço, grupos e domínios) têm acesso a quais recursos do Google Cloud na hierarquia de recursos da sua organização. Também ajuda a identificar o tipo de acesso. Veja a seguir alguns exemplos de perguntas que o Policy Analyzer pode ajudar a responder:

  • Quais usuários podem acessar uma conta de serviço?
  • Quais usuários podem ler dados em um conjunto de dados do BigQuery que contém informações de identificação pessoal (PII, na sigla em inglês)?

A ferramenta Análise de políticas pode ser usado com os seguintes métodos:

Usar o Policy Analyzer para verificar o acesso dos usuários

Os exemplos de consultas a seguir mostram os tipos de insights que você pode ganhar com o acesso de usuário com o Policy Analyzer:

  • Quais papéis ou permissões de um usuário ou principal (usuário, conta de serviço, grupo e domínio). Por exemplo, como verificar qual o tipo de acesso de um ex-funcionário no projeto de produção.
  • A quais recursos um usuário tem acesso; por exemplo, o acesso de um ex-funcionário aos recursos do projeto de produção.
  • Quais principais têm um determinado nível de acesso a um recurso; por exemplo, quais buckets um usuário específico pode excluir em um projeto.

implementação;

No exemplo de procedimento a seguir, você usa o Policy Analyzer para verificar as permissões de um usuário.

  1. No Cloud Shell, ative a API Cloud Asset para o projeto:

    Ative a API

  2. Digite o seguinte comando para descobrir quais recursos um usuário pode acessar:

    gcloud asset analyze-iam-policy --organization="YOUR_ORG_ID" \
        --identity="user:USERNAME_TO_CERTIFY"
    

    Faça as seguintes substituições:

    • YOUR_ORG_ID: o ID da organização do Google Cloud
    • USERNAME_TO_CERTIFY: o nome de usuário do usuário com as permissões de acesso do Google Cloud que você quer verificar.
  3. Extraia os dados da política do IAM para o BigQuery. Para saber mais, consulte Como gravar análises de política no BigQuery.

Como gerenciar o acesso privilegiado

Alguns usuários da sua organização podem precisar de acesso privilegiado a determinados recursos do Google Cloud para realizar tarefas administrativas. Por exemplo, esses usuários podem precisar gerenciar projetos específicos do Google Cloud, configurar o faturamento e orçamentos de projetos ou administrar instâncias do Compute Engine.

Em vez de conceder permanentemente aos usuários acesso privilegiado aos recursos, é possível permitir que os usuários solicitem acesso privilegiado just-in-time. O uso do gerenciamento de acesso privilegiado just-in-time pode ajudar você a fazer o seguinte:

  • Reduzir o risco de alguém modificar ou excluir recursos acidentalmente. Por exemplo, quando os usuários têm acesso privilegiado apenas quando necessário, isso ajuda a impedir que eles executem scripts em outros momentos que afetam acidentalmente os recursos que eles não poderiam alterar.
  • Criar uma trilha de auditoria que indique por que os privilégios foram ativados
  • Fazer auditorias e análises para analisar atividades anteriores

Também é possível conceder acesso privilegiado a uma conta de serviço e permitir que os usuários personifiquem a conta de serviço.

Conceder acesso privilegiado aos usuários

De modo geral, o gerenciamento de acesso privilegiado a usuários corporativos no Google Cloud pode ser resumido da seguinte maneira:

  • Permitir que os usuários da empresa solicitem acesso privilegiado.
  • Averiguação dos registros de auditoria do Cloud para analisar solicitações de acesso privilegiado e padrões de acesso. Os administradores podem analisar padrões de acesso privilegiado e detectar anomalias usando esses registros. Recomendamos que as empresas considerem exportar esses registros para manter conforme necessário e apropriado para fins de auditoria.
  • Garantir que o acesso privilegiado expire automaticamente ou seja analisado periodicamente.

Ative a verificação em duas etapas, também chamada de autenticação multifator, para todos os usuários que têm acesso privilegiado aos recursos. Os administradores também podem criar um controle de acesso refinado com base em atributos usando o Access Context Manager, que aplica uma camada extra de segurança quando o acesso privilegiado é usado. Por exemplo, você pode ter um nível de acesso que especifica que os usuários precisam estar na rede corporativa ao usar acesso privilegiado a recursos.

Implementação

Neste procedimento de exemplo, você (como administrador) cria um grupo do Google para acesso privilegiado a instâncias do Compute Engine. Você cria uma conta de serviço no Google Cloud, que recebe acesso para administrar instâncias do Compute Engine. Associe o grupo à conta de serviço para que os membros do grupo possam personificar a conta de serviço pelo período em que receberam uma associação ao grupo privilegiado.

Criar um Grupo do Google para acesso privilegiado

  1. Como administrador do Google Cloud, selecione ou crie um projeto do Google Cloud.

    Acesse "Gerenciar recursos"

  2. Ative o faturamento no projeto. Ativar faturamento

  3. Siga as etapas em Permitir que os usuários solicitem acesso a recursos para criar um novo Grupo do Google.

    Nomeie o grupo desta forma: elevated-compute-access

Criar uma conta de serviço do Google Cloud.

  1. No Cloud Shell, ative a API Service Account Credentials do IAM para o projeto que você criou em Criar um grupo do Google para acesso privilegiado.

    Ative as APIs

  2. Configure as variáveis a seguir:

    export PROJECT_ID=$DEVSHELL_PROJECT_ID
    export PRIV_SERVICE_ACCOUNT_NAME=elevated-compute-access
    export DELEGATE_GROUP=GROUP_EMAIL_ADDRESS
    

    Substitua GROUP_EMAIL_ADDRESS pelo nome completo do Grupo do Google que você criou.

  3. Crie a conta de serviço:

    gcloud IAMservice-accounts create $PRIV_SERVICE_ACCOUNT_NAME \
        --description="Elevated compute access" \
        --display-name="Elevated compute access"
    
  4. Atribua o papel de administrador de computação à conta de serviço:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member="serviceAccount:$PRIV_SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/compute.admin"
    
  5. Conceda ao grupo do Google que você criou o acesso de consumidor do Service Usage para seu projeto:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member="group:$DELEGATE_GROUP" \
        --role="roles/serviceusage.serviceUsageConsumer"
    

    Com essa permissão, os membros do grupo do Google podem personificar conta de serviço que você criou.

  6. Permita que o grupo do Google personifique a conta de serviço que você criou:

    gcloud IAMservice-accounts add-iam-policy-binding
    $PRIV_SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com --member="group
    :$DELEGATE_GROUP" --role="roles/iam.serviceAccountTokenCreator"
    
  7. Pule esta etapa se você criou e manteve uma instância de amostra do Compute Engine para o procedimento em Como conceder acesso por tempo limitado aos recursos do Google Cloud. Use a instância de amostra para executar as etapas deste exemplo.

    Como alternativa, use o comando abaixo para criar uma instância de amostra do Compute Engine:

    gcloud compute instances create example-instance-1 \
        --zone us-west1-b \
        --machine-type g1-small
    

    Use as instâncias deste exemplo para confirmar que os usuários que receberam associação ao grupo privilegiado podem acessar a instância.

Ativar registros de auditoria

Os administradores da sua empresa podem ativar os registros de auditoria do Cloud para garantir que o acesso privilegiado esteja registrado e disponível para revisão e análise. O procedimento nesta seção mostra como ativar o registro de auditoria.

  1. Receba as políticas atuais do IAM para o projeto:

    gcloud projects get-iam-policy $PROJECT_ID > /tmp/policy.yaml
    
  2. Modifique o arquivo de política para ativar os registros de acesso a dados da API Compute Engine:

    cat <<EOF >> /tmp/policy.yaml
    auditConfigs:
    - auditLogConfigs:
     - logType: ADMIN_READ
     - logType: DATA_READ
     - logType: DATA_WRITE
     service: compute.googleapis.com
    EOF
    
  3. Defina a nova política:

    gcloud projects set-iam-policy $PROJECT_ID /tmp/policy.yaml
    

Testar personificação com a conta de usuário não administrativo

É possível usar a conta de usuário não administrativo para testar a configuração solicitando associação ao grupo e personificando a conta de serviço depois que a associação for fornecida.

O procedimento nesta seção mostra como usuários corporativos podem solicitar acesso privilegiado aos recursos do Google Cloud. Neste procedimento de exemplo, os recursos do Google Cloud são as instâncias do Compute Engine para um projeto do Google Cloud. Para demonstrar como os usuários da sua organização podem personificar uma conta de serviço depois que eles recebem associação ao grupo, solicite associação a grupos do Google relevantes.

  1. Faça login em Grupos do Google com a conta de usuário não administrativo e solicite a associação ao grupo elevated-compute-access.
  2. Use a mesma conta para fazer login no Google Cloud. Você terá acesso ao grupo depois que um administrador aprovar a solicitação. Neste procedimento de exemplo, supõe-se que sua solicitação de associação ao grupo foi aprovada.

  3. No Cloud Shell, execute o seguinte comando para definir o projeto padrão:

    gcloud config set project PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto criado anteriormente na seção Criar um Grupo do Google para acesso privilegiado.

  4. Tente listar as instâncias do Compute Engine neste projeto:

    gcloud compute instances list
    

    Será exibida uma mensagem de erro informando que o usuário do Google Cloud não tem permissão para acessar os recursos do Compute Engine.

  5. Execute este comando:

    gcloud compute instances list
    --impersonate-service-account=elevated-compute-access@$PROJECT_ID.iam.gserviceaccount.com
    

    Esse comando lista as instâncias do Compute Engine no projeto personificando a conta de serviço para a qual você recebeu acesso quando recebeu a associação ao grupo elevated-compute-access do Google.

    Você verá a instância example-instance-1 do Compute Engine que você criou com sua conta de administrador.

Verificar registros de auditoria

Como administrador do Google Cloud, você pode acessar e analisar os registros de auditoria gerados.

  1. Faça login no Console do Google Cloud com uma conta de usuário que tenha privilégios administrativos para acessar os registros de auditoria.

  2. No Cloud Logging, digite a seguinte consulta para analisar os registros de acesso a dados:

    logName="projects/<PROJECT_ID>/logs/cloudaudit.googleapis.com%2Fdata_access"
    AND
    protoPayload.authenticationInfo.principalEmail="elevated-compute-access@PROJECT_ID.iam.gserviceaccount.com"
    

    Substitua PROJECT_ID pelo ID do projeto e execute a consulta.

    Essa consulta mostra qual usuário no grupo do Google personificou a conta de serviço para acessar a instância do Compute Engine. Ele também mostra outros detalhes relevantes, como a data em que a conta de serviço foi personificada e os detalhes dos cabeçalhos de solicitação.

  3. Revise o payload do registro de auditoria, especificamente o objeto protoPayload.authenticationInfo no payload. O nome de usuário do usuário que personificou a conta de serviço é registrado como o valor da chave principalEmail do objeto firstPartyPrincipal.

  4. Como administrador, você também pode analisar as descobertas de eventos no painel do Security Command Center. Para saber mais sobre o Security Command Center, consulte Como usar o Event Threat Detection.

A seguir