Como analisar políticas do IAM

Nesta página, mostramos como usar o Policy Analyzer para descobrir quais identidades, ou principais (usuários, contas de serviço, grupos e domínios), têm acesso a quais recursos do Google Cloud.

As perguntas mais comuns que o Policy Analyzer pode ajudar a responder são: "Quem pode acessar esta conta de serviço do IAM?" "Quem pode ler dados neste conjunto de dados do BigQuery que contêm informações de identificação pessoal (PII)?" ou "Quem pode acessar este bucket do Cloud Storage na data/hora X?"

Use o método AnalyzeIamPolicy para emitir uma solicitação de análise e, em seguida, receber os resultados na resposta. Os resultados da análise podem não estar completos, dependendo da quantidade de dados que precisam ser processados. Se quiser ver resultados completos, grave-os para uma análise mais detalhada ou armazene-os por conta própria. Use AnalyzeIamPolicyLongrunning para gravar no BigQuery ou no Cloud Storage.

Visão geral

O Policy Analyzer permite realizar administração de acesso, dar visibilidade de acesso e também pode ser usada para tarefas de auditoria e conformidade.

Especificamente:

  • O analisador de políticas é compatível com a herança e hierarquia de recursos e políticas. As políticas herdadas e a hierarquia de recursos abaixo do escopo de análise especificado serão consideradas ao analisar as políticas em vigor.
  • O Policy Analyzer é compatível com a expansão do grupo. Portanto, mesmo se um usuário estiver incluído em um grupo, ainda poderemos ajudar na identificação do acesso.
  • O Policy Analyzer oferece o papel para a expansão de permissão, o que permite mais flexibilidade nas consultas, porque é possível consultar por permissão e/ou papéis.
  • O Policy Analyzer é compatível com um conjunto limitado de expansão de recursos na hierarquia de recursos. Por exemplo, nos resultados da consulta, é possível expandir todas as instâncias de VM de um projeto ou todos os projetos em uma pasta.
  • O analisador de políticas é compatível com vinculações de papéis condicionais do IAM. No entanto, pode ser necessário mais contexto sobre a solicitação. Por exemplo, para analisar as condições com base em atributos de data/hora, o analisador de políticas exige o ponto de tempo na solicitação. Esse recurso é compatível apenas com as APIs e a ferramenta gcloud.
  • Ao analisar as políticas do IAM, o analisador de políticas é compatível com a análise de representação da conta de serviço, incluindo a representação "encadeada" em muitos níveis. O Policy Analyzer ajuda a analisar qualquer acesso indireto por meio de contas de serviço. Esse recurso só é compatível com as APIs e ferramenta gcloud.

Por exemplo, os seguintes casos de uso de análise são possíveis:

  • Como determinar quais principais podem acessar um recurso: encontre os principais que receberam acesso a um recurso especificado. Esse tipo de análise pode ser usado para responder a perguntas como estas:

    • "Quem tem acesso a esta conta de serviço do IAM?"
    • "Quem tem a permissão para esta conta de serviço do IAM?"
    • "Quem são os administradores de faturamento no projeto A?"
    • (Somente API e ferramenta gcloud): "Quem pode atualizar o projeto A personificando uma conta de serviço?"
  • Determinar quais principais têm determinados papéis ou permissões: encontre os principais que têm os papéis/permissões especificados em todos os recursos aplicáveis. Esse tipo de análise pode ser usado para responder a perguntas como estas:

    • "Quem tem permissão para personificar contas de serviço na minha organização?"
    • "Quem são os administradores de faturamento na minha organização?"
    • (Somente API e ferramenta gcloud): "Quem na minha organização pode ler um conjunto de dados do BigQuery ao personificar uma conta de serviço?"
  • Como determinar o acesso de um principal em um recurso: descubra qual acesso foi concedido em um recurso específico a um princípio especificado. Esse tipo de análise pode ser usado para responder a perguntas como estas:

    • "Que papéis e permissões o usuário Eva tem neste conjunto de dados do BigQuery?"
    • "Quais papéis e permissões o grupo dev-testers tem em qualquer recurso neste projeto?"
    • (Somente API e ferramenta gcloud): "Quais papéis e permissões o Ivy do usuário terá nesse conjunto de dados do BigQuery se ele representar uma conta de serviço?"
  • Como determinar quais recursos um principal pode acessar: encontre os recursos a que um principal recebeu acesso. Isso pode ser usado para responder a perguntas como:

    • "Quais conjuntos de dados do BigQuery o usuário Ela tem permissão para ler?"
    • "De quais conjuntos de dados do BigQuery é o grupo dev-testers de que o proprietário dos dados pertence?"
    • "Que VMs John pode excluir no projeto A?"
    • (Somente API e ferramenta gcloud): "Quais VMs o usuário pode excluir ao representar uma conta de serviço?"
  • Como determinar o acesso condicional: encontre recursos que um principal possa acessar para um determinado atributo de condição. Isso pode ser usado para responder a perguntas como:

    • (Somente API e ferramenta gcloud): "Quais principais têm permissões compute.instances.get ou compute.instances.start em uma determinada instância em um horário específico?"

Antes de começar

  • É necessário ativar a API Cloud Asset no seu projeto.

  • Se você estiver usando a API para executar essas consultas, precisará configurar o ambiente e gcurl.

    1. Configure o ambiente.

    2. Para configurar um alias do gcurl, conclua as seguintes etapas

      Se você estiver em uma instância do Compute Engine, execute o seguinte comando.

      alias gcurl='curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json" -X POST -H "X-HTTP-Method-Override: GET"'
      

      Se você não estiver em uma instância do Compute Engine, execute o seguinte comando.

      alias gcurl='curl -H "$(oauth2l header --json CREDENTIALS cloud-platform)" \
      -H "Content-Type: application/json" -X POST -H "X-HTTP-Method-Override: GET"'
      

      Em que CREDENTIALS é o caminho do arquivo de credenciais, como ~/credentials.json.

Permissões necessárias

As permissões a seguir são necessárias para executar uma análise de política.

Permissões no escopo

Para analisar uma política, você precisa das seguintes permissões do IAM no escopo que está sendo analisado:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllResources
  • cloudasset.assets.searchAllIamPolicies

Essas permissões estão incluídas nos seguintes papéis predefinidos:

  • Proprietário de recursos do Cloud (roles/cloudasset.owner)
  • Leitor de recursos do Cloud (roles/cloudasset.viewer)

Consulte Controle de acesso para mais informações sobre permissões e papéis da API Cloud Asset.

Permissões de papéis do IAM

Ao especificar uma pasta ou um projeto como o escopo na solicitação, se a análise encontrar todos os principais com um papel personalizado do IAM definido no nível da organização, você precisará da permissão iam.roles.get nesse papel para que a análise possa usar a definição dele em seu nome.

Permissões de assinaturas de grupos do Google Workspace

Se você selecionar quais diretores podem acessar um recurso, se optar por expandir os membros de um grupo, tentaremos expandir os grupos para membros com sua credencial de usuário final. Assim, você só poderá ver os membros dos grupos a que você tem permissão para ver a associação.

Ao criar uma consulta para determinar o tipo de acesso de um principal em um recurso ou a que recursos o primário tem acesso, você especifica um princípio. Tentaremos descobrir de quais grupos, direta ou indiretamente, a identidade especificada é membro. A credencial do usuário final é usada. Você só poderá ver os grupos para os quais tem permissão para ver a associação.

Para ver as assinaturas, o principal precisa receber a permissão groups.read. Os papéis que contêm essa permissão incluem o papel de administrador do leitor de grupos ou papéis mais avançados, como de administrador ou de superadministrador do Grupos. Consulte este tópico para mais informações.

Consulta do Analysis

Uma consulta de análise é composta por um escopo, um ou mais seletores e outras opções avançadas.

Escopo

Para cada consulta de análise, você precisa especificar um escopo: uma organização, uma pasta ou um projeto. Todas as políticas do IAM definidas nesse escopo (no nível do recurso com escopo ou abaixo dele) serão incluídas na análise. Consequentemente, as políticas do IAM definidas acima do nível do recurso com escopo são consideradas na análise.

Seletor de recursos

O seletor de recursos permite especificar um recurso para analisar quem tem acesso a ele no escopo especificado.

Consulte a referência IamPolicyAnalysisQuery para mais informações.

Seletor de identidade

O seletor de identidade permite especificar uma identidade para analisar a quais recursos a identidade especificada tem acesso no escopo especificado.

Consulte a referência IamPolicyAnalysisQuery para mais informações.

Seletor de acesso

O seletor de acesso permite especificar vários papéis ou permissões para descobrir quem recebeu em quais recursos no escopo especificado.

Consulte a referência IamPolicyAnalysisQuery para mais informações.

Opções avançadas

Além de definir o escopo e os seletores, também é possível especificar outras opções avançadas na consulta para receber mais resultados de volta.

Consulte a referência IamPolicyAnalysisQuery para mais informações.

Como determinar quais principais podem acessar um recurso

Use o analisador de políticas para verificar quais principais têm determinadas funções ou permissões em um recurso específico no seu projeto, pasta ou organização. Para receber essas informações, crie uma consulta que inclua o recurso cujo acesso você quer analisar e um ou mais papéis ou permissões a serem verificados.

Console

  1. No Console do Cloud, acesse a página Policy Analyzer.

    Acessar a página "Policy Analyzer"

  2. Na seção Criar consulta a partir do modelo, clique em Criar consulta personalizada.

  3. No campo Selecionar escopo da consulta, selecione o projeto, a pasta ou a organização para a qual você quer definir o escopo da consulta. O analisador de políticas analisará o acesso para esse projeto, pasta ou organização, bem como quaisquer recursos nesse projeto, pasta ou organização.

  4. Escolha o recurso a ser verificado e o papel ou a permissão a ser verificada:

    1. No campo Parâmetro 1, selecione Recurso no menu suspenso.
    2. No campo Recurso, insira o nome completo do recurso para o qual você quer analisar o acesso. Se você não souber o nome completo do recurso, comece a digitar o nome de exibição dele e, em seguida, selecione-o na lista de recursos fornecidos.
    3. Clique em Adicionar seletor.
    4. No campo Parâmetro 2, selecione Papel ou Permissão.
    5. No campo Selecionar papel ou Selecionar uma permissão, selecione o papel ou a permissão que você quer verificar.
    6. Opcional: para verificar outros papéis e permissões, continue adicionando os seletores Papel e Permissão até que todos os papéis e permissões que você quer verificar estejam listados ,
  5. Opcional: clique em Continuar e selecione as opções avançadas que você quer ativar para essa consulta.

  6. No painel Consulta personalizada, clique em Executar consulta. A página do relatório mostra os parâmetros de consulta inseridos e uma tabela de resultados de todos os principais com os papéis ou permissões especificados no recurso especificado.

gcloud

É possível chamar AnalyzeIamPolicy no projeto com API ativada usando o comando gcloud asset analyze-iam-policy. É preciso executar o SDK do Cloud versão 314.0.0 ou posterior. Para verificar sua versão, use o comando gcloud version.

Para verificar quais principais têm COMMA_SEPARATED_PERMISSIONS em FULL_RESOURCE_NAME em ORG_ID:

gcloud asset analyze-iam-policy --organization="ORG_ID" \
    --full-resource-name="FULL_RESOURCE_NAME" \
    --permissions="COMMA_SEPARATED_PERMISSIONS"

Por exemplo, para verificar quais principais têm as permissões compute.instances.get ou compute.instances.start na instância do Compute Engine ipa-gce-instance-2 na organização 1234567890, faça o seguinte:

gcloud asset analyze-iam-policy --organization="1234567890" \
    --full-resource-name="//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2" \
    --permissions="compute.instances.get,compute.instances.start"

REST

  1. Analise as políticas do IAM e grave os resultados usando o alias gcurl.

  2. Crie um arquivo request.json para o corpo da solicitação e defina o conteúdo dele para a solicitação de análise no formato JSON.

    Por exemplo, o corpo da solicitação a seguir verifica quem tem as permissões compute.instances.get ou compute.instances.start na instância do Compute Engine ipa-gce-instance-2:

    {
      "analysisQuery": {
        "resourceSelector": {
          "fullResourceName":
            "//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2"
         },
        "accessSelector": {
          "permissions": [
            "compute.instances.get",
            "compute.instances.start"
          ]
        }
      }
    }
    
  3. Analise as políticas do IAM usando o comando gcurl a seguir.

    gcurl -d @request.json  \
    "https://cloudasset.googleapis.com/v1/organizations/ORG_ID:analyzeIamPolicy"
    

    Em que ORG_ID é o ID da organização, como 1234567890.

Como determinar quais principais têm determinados papéis ou permissões

É possível usar o Policy Analyzer para verificar quais principais têm papéis ou permissões específicas em qualquer recurso do Google Cloud na organização. Para receber essas informações, crie uma consulta que inclua um ou mais papéis ou permissões para verificar, mas não especifique um recurso.

Console

  1. No Console do Cloud, acesse a página Policy Analyzer.

    Acessar a página "Policy Analyzer"

  2. Na seção Criar consulta a partir do modelo, clique em Criar consulta personalizada.

  3. No campo Selecionar escopo da consulta, selecione o projeto, a pasta ou a organização para a qual você quer definir o escopo da consulta. O analisador de políticas analisará o acesso para esse projeto, pasta ou organização, bem como quaisquer recursos nesse projeto, pasta ou organização.

  4. No campo Parâmetro 1, selecione Papel ou Permissão.

  5. No campo Selecionar papel ou Selecionar permissão, escolha o papel ou a permissão que você quer verificar.

  6. Opcional: para verificar papéis e permissões adicionais, faça o seguinte:

    1. Clique em Adicionar seletor.
    2. No campo Parâmetro 2, selecione Papel ou Permissão.
    3. No campo Selecionar papel ou Selecionar uma permissão, selecione o papel ou a permissão que você quer verificar.
    4. Continue adicionando os seletores Papel e Permissão até que todos os papéis e permissões que você quer verificar estejam listados.
  7. Opcional: clique em Continuar e selecione as opções avançadas que você quer ativar para essa consulta.

  8. No painel Consulta personalizada, clique em Executar consulta. A página do relatório mostra os parâmetros de consulta inseridos e uma tabela de resultados de todos os principais com os papéis ou permissões especificados em qualquer recurso no escopo.

gcloud

É possível chamar AnalyzeIamPolicy no projeto com API ativada usando o comando gcloud asset analyze-iam-policy. É preciso executar o SDK do Cloud versão 314.0.0 ou posterior. Para verificar sua versão, use o comando gcloud version.

Para verificar quais principais têm COMMA_SEPARATED_PERMISSIONS em ORG_ID:

gcloud asset analyze-iam-policy --organization="ORG_ID" \
    --permissions="COMMA_SEPARATED_PERMISSIONS"

Por exemplo, para verificar quais principais têm as permissões compute.instances.get ou compute.instances.start na organização 1234567890:

gcloud asset analyze-iam-policy --organization="1234567890" \
    --permissions="compute.instances.get,compute.instances.start"

REST

  1. Analise as políticas do IAM e grave os resultados usando o alias gcurl.

  2. Crie um arquivo request.json para o corpo da solicitação e defina o conteúdo dele para a solicitação de análise no formato JSON.

    Por exemplo, o corpo da solicitação a seguir verifica quais principais têm permissões compute.instances.get ou compute.instances.start em todos os recursos aplicáveis:

    {
      "analysisQuery": {
        "accessSelector": {
          "permissions": [
            "compute.instances.get",
            "compute.instances.start"
          ]
        }
      }
    }
    
  3. Analise as políticas do IAM usando o comando gcurl a seguir.

    gcurl -d @request.json  \
    "https://cloudasset.googleapis.com/v1/organizations/ORG_ID:analyzeIamPolicy"
    

    Em que ORG_ID é o ID da organização, como 1234567890.

Como determinar o acesso de um principal em um recurso

Use o Policy Analyzer para verificar quais papéis ou permissões um principal tem em um recurso na sua organização. Para receber essas informações, crie uma consulta que inclua o principal cujo acesso você quer analisar e o recurso para o qual você quer analisar o acesso.

Console

1. No Console do Cloud, acesse a página Policy Analyzer.

  <a class="button button-primary" href="https://console.cloud.google.com/iam-admin/analyzer"
  target="console" track-type="task" track-name="consoleLink"
  track-metadata-position="body" track-metadata-end-goal="queryOnPrincipalWithResource">
  Go to the Policy analyzer page</a>
  1. Na seção Criar consulta a partir do modelo, clique em Criar consulta personalizada.
  2. No campo Selecionar escopo da consulta, selecione o projeto, a pasta ou a organização que você quer definir como escopo da consulta. O analisador de políticas analisará o acesso para esse projeto, pasta ou organização, bem como quaisquer recursos nesse projeto, pasta ou organização.
  3. Escolha o recurso e o principal para verificar:

    1. No campo Parâmetro 1, selecione Recurso no menu suspenso.
    2. No campo Recurso, insira o nome completo do recurso para o qual você quer analisar o acesso. Se você não souber o nome completo do recurso, comece a digitar o nome de exibição dele e, em seguida, selecione-o na lista de recursos fornecidos.
    3. Clique em Adicionar seletor.
    4. No campo Parâmetro 2, selecione Principal no menu suspenso.
    5. No campo Principal, comece a digitar o nome de um usuário, conta de serviço ou grupo. Em seguida, selecione o usuário, a conta de serviço ou o grupo com acesso para analisar na lista fornecida.
  4. Opcional: clique em Continuar e selecione as opções avançadas que você quer ativar para essa consulta.

  5. No painel Consulta personalizada, clique em Executar consulta. A página do relatório mostra os parâmetros de consulta inseridos e uma tabela de resultados de todos os papéis que o principal especificado tem no recurso especificado.

gcloud

É possível chamar AnalyzeIamPolicy no projeto com API ativada usando o comando gcloud asset analyze-iam-policy. É preciso ter a versão 314.0.0 ou superior do SDK do Cloud. Para verificar sua versão, use o comando gcloud version.

Para determinar quais papéis ou permissões têm o USER concedido em FULL_RESOURCE_NAME em ORG_ID:

gcloud asset analyze-iam-policy --organization="ORG_ID" \
    --full-resource-name="FULL_RESOURCE_NAME" \
    --identity="USER"

Por exemplo, quais papéis ou permissões têm o usuário user1@example.com foi concedido na instância do Compute Engine ipa-gce-instance-2 na organização 1234567890:

gcloud asset analyze-iam-policy --organization="1234567890" \
    --full-resource-name="//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2" \
    --identity="user:user1@example.com"

REST

  1. Analise as políticas do IAM e grave os resultados usando o alias gcurl.

  2. Crie um arquivo request.json para o corpo da solicitação e defina o conteúdo dele para a solicitação de análise no formato JSON.

    Por exemplo, o corpo da solicitação a seguir verifica quais papéis ou permissões o usuário user1@example.com recebeu na instância do Compute Engine ipa-gce-instance-2:

    {
      "analysisQuery": {
        "resourceSelector": {
          "fullResourceName":
            "//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2"
         },
        "identitySelector": {
          "identity": "user:user1@example.com"
        }
      }
    }
    
  3. Analise as políticas do IAM usando o comando gcurl a seguir.

    gcurl -d @request.json \
    "https://cloudasset.googleapis.com/v1/organizations/ORG_ID:analyzeIamPolicy"
    

    Em que ORG_ID é o ID da organização, como 1234567890.

Como determinar quais recursos o principal pode acessar

Use o Policy Analyzer para verificar em quais recursos da organização um papel principal tem determinados papéis ou permissões. Para receber essas informações, crie uma consulta que inclua o principal cujo acesso você quer analisar e uma ou mais permissões ou papéis a serem verificados.

Console

  1. No Console do Cloud, acesse a página Policy Analyzer.

    Acessar a página "Policy Analyzer"

  2. Na seção Criar consulta a partir do modelo, clique em Criar consulta personalizada.

  3. No campo Selecionar escopo da consulta, selecione o projeto, a pasta ou a organização que você quer definir como escopo da consulta. O analisador de políticas analisará o acesso para esse projeto, pasta ou organização, bem como quaisquer recursos dentro desse projeto, pasta ou organização.

  4. Escolha o principal a ser verificado e a função ou a permissão a ser verificada:

    1. No campo Parâmetro 1, selecione Principal no menu suspenso.
    2. No campo Principal, comece a digitar o nome de um usuário, conta de serviço ou grupo. Em seguida, selecione o usuário, a conta de serviço ou o grupo com acesso para analisar na lista fornecida.
    3. Clique em Adicionar seletor.
    4. No campo Parâmetro 2, selecione Papel ou Permissão.
    5. No campo Selecionar papel ou Selecionar uma permissão, selecione o papel ou a permissão que você quer verificar.
    6. Opcional: para verificar outros papéis e permissões, continue adicionando Função e naPermissão seletores até que todos os papéis e permissões que você quer verificar estejam listados.
  5. Opcional: clique em Continuar e selecione as opções avançadas que você quer ativar para essa consulta.

  6. No painel Consulta personalizada, clique em Executar consulta. A página do relatório mostra os parâmetros de consulta inseridos e uma tabela de resultados de todos os recursos em que o principal especificado tem as permissões ou os papéis especificados.

gcloud

É possível chamar AnalyzeIamPolicy no projeto com API ativada usando o comando gcloud asset analyze-iam-policy. É preciso ter a versão 314.0.0 ou superior do SDK do Cloud. Para verificar sua versão, use o comando gcloud version.

Para determinar em qual recurso um USER tem COMMA_SEPARATED_PERMISSIONS em ORG_ID:

gcloud asset analyze-iam-policy --organization="ORG_ID" \
    --identity="USER" \
    --permissions="COMMA_SEPARATED_PERMISSIONS"

Por exemplo, em quais recursos user1@example.com tem permissões compute.instances.get ou compute.instances.start na organização 1234567890:

gcloud asset analyze-iam-policy --organization="1234567890" \
    --identity="user:user1@example.com" \
    --permissions="compute.instances.get,compute.instances.start"

REST

  1. Analise as políticas do IAM e grave os resultados usando o alias gcurl.

  2. Crie um arquivo request.json para o corpo da solicitação e defina o conteúdo dele para a solicitação de análise no formato JSON.

    Por exemplo, o corpo da solicitação a seguir verifica em quais recursos o user1@example.com tem as permissões compute.instances.get ou compute.instances.start:

    {
      "analysisQuery": {
        "identitySelector": {
          "identity": "user:user1@example.com"
         },
        "accessSelector": {
          "permissions": [
            "compute.instances.get",
            "compute.instances.start"
          ]
        }
      }
    }
    
  3. Analise as políticas do IAM usando o comando gcurl a seguir.

    gcurl -d @request.json  \
    "https://cloudasset.googleapis.com/v1/organizations/ORG_ID:analyzeIamPolicy"
    

    Em que ORG_ID é o ID da organização, como 1234567890.

Como determinar o acesso condicional

O analisador de políticas analisa as vinculações de papéis condicionais do IAM para determinar quais principais têm um atributo de condição desejado que restringe o acesso aos recursos. Por exemplo, uma conta de serviço pode receber um ou mais papéis em um recurso que só permite o acesso durante uma data ou hora específica.

Defina accessTime no campo ConditionContext para ativar a análise de vinculação de papéis condicional do atributo de data/hora.

gcloud

É possível chamar AnalyzeIamPolicy no projeto com API ativada usando o comando gcloud asset analyze-iam-policy. É preciso executar o SDK do Cloud versão 335.0.0 ou posterior. Para verificar sua versão, use o comando gcloud version.

Para verificar quais principais têm COMMA_SEPARATED_PERMISSIONS na FULL_RESOURCE_NAME em ORG_ID às DATE_TIME:

gcloud asset analyze-iam-policy --organization="ORG_ID" \
    --full-resource-name="FULL_RESOURCE_NAME" \
    --permissions="COMMA_SEPARATED_PERMISSIONS" \
    --access-time="DATE_TIME"

Por exemplo, para verificar quais principais têm as permissões compute.instances.get ou compute.instances.start na instância do Compute Engine ipa-gce-instance-2 na organização 1234567890 em 2099-03-01T00:00:00Z. Para mais informações sobre formatos de tempo, consulte gcloud topic datetimes.

gcloud asset analyze-iam-policy --organization="1234567890" \
    --full-resource-name="//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2" \
    --permissions="compute.instances.get,compute.instances.start" \
    --access-time="2099-03-01T00:00:00Z"

REST

  1. Analise as políticas do IAM e grave os resultados usando o alias gcurl.

  2. Crie um arquivo request.json para o corpo da solicitação e defina o conteúdo dele para a solicitação de análise no formato JSON.

    Por exemplo, o corpo da solicitação a seguir verifica quem tem as permissões compute.instances.get ou compute.instances.start na instância do Compute Engine ipa-gce-instance-2 em 2099-03-01T00:00:00Z:

    {
      "analysisQuery": {
        "resourceSelector": {
          "fullResourceName":
            "//compute.googleapis.com/projects/project1/zones/us-central1-a/instances/ipa-gce-instance-2"
         },
        "accessSelector": {
          "permissions": [
            "compute.instances.get",
            "compute.instances.start"
          ]
        },
        "conditionContext": {
          "accessTime": "2099-03-01T00:00:00Z"
        }
      }
    }
    
  3. Analise as políticas do IAM usando o comando gcurl a seguir.

    gcurl -d @request.json  \
    "https://cloudasset.googleapis.com/v1/organizations/ORG_ID:analyzeIamPolicy"
    

    Em que ORG_ID é o ID da organização, como 1234567890.

Biblioteca de cliente e referência de API

Como criar uma consulta

Para saber mais sobre outros casos de uso e opções para consultas, veja como analisar exemplos de consultas de políticas do IAM.