Como pesquisar políticas de permissão do IAM

A API Cloud Asset permite que você use uma linguagem de consulta personalizada para pesquisar políticas de permissão do Identity and Access Management (IAM) em um projeto, uma pasta ou uma organização.

Antes de começar

Pesquisar políticas de permissão

Console

Para pesquisar todas as políticas de permissão do IAM, conclua as etapas a seguir.

  1. Acesse a página Inventário de recursos no console do Google Cloud.

    Acessar o inventário de recursos

  2. Para definir o escopo da pesquisa, abra a caixa de lista Projetos na barra de menus e selecione a organização, a pasta ou o projeto a ser consultado.

  3. Selecione a guia Política do IAM.

  4. Para pesquisar políticas de permissão, use uma consulta predefinida ou crie sua própria.

    • Para usar uma consulta predefinida, selecione opções em Predefinições de consulta no painel Filtrar resultados. Para filtrar resultados, selecione opções em Filtros.

    • Para criar a sua própria consulta, insira o texto da consulta na barra Filtro. Selecione a caixa de texto, e uma lista de campos pesquisáveis será exibida. A pesquisa de políticas aceita vários campos. Saiba mais sobre a sintaxe de consulta.

As políticas de permissão que correspondem à consulta são listadas na tabela Result.

Para exibir a consulta como um comando da Google Cloud CLI, selecione Ver consulta.

Para exportar os resultados, selecione Fazer o download do CSV.

gcloud

É possível chamar SearchAllIamPolicies usando o comando gcloud asset search-all-iam-policies. Você precisa executar a Google Cloud CLI versão 302.0.0 ou mais recente. Confira sua versão com o comando gcloud version:

gcloud asset search-all-iam-policies \
    --scope=SCOPE \
    --query="QUERY" \
    --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
    --order-by=ORDER_BY

Forneça os valores a seguir:

  • SCOPE: obrigatório. Um escopo pode ser um projeto, uma pasta ou uma organização. A pesquisa é limitada às políticas de permissão do IAM nesse escopo. O autor da chamada precisa receber um papel que contenha a permissão cloudasset.assets.searchAllIamPolicies no escopo selecionado. Se não for especificada, a propriedade do projeto configurada será usada.

    Os valores permitidos são:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Como encontrar um número de projeto do Google Cloud

      Console

      Para encontrar um número de projeto do Google Cloud, siga estas etapas:

      1. Acesse a página Painel no console do Google Cloud.

        Ir para o painel

      2. Clique na caixa do seletor na barra de menus.
      3. Selecione a organização na caixa Selecionar de e pesquise o nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado no card Informações do projeto.

      CLI da gcloud

      Recupere um número de projeto do Google Cloud com o seguinte comando:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Como encontrar um ID de pasta do Google Cloud

      Console

      Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acesse o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha sua organização.
      4. Pesquise o nome da pasta. O ID é exibido ao lado do nome da pasta.

      CLI da gcloud

      Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte comando:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova a opção --format para conferir mais informações sobre as pastas encontradas.

      Para ver o ID de uma pasta dentro de outra, liste as subpastas:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Como encontrar um ID da organização do Google Cloud

      Console

      Para encontrar um ID da organização do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acesse o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha sua organização.
      4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

      CLI da gcloud

      Recupere um ID da organização do Google Cloud com o seguinte comando:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • QUERY: opcional. A instrução de consulta. Consulte Sintaxe de consulta para mais informações. Se não for especificada ou estiver vazia, ela pesquisa todas as políticas de permissão do IAM no scope especificado. Observe que a string de consulta é comparada com cada vinculação de política de permissão, incluindo os principais, os papéis e as condições do IAM. As políticas de permissão retornadas contêm apenas as vinculações que correspondem à sua consulta. Para saber mais sobre a estrutura da política de permissão, consulte Noções básicas sobre políticas.

    Exemplos:

    • policy:amy@gmail.com para encontrar vinculações de política de permissão que especificam o usuário "amy@gmail.com".

    • policy:roles/compute.admin para encontrar vinculações de política de permissão que especifiquem o papel Administrador do Compute.

    • policy:comp* para encontrar vinculações de política de permissão que contenham "comp" como um prefixo de qualquer palavra na vinculação.

    • policy.role.permissions:storage.buckets.update para encontrar vinculações de política de permissão que especifiquem um papel contendo a permissão "storage.buckets.update". Observe que, se o autor da chamada não tiver recebido um papel que contenha a permissão iam.roles.get no papel pretendido, permita que as vinculações de política que especifiquem esse papel sejam descartadas dos resultados da pesquisa.

    • policy.role.permissions:upd* para encontrar vinculações de política de permissão que especifiquem um papel contendo "upd" como um prefixo de qualquer palavra na vinculação. Observe que, se o autor da chamada não tiver recebido um papel que contenha a permissão iam.roles.get no papel desejado, as vinculações de política que especificam esse papel serão descartadas dos resultados da pesquisa.

    • resource:organizations/123456 para encontrar vinculações de política de permissão definidas em "organizations/123456".

    • resource=//cloudresourcemanager.googleapis.com/projects/myproject para encontrar vinculações de política de permissão definidas no projeto chamado "myproject".

    • Important para encontrar vinculações de política de permissão que contenham "Importante" como uma palavra em qualquer um dos campos pesquisáveis (exceto para as permissões incluídas).

    • resource:(instance1 OR instance2) policy:amy para encontrar vinculações de política de permissão definidas nos recursos "instance1" ou "instance2" e também especificar o usuário "amy".

    • roles:roles/compute.admin para encontrar vinculações de política de permissão que especifiquem o papel Administrador do Compute.

    • memberTypes:user para encontrar vinculações de política de permissão que contenham o tipo de principal "usuário".

  • ASSET_TYPE: opcional. Uma lista de tipos de recursos aos quais o Identity and Access Management permitem que as políticas estejam anexadas. Se estiver vazio, ela vai pesquisar as políticas de permissão do Identity and Access Management anexadas a todos os tipos de recursos pesquisáveis. As expressões regulares são aceitas. Se a expressão regular não corresponder a nenhum tipo de recurso compatível, um erro INVALID_ARGUMENT será retornado.

  • ORDER_BY: opcional. Uma lista de campos separada por vírgulas que especifica a ordem de classificação dos resultados. A ordem padrão é crescente. Adicione DESC depois do nome do campo para indicar a ordem decrescente. Caracteres de espaço redundantes são ignorados. Exemplo: "assetType DESC, resource". Somente os campos primitivos singulares na resposta são classificáveis:

    • resource

    • assetType

    • project

    Não há suporte para todos os outros campos, como campos repetidos (por exemplo, folders) e não primitivos (por exemplo, policy).

Veja a seguir exemplos de comandos gcloud:

  • Encontre todas as vinculações de política de permissão do IAM no organizations/123456 que contenham o domínio mycompany.com:

    gcloud asset search-all-iam-policies \
        --scope=organizations/123456 \
        --query="policy:\"domain:mycompany.com\""
    
  • Encontre todas as vinculações de política de permissão do IAM no organizations/123456 em que myuser@mycompany.com recebeu o papel básico de Proprietário (roles/owner):

    gcloud asset search-all-iam-policies \
        --scope=organizations/123456 \
        --query="policy:(roles/owner myuser@mycompany.com)"
    
  • Encontre todas as vinculações de política de permissão do IAM no organizations/123456 que estão definidas em projects/12345678:

    gcloud asset search-all-iam-policies \
        --scope=organizations/123456 \
        --query="resource:projects/12345678"
    

REST

Chame SearchAllIamPolicies usando um token OAuth válido para um projeto. Para chamar o método SearchAllIamPolicies do Cloud Shell ou de qualquer console em que o comando gcloud esteja disponível:

  1. Se você ainda não configurou a tela de consentimento do OAuth do seu projeto, é preciso fazer isso. É necessário informar um endereço de e-mail e o nome do produto para essa tela.

    1. Acesse a tela de permissão OAuth do seu projeto.

      Configurar a tela de consentimento

    2. Digite o Nome do aplicativo que você quer exibir.

    3. Em E-mail de suporte, selecione o endereço de e-mail que você quer exibir como um contato público. Precisa ser seu endereço de e-mail ou um grupo do Google que seja seu.

    4. Adicione os detalhes opcionais que você quiser.

    5. Clique em Salvar.

  2. Crie um token OAuth para seu projeto. Consulte Como configurar o OAuth 2.0 para mais informações.

    1. Acesse a página "Criar ID do cliente OAuth".

      Criar um cliente OAuth

    2. Selecione App para computador como o Tipo de aplicativo.

    3. Clique em Criar.

  3. Faça o download do arquivo client_secret.json.

    1. Acesse a página Credenciais.

    2. À direita do novo ID do cliente, clique em Fazer o download do JSON.

    3. Armazene com segurança o arquivo em um local que somente o app possa acessar.

  4. Faça login usando o arquivo JSON com o seguinte comando:

    gcloud auth application-default login --client-id-file=YOUR_JSON_FILE
    

    Esse comando solicita que você abra um link. Verifique se a página mostra o Nome do aplicativo que você definiu na tela de permissão OAuth.

  5. Agora é possível consultar políticas de permissão do IAM usando comandos curl.

    curl -X POST \
         -H "X-HTTP-Method-Override: GET" \
         -H "Authorization: Bearer $(gcloud auth print-access-token)" \
         -H "Content-Type: application/json" \
         -d '{
              "assetTypes": [
                "ASSET_TYPE_1",
                "ASSET_TYPE_2",
                "..."
              ],
              "orderBy": "ORDER_BY",
              "pageSize": PAGE_SIZE,
              "query": "QUERY"
             }' \
         https://cloudasset.googleapis.com/v1/SCOPE:searchAllIamPolicies
    

    Informe os seguintes detalhes:

    • ASSET_TYPE: opcional. Uma lista de tipos de recursos aos quais as políticas do Identity and Access Management estão anexadas. Se estiver vazio, ela pesquisa as políticas de permissão do Identity and Access Management anexadas a todos os tipos de recursos pesquisáveis. As expressões regulares são aceitas. Se a expressão regular não corresponder a nenhum tipo de recurso compatível, um erro INVALID_ARGUMENT será retornado.

    • ORDER_BY: opcional. Uma lista de campos separados por vírgulas que especifica a ordem de classificação dos resultados. A ordem padrão é crescente. Adicione DESC após o nome do campo para indicar a ordem decrescente. Caracteres de espaço redundantes são ignorados. Exemplo: "assetType DESC, resource". Somente os campos primitivos singulares na resposta são classificáveis:

      • resource

      • assetType

      • project

      Não há suporte para todos os outros campos, como campos repetidos (por exemplo, folders) e não primitivos (por exemplo, policy).

    • PAGE_SIZE: opcional. O número de resultados a serem retornados por página. O valor máximo é 2000. Se o valor for definido como 0 ou um valor negativo, um padrão apropriado será selecionado. Um nextPageToken é retornado para recuperar os resultados subsequentes.

    • QUERY: opcional. A instrução de consulta. Consulte Sintaxe de consulta para mais informações. Se não for especificada ou estiver vazia, ela pesquisa todas as políticas de permissão do IAM no scope especificado. Observe que a string de consulta é comparada com cada vinculação de política de permissão, incluindo principais, papéis e condições do IAM. As políticas de permissão retornadas contêm apenas as vinculações que correspondem à sua consulta. Para saber mais sobre a estrutura da política de permissão, consulte Noções básicas sobre as políticas de permissão.

      Exemplos:

      • policy:amy@gmail.com para encontrar vinculações de política de permissão que especifiquem o usuário "amy@gmail.com".

      • policy:roles/compute.admin para encontrar vinculações de política de permissão que especifiquem o papel Administrador do Compute.

      • policy:comp* para encontrar vinculações de política de permissão que contenham "comp" como um prefixo de qualquer palavra na vinculação.

      • policy.role.permissions:storage.buckets.update para encontrar vinculações de política de permissão que especifiquem um papel contendo a permissão "storage.buckets.update". Se o autor da chamada não tiver recebido um papel que contenha a permissão iam.roles.get no papel desejado, as vinculações de política que especificam esse papel serão descartadas dos resultados da pesquisa.

      • policy.role.permissions:upd* para encontrar vinculações de política de permissão que especifiquem um papel contendo "upd" como prefixo de qualquer palavra na permissão do papel. Observe que, se o autor da chamada não tiver recebido um papel que contenha a permissão iam.roles.get no papel que você quer, permita que as vinculações de políticas que especifiquem esse papel sejam descartadas dos resultados da pesquisa.

      • resource:organizations/123456 para encontrar vinculações de política de permissão definidas em "organizations/123456".

      • resource=//cloudresourcemanager.googleapis.com/projects/myproject para encontrar vinculações de política de permissão definidas no projeto chamado "myproject".

      • Important para encontrar vinculações de política de permissão que contenham "Importante" como uma palavra em qualquer um dos campos pesquisáveis (exceto as permissões incluídas).

      • resource:(instance1 OR instance2) policy:amy para encontrar vinculações de política de permissão definidas nos recursos "instance1" ou "instance2" e também especificar a "amy" do usuário.

      • roles:roles/compute.admin para encontrar vinculações de política de permissão que especifiquem o papel Administrador do Compute.

      • memberTypes:user para encontrar vinculações de política de permissão que contenham o tipo de principal "usuário".

    • SCOPE: um escopo pode ser um projeto, uma pasta ou uma organização. A pesquisa é limitada às políticas de permissão do IAM nesse escopo. O autor da chamada precisa receber um papel que tenha a permissão cloudasset.assets.searchAllIamPolicies no escopo selecionado. Se não for especificada, a propriedade do projeto configurada será usada.

      Os valores permitidos são:

      • projects/PROJECT_ID

      • projects/PROJECT_NUMBER

        Como encontrar um número de projeto do Google Cloud

        Console

        Para encontrar um número de projeto do Google Cloud, siga estas etapas:

        1. Acesse a página Painel no console do Google Cloud.

          Ir para o painel

        2. Clique na caixa do seletor na barra de menus.
        3. Selecione a organização na caixa Selecionar de e pesquise o nome do projeto.
        4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado no card Informações do projeto.

        CLI da gcloud

        Recupere um número de projeto do Google Cloud com o seguinte comando:

        gcloud projects describe PROJECT_ID --format="value(projectNumber)"

      • folders/FOLDER_ID

        Como encontrar um ID de pasta do Google Cloud

        Console

        Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

        1. Acesse o console do Google Cloud.

          Acesse o console do Google Cloud

        2. Clique na caixa do seletor na barra de menus.
        3. Clique na caixa Selecionar de e escolha sua organização.
        4. Pesquise o nome da pasta. O ID é exibido ao lado do nome da pasta.

        CLI da gcloud

        Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte comando:

        gcloud resource-manager folders list \
            --organization=$(gcloud organizations describe ORGANIZATION_NAME \
              --format="value(name.segment(1))") \
            --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
            --format="value(ID)"

        Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova a opção --format para conferir mais informações sobre as pastas encontradas.

        Para ver o ID de uma pasta dentro de outra, liste as subpastas:

        gcloud resource-manager folders list --folder=FOLDER_ID

      • organizations/ORGANIZATION_ID

        Como encontrar um ID da organização do Google Cloud

        Console

        Para encontrar um ID da organização do Google Cloud, siga estas etapas:

        1. Acesse o console do Google Cloud.

          Acesse o console do Google Cloud

        2. Clique na caixa do seletor na barra de menus.
        3. Clique na caixa Selecionar de e escolha sua organização.
        4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

        CLI da gcloud

        Recupere um ID da organização do Google Cloud com o seguinte comando:

        gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

Biblioteca de cliente e referência de API

Como criar uma consulta

Consulte Sintaxe de consulta para saber mais sobre a linguagem de consulta.

Consulte Como pesquisar amostras de políticas de permissão do IAM para saber mais sobre as consultas de amostra para vários casos de uso reais.

Consulte as políticas de permissão do IAM vinculando informações

Para pesquisar políticas de permissão do IAM, uma expressão de consulta tem o seguinte formato:

policy:QUERY

Também é possível pesquisar exclusivamente os papéis ou tipos de principais com os seguintes formatos:

  • Correspondência exata:

    • memberTypes=QUERY

    • roles=QUERY

  • Correspondência parcial:

    • memberTypes:QUERY

    • roles:QUERY

Principal

As vinculações de política de permissão do IAM oferecem suporte a cinco tipos de principais:

  1. Contas do Google, como user:user@gmail.com

  2. Grupos do Google, como group:devs@googlegroups.com

  3. Domínios do Cloud Identity e do G Suite, como domain:google.com

  4. Contas de serviço, como serviceAccount:my-other-app@appspot.gserviceaccount.com

  5. Identificadores especiais, como allUsers e allAuthenticatedUsers

Você pode limitar sua consulta para permitir políticas relacionadas a um usuário específico usando a seguinte sintaxe:

policy:"user:amy@mycompany.com"

É necessário colocar user:amy@mycompany.com entre aspas duplas, já que ele contém o caractere especial :. É possível omitir o prefixo user: ou group: em uma string de consulta, se o valor da consulta for único o suficiente ou se você quiser pesquisar o endereço de e-mail independentemente do tipo de principal. Por exemplo, a consulta a seguir provavelmente só corresponde a um usuário:

policy:amy@mycompany.com

Você também pode limitar a consulta a políticas relacionadas a um tipo específico de principal usando a seguinte sintaxe:

policy:user
memberTypes:user
memberTypes=user

É possível que policy:user corresponda a um tipo de principal diferente. Por exemplo: group:test-user@mycompany.com. Use memberTypes para limitar a pesquisa a tipos principais específicos.

Exemplos: consulta por principal
  • Encontre todas as vinculações da política de permissão do IAM que especificam o usuário Amy:

    policy:amy
    
  • Encontre todas as vinculações da política de permissão do IAM que especificam o domínio mydomain.com:

    policy:mydomain.com
    
  • Encontre todas as vinculações de política de permissão do IAM que especificam o usuário Amy e John:

    policy:(amy john)
    
  • Encontre todas as vinculações da política de permissão do IAM que especificam o usuário Amy ou John:

    policy:(amy OR john)
    
  • Encontre todas as vinculações de política de permissão do IAM na sua organização que contenham amy@mycompany.com:

    policy:amy@mycompany.com
    
  • Encontre todas as vinculações de política de permissão do IAM na organização que contenham o domínio mycompany.com:

    policy:"domain:mycompany.com"
    
  • Encontre todas as vinculações de política de permissão do IAM que atribuem papéis à conta de serviço mycompany.gserviceaccount.com:

    policy:"serviceAccount:mycompany.gserviceaccount.com"
    
  • Encontre todas as vinculações de política de permissão do IAM que atribuem papéis ao grupo admins:

    policy:"group:admins"
    
  • Encontre todas as vinculações de política de permissão do IAM que atribuem papéis a todos os usuários:

    memberTypes:allUsers
    
  • Encontre todas as vinculações de política de permissão do IAM que atribuem papéis a todos os usuários autenticados:

    memberTypes:allAuthenticatedUsers
    
  • Encontre todas as vinculações de política de permissão do IAM que atribuem papéis a amy@mycompany.com ou ao domínio mycompany.com:

    policy:(amy@mycompany.com OR "domain:mycompany.com")
    

Papel

As vinculações de políticas de permissão do IAM são compatíveis com diferentes tipos de papéis. Todos os nomes de papéis do IAM começam com o prefixo roles/.

  1. Papéis básicos: há três papéis que já existiam antes da introdução do IAM: Proprietário (roles/owner), Editor (roles/editor) e Leitor (roles/viewer).

  2. Papéis predefinidos: o IAM fornece outros papéis predefinidos que dão acesso granular a diferentes recursos. Veja todos os papéis predefinidos.

  3. Papéis personalizados: papéis do IAM definidos pelo usuário que contêm uma lista selecionada de permissões.

É possível limitar a consulta para permitir políticas relacionadas a um papel específico usando a seguinte sintaxe:

policy:roles/role-name
roles:roles/role-name
roles=roles/role-name

Você poderá omitir o prefixo roles/ em uma string de consulta se o valor da consulta for exclusivo o suficiente. Por exemplo, a consulta a seguir provavelmente corresponde apenas ao papel roles/cloudasset.owner:

policy:cloudasset.owner
roles:cloudasset.owner

É possível que policy:cloudasset.owner corresponda a uma função diferente. Por exemplo, quando um papel é concedido ao principal user:cloudasset.owner@mycompany.com. Use roles para limitar a pesquisa a papéis.

Exemplos: consulta por papel
  • Encontre todas as vinculações da política de permissão do IAM que especificam o papel owner.

    policy:roles/owner
    roles:roles/owner
    roles=roles/owner
    
  • Encontre todas as vinculações da política de permissão do IAM que atribuem o papel de proprietário a amy@mycompany.com:

    policy:(roles/owner amy@mycompany.com)
    
  • Encontre todas as vinculações de política de permissão do IAM que atribuem o papel compute.admin aos principais com endereços de e-mail que contenham a palavra john:

    policy:(roles/compute.admin john)
    
  • Encontre todas as vinculações de política de permissão do IAM que concedem o papel viewer aos usuários com "swe" ou "sde" como prefixo.

    policy:(roles/viewer (swe* OR sde*))
    

Condições do IAM

As vinculações de política de permissão do IAM podem conter um objeto condition, que permite definir e aplicar o controle de acesso condicional baseado em atributos nos recursos do Google Cloud. Para mais informações, consulte a Visão geral das condições do IAM.

É possível limitar a consulta para permitir políticas relacionadas a uma condição específica usando a seguinte sintaxe:

policy:condition_information
Exemplos: consulta por condição
  • Encontre todas as vinculações de política de permissão do IAM que especificam uma condição com um título/descrição que contenha a palavra "myCondition":

    policy:myCondition
    
  • Encontre todas as vinculações de política de permissão do IAM que especificam uma condição com uma expressão que contém o atributo "request.time":

    policy:"request.time"
    

Consultar políticas de permissão do IAM por permissões incluídas

Os papéis em uma política de permissão podem incluir uma lista de permissões. Consulte a referência de permissões do IAM para ver mais detalhes. É possível limitar a consulta para permitir políticas que contenham uma permissão específica. Os formatos de expressão de consulta são os seguintes:

  • Correspondência exata: policy.role.permissions=QUERY
  • Correspondência parcial: policy.role.permissions:QUERY
Exemplos: consulta por permissões
  • Encontre todas as vinculações da política de permissão do IAM que contenham a permissão compute.instances.create:

    policy.role.permissions:compute.instances.create
    policy.role.permissions=compute.instances.create
    
  • Encontre todas as vinculações da política de permissão do IAM que contenham as permissões relacionadas ao compute.instances:

    policy.role.permissions:compute.instances
    
  • Encontre todas as vinculações de política de permissão do IAM que contenham as permissões cloudasset.assets.export... (por exemplo, cloudasset.assets.exportAssets e cloudasset.assets.exportIamPolicyAnalysis):

    policy.role.permissions:cloudasset.assets.export*
    
  • Encontre todas as vinculações da política de permissão do IAM que concedem a alguém permissões para alterar as políticas de permissão do IAM:

    policy.role.permissions:setIamPolicy
    
  • Encontre todas as vinculações da política de permissão do IAM com um papel que contenha as permissões compute.instances.create e compute.disks.create:

    policy.role.permissions:(compute.instances.create compute.disks.create)
    
  • Encontre todas as vinculações de política de permissão do IAM que contenham a permissão compute.instances.create e especifique o usuário amy:

    policy.role.permissions:compute.instances.create policy:amy
    policy.role.permissions=compute.instances.create policy:amy
    

Consultar políticas de permissão do IAM por recurso associado

Ao realizar uma pesquisa, você pode especificar um nome completo de recurso para pesquisar apenas as políticas de permissão definidas diretamente no recurso. Também é possível especificar um projeto, uma pasta ou uma organização para pesquisar apenas as políticas de permissão definidas nos recursos localizados no determinado projeto/pasta/organização. Os formatos de consulta são os seguintes:

  • Correspondência exata:

    • resource=QUERY

    • project=QUERY

    • folders=QUERY

    • organization=QUERY

  • Correspondência parcial:

    • resource:QUERY

    • project:QUERY

    • folders:QUERY

    • organization:QUERY

Exemplos: consulta por recurso associado

  • Encontre todas as vinculações de política de permissão do IAM definidas diretamente em um recurso com nome completo do recurso exatamente igual a //cloudresourcemanager.googleapis.com/projects/myproject:

    resource=//cloudresourcemanager.googleapis.com/projects/myproject
    
  • Encontre todas as vinculações de política de permissão do IAM que são definidas diretamente em recursos com o nome completo do recurso contendo a palavra myproject:

    resource:myproject
    
  • Encontre todas as vinculações de política de permissão do IAM que são definidas diretamente em recursos com o nome completo do recurso que contém uma palavra com determinado prefixo myproj:

    resource:myproj*
    
  • Encontre todas as vinculações de política de permissão do IAM que são definidas diretamente nos recursos de um determinado tipo de serviço:

    resource:cloudresourcemanager
    
  • Encontre todas as vinculações de política de permissão do IAM definidas em myproject ou myfolder:

    resource:(myproject OR myfolder)
    
  • Encontre todas as vinculações de política de permissão do IAM definidas nos recursos cloudresourcemanager e atribua o papel de proprietário aos usuários gmail.com:

    resource:cloudresourcemanager policy:(roles/owner gmail.com)
    
  • Encontre todas as vinculações de política de permissão do IAM configuradas em recursos com project que tem o número 123:

    project:123
    
  • Encontre todas as vinculações de política de permissão do IAM definidas em recursos contidos em folder com o número 123:

    folders:123
    
  • Encontre todas as vinculações de política de permissão do IAM configuradas em recursos com organization que tem o número 123:

    organization:123
    

Consultar políticas de permissão do IAM por texto livre

Também é possível usar uma consulta de texto livre sem especificar um campo. A resposta retorna políticas de permissão, desde que haja um campo pesquisável (por exemplo, campos de vinculação de política de permissão ou campos de recurso) que correspondam à consulta.

Exemplos: consulta por texto livre

  • Encontre todas as vinculações de política de permissão do IAM no scope com campos de metadados (por exemplo, vinculações de política de permissão ou campos de recursos) que contenham Important como uma palavra:

    Important
    
  • Encontre todas as vinculações de política de permissão do IAM no scope com campos de metadados (por exemplo, vinculações de política de permissão ou campos de recursos) que contenham import como prefixo de qualquer palavra:

    import*