Esta página contém consultas de amostra para vários casos de uso de pesquisa de política de IAM.
Caso de uso: listar políticas de IAM na sua organização e formatar a saída como tuplas (RESOURCE, ROLE, MEMBER)
gcloud asset search-all-iam-policies \
--scope=organizations/123456 \
--page-size=50 \
--flatten='policy.bindings[].members[]' \
--format='table(resource, policy.bindings.role, policy.bindings.members)'
Altere --scope
para projects/12345678 ou
folders/1234567 para pesquisar em um projeto ou pasta em vez de uma
organização.
É possível adicionar restrições --query
para receber resultados de pesquisa de recursos mais
específicos.
Remova os --flatten
e --format
se não quiser formatar os
resultados.
Use csv
em vez de table
para formatar os resultados em um CSV.
Você pode adicionar --limit
para receber apenas um subconjunto dos resultados da pesquisa. Sem essa
sinalização, ela passará automaticamente por todos os resultados da pesquisa.
Caso de uso: listar políticas de IAM no projeto
gcloud asset search-all-iam-policies \
--scope=projects/12345678
Altere --scope
para organizations/123456 ou
folders/1234567 para listar todas as políticas do IAM na
sua organização ou pasta, em vez de um projeto.
Você pode adicionar restrições --query
para ver resultados de pesquisa de política mais específicos.
Caso de uso: listar políticas de IAM definidas em recursos de organização/pasta/projeto na sua organização
gcloud asset search-all-iam-policies \
--scope=organizations/123456 \
--query='resource:cloudresourcemanager'
Altere --query
para resource:(cloudresourcemanager projects) para
ver somente os projetos.
Caso de uso: listar leitores de um projeto
gcloud asset search-all-iam-policies \
--scope=projects/12345678 \
--query='resource:cloudresourcemanager policy:roles/viewer' \
--page-size=50 \
--flatten='policy.bindings[].members[]' \
--format='table(policy.bindings.members)'
Caso de uso: listar projetos em que um usuário tem o papel de proprietário
gcloud asset search-all-iam-policies \
--scope=organizations/123456 \
--query='resource:(cloudresourcemanager projects) policy:(roles/owner user@mycompany.com)' \
--page-size=50 \
--format='table(resource)'
Caso de uso: listar os papéis de um usuário em um projeto
gcloud asset search-all-iam-policies \
--scope=projects/12345678 \
--query='resource:(cloudresourcemanager projects) policy:user@mycompany.com' \
--page-size=50 \
--flatten='policy.bindings[]' \
--format='table(policy.bindings.role)'
Caso de uso: listar permissões de um usuário em um projeto.
gcloud asset search-all-iam-policies \
--scope=projects/12345678 \
--query='resource:cloudresourcemanager policy:user@mycompany.com policy.role.permissions:""' \
--page-size=50 \
--format='default(explanation.matchedPermissions)'
Caso de uso: listar usuários que podem acessar o bucket bigstore
gcloud asset search-all-iam-policies \
--scope=projects/12345678 \
--query='resource:cloudresourcemanager policy.role.permissions:storage.buckets' \
--page-size=50 \
--flatten='policy.bindings[].members[]' \
--format='table(policy.bindings.members)'
Caso de uso: listar contas de serviço que têm o papel de proprietário para detectar configurações de políticas arriscadas
gcloud asset search-all-iam-policies \
--scope=organizations/123456 \
--query='policy:(roles/owner serviceAccount)' \
--page-size=50 \
--flatten='policy.bindings[].members[]' \
--format='table(resource.segment(3):label=RESOURCE_TYPE, resource.basename():label=RESOURCE, policy.bindings.members)' \
| grep serviceAccount
.
Caso de uso: listar recursos que podem ser acessados pelos usuários do Gmail
gcloud asset search-all-iam-policies \
--scope=organizations/123456 \
--query='policy:gmail.com' \
--page-size=50 \
--flatten='policy.bindings[].members[]' \
--format='csv(resource, policy.bindings.role, policy.bindings.members)' \
| grep @gmail.com
.
Caso de uso: listar recursos que têm papéis concedidos ao domínio inteiro
gcloud asset search-all-iam-policies \
--scope=organizations/123456 \
--query='policy:"domain:bigwhite.joonix.net"' \
--page-size=50 \
--flatten='policy.bindings[]' \
--format='table(resource, policy.bindings.role)'
Caso de uso: listar recursos que têm papéis concedidos ao público
gcloud asset search-all-iam-policies \
--scope=organizations/123456 \
--query='policy:(allUsers OR allAuthenticatedUsers)' \
--page-size=50 \
--format='table(resource)'
Caso de uso: listar usuários/grupos que podem alterar as políticas de IAM na organização/pasta/projeto
gcloud asset search-all-iam-policies \
--scope=organizations/123456 \
--query='policy.role.permissions:(resourcemanager.organizations.setIamPolicy OR resourcemanager.folders.setIamPolicy OR resourcemanager.projects.setIamPolicy)' \
--page-size=50 \
--format='json(resource, policy.bindings, explanation.matchedPermissions)'