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

aws-secrets-rotation

Faz seu agente rotacionar automaticamente senhas e credenciais na AWS. Isso protege dados sensíveis como senhas de banco de dados e chaves de API.

O que ela faz

Esta ferramenta ajuda a trocar automaticamente senhas e chaves de acesso de serviços como bancos de dados (RDS) e APIs. Isso aumenta a segurança ao garantir que as informações de acesso não fiquem desatualizadas.

Quando usar

  • ✓Quando você usa bancos de dados na nuvem da AWS.
  • ✓Ao gerenciar chaves de acesso para serviços externos.
  • ✓Para seguir regras de segurança que exigem troca periódica de senhas.

Exemplo do que pedir para a IA

“Configure a troca automática de senha do meu banco de dados RDS a cada 30 dias.”

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/security/aws-secrets-rotation/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/security/aws-secrets-rotation/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta usa um serviço da AWS chamado Secrets Manager para guardar suas informações de acesso de forma segura. Ela também pode usar funções de programação (Lambda) para trocar essas informações automaticamente em intervalos definidos.

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-secrets-rotation

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/security/aws-secrets-rotation/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.

Rotação de Segredos da AWS

Automatize a rotação de segredos, credenciais e chaves de API usando o AWS Secrets Manager e o Lambda.

Quando Usar

Use esta funcionalidade quando precisar implementar rotação automatizada de segredos, gerenciar credenciais de forma segura ou cumprir políticas de segurança que exijam rotação regular de chaves.

Tipos de Segredos Suportados

Serviços AWS

  • Credenciais de banco de dados RDS
  • Credenciais do DocumentDB
  • Credenciais do Redshift
  • Credenciais do ElastiCache

Serviços de Terceiros

  • Chaves de API
  • Tokens OAuth
  • Chaves SSH
  • Credenciais personalizadas

Configuração do Secrets Manager

Criar um Segredo

# Create RDS secret
aws secretsmanager create-secret \
  --name prod/db/mysql \
  --description "Production MySQL credentials" \
  --secret-string '{
    "username": "admin",
    "password": "CHANGE_ME",
    "engine": "mysql",
    "host": "mydb.cluster-abc.us-east-1.rds.amazonaws.com",
    "port": 3306,
    "dbname": "myapp"
  }'

# Create API key secret
aws secretsmanager create-secret \
  --name prod/api/stripe \
  --secret-string '{
    "api_key": "sk_live_xxxxx",
    "webhook_secret": "whsec_xxxxx"
  }'

# Create secret from file
aws secretsmanager create-secret \
  --name prod/ssh/private-key \
  --secret-binary fileb://~/.ssh/id_rsa

Recuperar Segredos

# Get secret value
aws secretsmanager get-secret-value \
  --secret-id prod/db/mysql \
  --query 'SecretString' --output text

# Get specific field
aws secretsmanager get-secret-value \
  --secret-id prod/db/mysql \
  --query 'SecretString' --output text | \
  jq -r '.password'

# Get binary secret
aws secretsmanager get-secret-value \
  --secret-id prod/ssh/private-key \
  --query 'SecretBinary' --output text | \
  base64 -d > private-key.pem

Configuração de Rotação Automática

Habilitar Rotação do RDS

# Enable automatic rotation (30 days)
aws secretsmanager rotate-secret \
  --secret-id prod/db/mysql \
  --rotation-lambda-arn arn:aws:lambda:us-east-1:123456789012:function:SecretsManagerRDSMySQLRotation \
  --rotation-rules AutomaticallyAfterDays=30

# Rotate immediately
aws secretsmanager rotate-secret \
  --secret-id prod/db/mysql

# Check rotation status
aws secretsmanager describe-secret \
  --secret-id prod/db/mysql \
  --query 'RotationEnabled'

Função de Rotação do Lambda

# lambda_rotation.py
import boto3
import json
import os

secrets_client = boto3.client('secretsmanager')
rds_client = boto3.client('rds')

def lambda_handler(event, context):
    """Rotate RDS MySQL password"""
    
    secret_arn = event['SecretId']
    token = event['ClientRequestToken']
    step = event['Step']
    
    # Get current secret
    current = secrets_client.get_secret_value(SecretId=secret_arn)
    secret = json.loads(current['SecretString'])
    
    if step == "createSecret":
        # Generate new password
        new_password = generate_password()
        secret['password'] = new_password
        
        # Store as pending
        secrets_client.put_secret_value(
            SecretId=secret_arn,
            ClientRequestToken=token,
            SecretString=json.dumps(secret),
            VersionStages=['AWSPENDING']
        )
    
    elif step == "setSecret":
        # Update RDS password
        rds_client.modify_db_instance(
            DBInstanceIdentifier=secret['dbInstanceIdentifier'],
            MasterUserPassword=secret['password'],
            ApplyImmediately=True
        )
    
    elif step == "testSecret":
        # Test new credentials
        import pymysql
        conn = pymysql.connect(
            host=secret['host'],
            user=secret['username'],
            password=secret['password'],
            database=secret['dbname']
        )
        conn.close()
    
    elif step == "finishSecret":
        # Mark as current
        secrets_client.update_secret_version_stage(
            SecretId=secret_arn,
            VersionStage='AWSCURRENT',
            MoveToVersionId=token,
            RemoveFromVersionId=current['VersionId']
        )
    
    return {'statusCode': 200}

def generate_password(length=32):
    import secrets
    import string
    alphabet = string.ascii_letters + string.digits + "!@#$%^&*()"
    return ''.join(secrets.choice(alphabet) for _ in range(length))

Rotação Personalizada para Chaves de API

# api_key_rotation.py
import boto3
import requests
import json

secrets_client = boto3.client('secretsmanager')

def rotate_stripe_key(secret_arn, token, step):
    """Rotaciona a chave de API do Stripe"""
    

…
Perguntas frequentes

Quais tipos de segredos essa ferramenta pode gerenciar?

Ela pode gerenciar credenciais de bancos de dados da AWS (RDS, DocumentDB, Redshift), chaves de API, tokens OAuth, chaves SSH e outras credenciais personalizadas.

Como a troca automática funciona?

A ferramenta configura um processo que gera uma nova senha ou chave, testa se ela funciona e, se tudo estiver certo, substitui a antiga pela nova. Isso é feito de forma segura e automática.

É preciso saber programar para usar esta ferramenta?

Para configurar a troca automática, é necessário um conhecimento técnico básico sobre os serviços da AWS. No entanto, a ferramenta automatiza o processo de troca em si, simplificando a manutenção da segurança.

Detalhes

Descrição original do autor

Automate AWS secrets rotation for RDS, API keys, and credentials

repo: sickn33/agentic-awesome-skills

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas