Pular para o conteúdo
Skillpedia
Segurança48 mil · #2246

aws-iam

Faz seu agente controlar quem acessa o quê na AWS. Ele gerencia usuários, permissões e regras de segurança para proteger seus recursos.

O que ela faz

Esta ferramenta ajuda a gerenciar quem pode acessar o quê na sua conta da Amazon Web Services (AWS). Ela permite criar 'identidades' (usuários e permissões) e controlar o acesso a recursos de forma segura.

Quando usar

  • ✓Ao criar um novo usuário para alguém acessar a AWS.
  • ✓Ao configurar permissões para um serviço da AWS (como um servidor ou função).
  • ✓Ao definir quem pode fazer o quê em diferentes partes da sua conta AWS.

Exemplo do que pedir para a IA

“Crie uma permissão para que o usuário 'joao' possa ler e escrever arquivos em um bucket S3 chamado 'meu-bucket'.”

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/aws-iam/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/aws-iam/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você usa comandos específicos da AWS para criar e gerenciar usuários, grupos e permissões. A ferramenta garante que as permissões sejam as mínimas necessárias para cada tarefa, aumentando a segurança.

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

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/aws-iam/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

AWS IAM

Gerencie identidade e acesso na AWS com políticas de privilégio mínimo, roles, federação e limites de permissão.

Quando Usar Esta Habilidade

  • Criar roles para instâncias EC2, funções Lambda ou tarefas ECS
  • Escrever políticas IAM personalizadas com acesso de privilégio mínimo
  • Configurar federação OIDC para GitHub Actions ou outros sistemas CI/CD
  • Implementar limites de permissão para administração delegada
  • Auditar acesso com IAM Access Analyzer e relatórios de credenciais
  • Configurar acesso entre contas com padrões assume-role
  • Exigir MFA e políticas de sessão

Pré-requisitos

  • AWS CLI v2 instalado e configurado
  • Permissões IAM: iam:* (ou escopo para ações específicas para privilégio mínimo)
  • Para OIDC: capacidade de criar provedores de identidade (iam:CreateOpenIDConnectProvider)
  • Acesso ao AWS Organizations para Service Control Policies (SCPs)

Estrutura de Política IAM

Toda política IAM segue a mesma estrutura JSON. Sempre especifique as ações e recursos mínimos necessários.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowS3ReadWrite",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::my-app-bucket",
        "arn:aws:s3:::my-app-bucket/*"
      ],
      "Condition": {
        "StringEquals": {
          "s3:x-amz-server-side-encryption": "aws:kms"
        }
      }
    },
    {
      "Sid": "DenyUnencryptedUploads",
      "Effect": "Deny",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::my-app-bucket/*",
      "Condition": {
        "StringNotEquals": {
          "s3:x-amz-server-side-encryption": "aws:kms"
        }
      }
    }
  ]
}

Criar e Gerenciar Roles

# Create an EC2 instance role with trust policy
aws iam create-role \
  --role-name EC2AppRole \
  --assume-role-policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Principal": {"Service": "ec2.amazonaws.com"},
      "Action": "sts:AssumeRole"
    }]
  }' \
  --tags '[{"Key":"Team","Value":"platform"},{"Key":"Environment","Value":"production"}]'

# Create and attach an inline policy
aws iam put-role-policy \
  --role-name EC2AppRole \
  --policy-name s3-access \
  --policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:PutObject"],
      "Resource": "arn:aws:s3:::my-app-bucket/*"
    }]
  }'

# Attach a managed policy
aws iam attach-role-policy \
  --role-name EC2AppRole \
  --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy

# Create instance profile and associate the role
aws iam create-instance-profile --instance-profile-name EC2AppProfile
aws iam add-role-to-instance-profile \
  --instance-profile-name EC2AppProfile \
  --role-name EC2AppRole

# Create a Lambda execution role
aws iam create-role \
  --role-name LambdaExecRole \
  --assume-role-policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Principal": {"Service": "lambda.amazonaws.com"},
      "Action": "sts:AssumeRole"
    }]
  }'

aws iam attach-role-policy \
  --role-name LambdaExecRole \
  --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole

Acesso Entre Contas

# In Account B: create role that Account A can assume
aws iam create-role \
  --role-name CrossAccountReadRole \
  --assume-role-policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Principal": {"AWS": "arn:aws:iam::111111111111:root"},
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {"sts:ExternalId": "unique-external-id-12345"}
      }
    }]
  }'

# In Account A: assume the role
aws sts assume-role \
  --role-arn arn:aws:iam::222222222222:role/CrossAccountReadRole \
  --role-session-name cross-account-session \
  --external-id unique-external-id-12345

# Use the temporary credentials
export AWS_ACCESS_KEY_ID="ASIAXXX"
export AWS_SECRET_ACCESS_KEY="xxx"
export AWS_SESSION_TOKEN="xxx"

Federação OIDC para GitHub Actions

# Criar o provedor de identidade OIDC do GitHub
aws iam create-open-id-connect-provider \
  --url https://token.actions.githubusercontent.com \
  --client-id-list sts.amazonaws.com \
  --thumbprint-list "6938fd4d98bab03faadb97b34396831e3780aea1"

# Criar uma role para GitHub Actions com confiança escopada por repositório
aws iam create-role \

…
Perguntas frequentes

O que são 'usuários' e 'funções' na AWS?

Usuários são pessoas ou aplicações que precisam de acesso. Funções são identidades temporárias que serviços da AWS podem usar para acessar outros serviços.

O que significa 'menor privilégio'?

Significa dar apenas as permissões estritamente necessárias para que uma tarefa seja realizada, evitando acessos desnecessários e aumentando a segurança.

Preciso saber programar para usar isso?

É útil ter alguma familiaridade com a linha de comando da AWS, mas a ferramenta pode guiar você através dos comandos básicos.

Detalhes

Descrição original do autor

Manage IAM users, roles, and policies. Implement least-privilege access and security best practices. Use when configuring AWS identity and access management.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2246
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas