aws-iam-best-practices
Ajuda seu agente a revisar e melhorar as permissões de acesso na AWS. Garante que apenas o necessário seja permitido, aumentando a segurança.
O que ela faz
Esta ferramenta ajuda a verificar e melhorar a segurança das suas permissões na nuvem AWS. Ela garante que apenas as ações necessárias sejam permitidas, seguindo as melhores práticas de segurança.
Quando usar
- ✓Quando você quer saber se suas permissões são muito amplas.
- ✓Para garantir que apenas o necessário seja acessível.
- ✓Ao configurar novas permissões para evitar falhas de segurança.
Exemplo do que pedir para a IA
“Verifique minhas permissões para que apenas o essencial seja acessado.”
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
A ferramenta analisa suas permissões existentes e sugere ajustes para seguir o princípio do menor privilégio. Ela também verifica se a autenticação de múltiplos fatores (MFA) está ativada e se as chaves de acesso estão seguras.
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 sickn33/agentic-awesome-skills --skill aws-iam-best-practicesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/security/aws-iam-best-practices/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.
Melhores Práticas do AWS IAM
Revise e fortaleça as políticas do IAM seguindo as melhores práticas de segurança da AWS e os princípios de menor privilégio.
Quando Usar
Use esta habilidade quando precisar revisar políticas do IAM, implementar acesso de menor privilégio ou fortalecer a segurança do IAM.
Princípios Fundamentais
Menor Privilégio
- Conceda as permissões mínimas necessárias
- Use políticas gerenciadas quando possível
- Evite permissões com curinga (*)
- Revisões regulares de acesso
Defesa em Profundidade
- Habilite MFA para todos os usuários
- Use funções do IAM em vez de chaves de acesso
- Implemente políticas de controle de serviço (SCPs)
- Habilite o CloudTrail para auditoria
Separação de Funções
- Separe funções de administrador e de usuário
- Use funções diferentes para ambientes diferentes
- Implemente fluxos de trabalho de aprovação
- Auditorias regulares de permissões
Verificações de Segurança do IAM
Encontrar Políticas Excessivamente Permissivas
# List policies with full admin access
aws iam list-policies --scope Local \
--query 'Policies[*].[PolicyName,Arn]' --output table | \
grep -i admin
# Find policies with wildcard actions
aws iam list-policies --scope Local --query 'Policies[*].Arn' --output text | \
while read arn; do
version=$(aws iam get-policy --policy-arn "$arn" \
--query 'Policy.DefaultVersionId' --output text)
doc=$(aws iam get-policy-version --policy-arn "$arn" \
--version-id "$version" --query 'PolicyVersion.Document')
if echo "$doc" | grep -q '"Action": "\*"'; then
echo "Wildcard action in: $arn"
fi
done
# Find inline policies (should use managed policies)
aws iam list-users --query 'Users[*].UserName' --output text | \
while read user; do
policies=$(aws iam list-user-policies --user-name "$user" \
--query 'PolicyNames' --output text)
if [ -n "$policies" ]; then
echo "Inline policies on user $user: $policies"
fi
done
Aplicação de MFA
# List users without MFA
aws iam get-credential-report --output text | \
awk -F, 'NR>1 && $4=="false" {print $1}'
# Check if MFA is required in policies
aws iam list-policies --scope Local --query 'Policies[*].Arn' --output text | \
while read arn; do
version=$(aws iam get-policy --policy-arn "$arn" \
--query 'Policy.DefaultVersionId' --output text)
doc=$(aws iam get-policy-version --policy-arn "$arn" \
--version-id "$version" --query 'PolicyVersion.Document')
if echo "$doc" | grep -q "aws:MultiFactorAuthPresent"; then
echo "MFA enforced in: $arn"
fi
done
# Enable MFA for a user (returns QR code)
aws iam create-virtual-mfa-device \
--virtual-mfa-device-name user-mfa \
--outfile /tmp/qr.png \
--bootstrap-method QRCodePNG
Gerenciamento de Chaves de Acesso
# Find old access keys (>90 days)
aws iam list-users --query 'Users[*].UserName' --output text | \
while read user; do
aws iam list-access-keys --user-name "$user" \
--query 'AccessKeyMetadata[*].[AccessKeyId,CreateDate,Status]' \
--output text | \
while read key_id create_date status; do
age_days=$(( ($(date +%s) - $(date -d "$create_date" +%s)) / 86400 ))
if [ $age_days -gt 90 ]; then
echo "$user: Key $key_id is $age_days days old"
fi
done
done
# Rotate access key
OLD_KEY="<AWS_ACCESS_KEY_ID>"
USER="myuser"
# Create new key
NEW_KEY=$(aws iam create-access-key --user-name "$USER")
echo "New key created. Update applications, then run:"
echo "aws iam delete-access-key --user-name $USER --access-key-id $OLD_KEY"
# Deactivate old key (test first)
aws iam update-access-key \
--user-name "$USER" \
--access-key-id "$OLD_KEY" \
--status Inactive
Análise de Funções e Políticas
# List unused roles (no activity in 90 days)
aws iam list-roles --query 'Roles[*].[RoleName,RoleLastUsed.LastUsedDate]' \
--output text | \
while read role last_used; do
if [ "$last_used" = "None" ]; then
echo "Never used: $role"
fi
done
# Find roles with trust relationships to external accounts
aws iam list-roles --query 'Roles[*].RoleName' --output text | \
while read role; do
trust=$(aws iam get-role --role-name "$role" \
--query 'Role.AssumeRolePolicyDocument')
if echo "$trust" | grep -q '"AWS":'; then
echo "External trust: $role"
fi
done
# Analyze policy permissions
aws iam simulate-principal-policy \
--policy-source-arn arn:aws:iam::123456789012:user/myuser \
--action-names s3:GetObject s3:PutObject \
--resource-arns arn:aws:s3:::mybucket/*
Modelos de Políticas do IAM
Menor Privilégio de Acesso ao S3
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
…
Perguntas frequentes
O que é o 'menor privilégio'?
É o princípio de dar a alguém (ou a um serviço) apenas as permissões exatas que ele precisa para fazer seu trabalho, e nada mais.
O que é MFA?
MFA significa Autenticação de Múltiplos Fatores. É uma camada extra de segurança que exige mais de uma forma de verificar sua identidade, como uma senha e um código do seu celular.
Por que evitar permissões com '*'?
Usar '*' em permissões significa 'tudo'. Isso pode dar acesso a mais coisas do que o necessário, aumentando o risco de segurança.
Detalhes
Descrição original do autor
IAM policy review, hardening, and least privilege implementation
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4091
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC