securing-aws-lambda-execution-roles
Otimiza as permissões de funções de execução do AWS Lambda. Garante que as funções tenham acesso mínimo necessário para operar.
O que ela faz
Este guia ensina como tornar as permissões das funções Lambda mais seguras. Ele ajuda a garantir que cada função tenha acesso apenas ao que realmente precisa, evitando riscos de segurança.
Quando usar
- ✓Ao criar novas funções Lambda.
- ✓Ao corrigir funções Lambda com permissões excessivas.
- ✓Ao configurar o acesso mínimo necessário para suas funções.
Exemplo do que pedir para a IA
“Como posso garantir que minha função Lambda só acesse os dados que ela precisa no S3?”
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
Ele analisa o que sua função Lambda faz, cria regras de permissão específicas para ela e aplica limites para garantir que ela não possa fazer mais do que o permitido.
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 securing-aws-lambda-execution-rolesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/securing-aws-lambda-execution-roles/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.
Protegendo Funções de Execução do AWS Lambda
Quando Usar
- Ao implantar novas funções Lambda e definir suas funções de execução IAM
- Ao corrigir funções Lambda excessivamente permissivas descobertas durante auditorias de segurança
- Ao implementar padrões de acesso de menor privilégio para arquiteturas serverless
- Ao criar modelos IAM reutilizáveis para funções Lambda entre equipes
- Quando o Security Hub ou o Prowler relatam funções Lambda com permissões excessivas
Não use para proteger a invocação de funções Lambda (use políticas baseadas em recursos e autorizadores do API Gateway), para segurança de código Lambda (use ferramentas SAST) ou para segurança de rede Lambda (use configuração de VPC e grupos de segurança).
Pré-requisitos
- Permissões IAM para criação de políticas, modificação de roles e operações do Access Analyzer
- AWS IAM Access Analyzer habilitado na conta
- Eventos de dados do CloudTrail habilitados para Lambda para capturar o uso real da API
- Funções Lambda existentes para auditar e definir o escopo das permissões
- Compreensão das interações necessárias de cada função com os serviços AWS
Fluxo de Trabalho
Etapa 1: Auditar Permissões Atuais da Função de Execução Lambda
Liste todas as funções Lambda e suas roles IAM associadas para identificar funções com privilégios excessivos.
# List all Lambda functions with their execution roles
aws lambda list-functions \
--query 'Functions[*].[FunctionName,Role]' --output table
# For each function, analyze attached policies
for func in $(aws lambda list-functions --query 'Functions[*].FunctionName' --output text); do
role_arn=$(aws lambda get-function-configuration --function-name "$func" --query 'Role' --output text)
role_name=$(echo "$role_arn" | awk -F'/' '{print $NF}')
echo "=== $func -> $role_name ==="
# Check for AWS managed policies (often too broad)
aws iam list-attached-role-policies --role-name "$role_name" \
--query 'AttachedPolicies[*].[PolicyName,PolicyArn]' --output table
# Check inline policies
for policy in $(aws iam list-role-policies --role-name "$role_name" --query 'PolicyNames' --output text); do
echo " Inline: $policy"
aws iam get-role-policy --role-name "$role_name" --policy-name "$policy" \
--query 'PolicyDocument' --output json
done
done
Etapa 2: Analisar o Uso Real da API com o CloudTrail
Use o CloudTrail e o IAM Access Analyzer para determinar quais ações de API a função realmente utiliza.
# Query CloudTrail for actual API calls made by a Lambda execution role
aws cloudtrail lookup-events \
--lookup-attributes AttributeKey=Username,AttributeValue=LAMBDA_ROLE_NAME \
--start-time 2026-01-23T00:00:00Z \
--end-time 2026-02-23T00:00:00Z \
--query 'Events[*].[EventTime,EventName,EventSource]' \
--output table | sort -k2 | uniq -f1
# Use IAM Access Analyzer policy generation (based on CloudTrail activity)
aws accessanalyzer start-policy-generation \
--policy-generation-details '{
"principalArn": "arn:aws:iam::ACCOUNT:role/lambda-execution-role",
"cloudTrailDetails": {
"trailArn": "arn:aws:cloudtrail:us-east-1:ACCOUNT:trail/management-trail",
"startTime": "2026-01-23T00:00:00Z",
"endTime": "2026-02-23T00:00:00Z"
}
}'
# Check the generated policy
aws accessanalyzer get-generated-policy \
--job-id JOB_ID \
--query 'generatedPolicyResult.generatedPolicies[*].policy'
Etapa 3: Criar Políticas de Execução de Menor Privilégio
Crie políticas IAM com escopo definido que concedam apenas as ações e recursos específicos que cada função precisa.
# Exemplo: Política com escopo para uma função que lê do S3 e escreve no DynamoDB
cat > lambda-scoped-policy.json << 'EOF'
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadInputBucket",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::input-data-bucket",
"arn:aws:s3:::input-data-bucket/*"
]
},
{
"Sid": "WriteDynamoDB",
"Effect": "Allow",
"Action": [
"dynamodb:PutItem",
"dynamodb:UpdateItem",
"dynamodb:BatchWriteItem"
],
"Resource": "arn:aws:dynamodb:us-east-1:ACCOUNT:table/results-table"
},
{
"Sid": "CloudWatchLogs",
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:us-east-1:ACCOUNT:log-group:/aws/lambda/my-function:*"
}
]
}
EOF
# Criar a política
aws iam create-policy \
…
Perguntas frequentes
O que são 'funções Lambda'?
São pequenos programas que rodam na nuvem da Amazon (AWS) sem que você precise gerenciar servidores.
O que são 'permissões' ou 'políticas IAM'?
São regras que definem o que um usuário ou serviço (como uma função Lambda) pode ou não fazer dentro da AWS.
Por que é importante limitar as permissões?
Para evitar que, se uma função for comprometida, o invasor tenha acesso a informações ou ações que não deveria, protegendo seus dados e sistemas.
Detalhes
Descrição original do autor
Hardens AWS Lambda execution roles by writing least-privilege IAM policies, applying permission boundaries, restricting resource-based policies, validating permissions with IAM Access Analyzer, and enforcing role scoping through SCPs. Use when deploying new Lambda functions, remediating overly permissive Lambda roles found in an audit, or building reusable least-privilege IAM role templates for se
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6203
- 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
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC