auditing-gcp-iam-permissions
Ensina seu agente de IA a colocar projetos no ar e cuidar da infraestrutura.
O que ela faz
Esta ferramenta ajuda a verificar quem tem acesso a quê dentro do Google Cloud. Ela procura por permissões muito amplas, contas de serviço com muitas chaves ou acessos desnecessários, e quem pode acessar recursos em diferentes projetos.
Quando usar
- ✓Ao revisar a segurança de quem pode fazer o quê no Google Cloud.
- ✓Quando você quer saber se há contas de serviço com permissões demais ou que não são mais usadas.
- ✓Para garantir que as regras de acesso estejam de acordo com as normas de segurança.
Exemplo do que pedir para a IA
“Verifique as permissões de acesso no meu projeto do Google Cloud para encontrar acessos excessivos.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ela usa comandos específicos do Google Cloud para listar todas as permissões, verificar contas de serviço e suas chaves, e analisar quem tem acesso a quais recursos. Depois, sugere como reduzir esses acessos.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill auditing-gcp-iam-permissionsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/auditing-gcp-iam-permissions/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Auditoria de Permissões IAM do GCP
Quando Usar
- Ao realizar avaliações de segurança de configurações IAM de organização ou projeto do GCP
- Ao identificar contas de serviço com permissões excessivas ou acesso não utilizado
- Quando requisitos de conformidade exigem a revisão de controles de acesso e atribuições de função
- Ao investigar potencial movimento lateral através de configurações incorretas de IAM
- Ao reduzir o raio de impacto de credenciais comprometidas, limitando o escopo das permissões
Não use para auditoria de regras de firewall VPC (use ferramentas de segurança de rede), para auditoria de RBAC do GKE (use ferramentas RBAC específicas do Kubernetes) ou para detecção de ameaças em tempo real em ações de IAM (use o Event Threat Detection do SCC).
Pré-requisitos
- Organização ou projeto GCP com
roles/iam.securityReviewereroles/cloudAsset.viewer - CLI gcloud autenticada com permissões apropriadas
- API Cloud Asset habilitada (
gcloud services enable cloudasset.googleapis.com) - API IAM Recommender habilitada (
gcloud services enable recommender.googleapis.com) - API Policy Analyzer habilitada (
gcloud services enable policyanalyzer.googleapis.com)
Fluxo de Trabalho
Etapa 1: Enumerar Vinculações IAM em Toda a Organização
Liste todas as vinculações IAM nos níveis de organização, pasta e projeto para entender o cenário completo de acesso.
# Organization-level IAM bindings
gcloud organizations get-iam-policy ORG_ID \
--format=json > org-iam-policy.json
# Search all IAM policies across the organization
gcloud asset search-all-iam-policies \
--scope=organizations/ORG_ID \
--format="table(resource, policy.bindings.role, policy.bindings.members)" \
--limit=500
# Find all users and service accounts with Owner role
gcloud asset search-all-iam-policies \
--scope=organizations/ORG_ID \
--query="policy:roles/owner" \
--format="table(resource, policy.bindings.members)"
# Find all bindings using primitive roles (Owner, Editor, Viewer)
gcloud asset search-all-iam-policies \
--scope=organizations/ORG_ID \
--query="policy:roles/owner OR policy:roles/editor" \
--format=json | python3 -c "
import json, sys
data = json.load(sys.stdin)
for result in data:
resource = result.get('resource', '')
for binding in result.get('policy', {}).get('bindings', []):
role = binding.get('role', '')
if role in ['roles/owner', 'roles/editor']:
for member in binding.get('members', []):
print(f'{resource} | {role} | {member}')
"
Etapa 2: Auditar Contas de Serviço e Suas Chaves
Identifique contas de serviço com permissões excessivas, chaves gerenciadas pelo usuário e contas não utilizadas.
# List all service accounts in a project
gcloud iam service-accounts list \
--project=PROJECT_ID \
--format="table(email, displayName, disabled)"
# Check for user-managed keys (should be minimized)
for sa in $(gcloud iam service-accounts list --project=PROJECT_ID --format="value(email)"); do
keys=$(gcloud iam service-accounts keys list \
--iam-account="$sa" \
--managed-by=user \
--format="table(name.basename(),validAfterTime,validBeforeTime)")
if [ -n "$keys" ]; then
echo "=== $sa ==="
echo "$keys"
fi
done
# Find service accounts with admin roles across all projects
gcloud asset search-all-iam-policies \
--scope=organizations/ORG_ID \
--query="policy.bindings.members:serviceAccount AND (policy:roles/owner OR policy:roles/editor OR policy:admin)" \
--format="table(resource, policy.bindings.role, policy.bindings.members)"
# Check service account IAM policies (who can impersonate)
for sa in $(gcloud iam service-accounts list --project=PROJECT_ID --format="value(email)"); do
echo "=== $sa ==="
gcloud iam service-accounts get-iam-policy "$sa" --format=json 2>/dev/null
done
Etapa 3: Usar o IAM Recommender para Identificar Permissões Excessivas
Utilize o IAM Recommender do GCP para encontrar funções que concedem mais acesso do que o realmente utilizado.
# Listar recomendações de função IAM para um projeto
gcloud recommender recommendations list \
--project=PROJECT_ID \
--recommender=google.iam.policy.Recommender \
--location=global \
--format="table(name, description, priority, stateInfo.state)"
# Obter recomendação detalhada
gcloud recommender recommendations describe RECOMMENDATION_ID \
--project=PROJECT_ID \
--recommender=google.iam.policy.Recommender \
--location=global \
--format=json
# Listar insights sobre o uso do IAM
gcloud recommender insights list \
--project=PROJECT_ID \
--insight-type=google.iam.policy.Insight \
…
Perguntas frequentes
Preciso instalar algo?
Sim, você precisa ter a ferramenta 'gcloud CLI' instalada e configurada no seu computador, além de permissões específicas na sua conta do Google Cloud.
O que são 'primitive roles'?
São papéis genéricos como 'Proprietário', 'Editor' e 'Leitor' que dão muitas permissões. É recomendado usá-los com cuidado e preferir papéis mais específicos.
Posso usar isso para verificar firewalls?
Não, esta ferramenta é apenas para permissões de acesso (IAM) no Google Cloud. Para firewalls, você precisa usar outras ferramentas de segurança de rede.
Detalhes
Descrição original do autor
Auditing Google Cloud Platform IAM permissions to identify overly permissive bindings, primitive role usage, service account key proliferation, and cross-project access risks using gcloud CLI, Policy Analyzer, and IAM Recommender. '
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5517
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC