(01)Install AWS Secrets Manager
Linux
1sudo apt-get install -y awscli && aws configureStore and rotate passwords, API keys, and database credentials in AWS
Alternative — team standard for Secrets management
What is this?
AWS Secrets Manager stores passwords and API keys with automatic rotation and IAM access control.
Step 01
1sudo apt-get install -y awscli && aws configureStep 02
1aws secretsmanager create-secret \2 --name prod/myapp/db \3 --description "Database credentials" \4 --secret-string '{"username":"admin","password":"CHANGE_ME"}'5 6aws secretsmanager get-secret-value --secret-id prod/myapp/dbStep 03
1aws secretsmanager list-secrets2aws secretsmanager describe-secret --secret-id prod/myapp/dbStep 04
1aws secretsmanager rotate-secret --secret-id prod/myapp/db2aws secretsmanager delete-secret --secret-id prod/myapp/db --force-delete-without-recoveryStep 05
1aws sts get-caller-identity2aws iam simulate-principal-policy \3 --policy-source-arn $(aws sts get-caller-identity --query Arn --output text) \4 --action-names secretsmanager:GetSecretValue \5 --resource-arns arn:aws:secretsmanager:region:account:secret:prod/myapp/db-*1 YAML template for AWS Secrets Manager. Copy and deploy after setup.
1 ready-to-copy template. Expand one, copy the YAML, then run the deploy commands.
secret-store.yml
1apiVersion: external-secrets.io/v1beta12kind: SecretStore3metadata:4 name: aws-secrets5 namespace: default6spec:7 provider:8 aws:9 service: SecretsManager10 region: us-east-1external-secret.yml
1apiVersion: external-secrets.io/v1beta12kind: ExternalSecret3metadata:4 name: app-db-credentials5 namespace: default6spec:7 refreshInterval: 1h8 secretStoreRef:9 name: aws-secrets10 kind: SecretStore11 target:12 name: db-credentials13 creationPolicy: Owner14 data:15 - secretKey: password16 remoteRef:17 key: prod/myapp/db18 property: passwordStep 01
1kubectl apply -f .2kubectl get all3kubectl get pods -w1kubectl delete -f .