Ravindra BagaleCourses & study guides English Track your progress

AWS Secrets Manager आणि KMS: Keys व Secrets सुरक्षित ठेवा

Junior अजून DB password plaintext env मध्ये ठेवतात. Secrets Manager = encrypted secret; KMS = keys. Lock + key factory.

या chapter मध्ये तुम्ही काय शिकाल

  • Plaintext का fail
  • Secrets Manager vs SSM
  • KMS CMK, policy, grants
  • Rotation + RDS
  • Lab, errors, FAQ, interview

1. आधी रोजचं उदाहरण

Hospital → RDS. 30 दिवसांनी rotate. Secrets Manager + Lambda rotate; app GetSecretValue. KMS CMK encrypt. Laptop चोरी → तरी IAM+KMS लागते.

2. दोन्ही services का?

हे का लागतं?

KMS = keys/crypto. Secrets Manager = rotating app secrets. SSM SecureString सुद्धा — rotation/lifecycle हवं तर Secrets Manager.

Serviceकशासाठी
KMSCMK + data keys
Secrets ManagerDB/API + rotation
SSMConfig / simpler secrets
App → GetSecretValue → KMS → ConnectDB password safely
IAM + KMS fetch

3. कसं जोडायचं

कसं करायचं (step by step)

  1. CMK तयार (audit साठी customer CMK).
  2. Secret + RDS rotation.
  3. App role: GetSecretValue + Decrypt.
  4. Secret log नका.
  5. Unusual GetSecretValue alert.
  6. Break-glass doc.
{
  "Effect": "Allow",
  "Action": ["secretsmanager:GetSecretValue"],
  "Resource": "arn:aws:secretsmanager:ap-south-1:111122223333:secret:prod/db-*"
}

4. Industries

  • BFSI: rotation + CMK
  • SaaS: per-tenant tokens
  • Healthcare: decrypt audit
  • Startups: Slack passwords थांबवा

5. Lab: dummy secret वाचा

Org block नसेल तर ap-south-1 (Mumbai). आधी budget alert.

कसं करायचं (step by step)

  1. CMK alias lab-secrets.
  2. Secret lab/demo.
  3. CMK encrypt.
  4. CloudShell get-secret-value.
  5. CloudTrail note.

Cleanup (billing थांबवा)

  1. Secret+CMK delete schedule.
  2. Lab IAM remove.

6. सामान्य errors आणि fixes

प्रत्येक row = खरी चूक. Panic करण्याआधी fix वाचा.

Error / लक्षणFix
Plaintext envSecrets Manager.
Star ResourcePin ARN.
CMK disableMonitor + staged.
Rotation failAlarm.
Forever cacheShort TTL.
Shared secretSplit.
AMI secretFetch at boot.
No replicaMulti-region plan.
All AdminLeast privilege.
CI log leakMask + OIDC.

7. Troubleshooting checklist

  1. IAM + key policy.
  2. Pending deletion restore.
  3. Rotation Lambda network.
  4. Key policy rollback.
  5. Region.
  6. CloudTrail config.

8. FAQ

प्र. SSM vs?

Rotation/lifecycle → Secrets Manager.

प्र. Decrypt कोण?

Key policy + IAM.

प्र. Envelope?

Data keys + bulk.

प्र. Cost?

Unused delete.

प्र. S3/EBS?

होय.

9. Interview Q&A

प्र. Env vars का नको?

Visible/hard rotate/logs.

प्र. KMS?

Keys + crypto ops.

प्र. CMK vs managed?

You control policy.

प्र. Rotation?

Lambda staged versions.

प्र. Least privilege?

Exact ARN + Decrypt.

प्र. Misuse?

CloudTrail + alarms.

10. Tips — English, मराठी आणि हिंदी

Ravindra Bagale's Tip (EN)

Treat every secret like a house key: know who has a copy and change the locks on a schedule.

Ravindra Bagale's Tip (MR)

Secret = घरची चावी: copy कोणाकडे, schedule वर locks बदला.

Tip (HI)

हर secret घर की चाबी है — किसके पास copy है जानो और समय पर ताले बदलो।

घरी करून बघा

  1. Hardcoded passwords शोधा.
  2. एक ARN policy.
  3. 60s envelope explain.

थोडक्यात सांगायचं तर

  1. Secrets Manager = rotating secrets.
  2. KMS = keys.
  3. IAM + key policy.
  4. No plaintext anywhere.

उजळणी, मुलाखत आणि तुलना cards

हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.

उजळणी card: Secrets Manager + KMS. Git/env plaintext = leak. Secrets Manager + KMS; runtime get. Create → CMK → IAM → rotate. RDS secret → Lambda GetSecretValue.
उजळणी card: Secrets Manager + KMS · PNG download करा · Card page उघडा
उजळणी card: Automatic rotation. Years-static password = risk. Rotation Lambda: pending → current. Enable schedule; test; monitor. 30-day rotate; no redeploy.
उजळणी card: Automatic rotation · PNG download करा · Card page उघडा
उजळणी card: CMK vs AWS managed. Compliance = key policy control. CMK = key policy + ownership. Prod CMK; per-env; least privilege. Key policy denies marketing.
उजळणी card: CMK vs AWS managed · PNG download करा · Card page उघडा
उजळणी card: Secrets साठी least privilege. * GetSecretValue = सर्व secrets. Specific ARNs; split read/rotate. App get; admin rotate; deny other CMK. Staging ↛ prod secret.
उजळणी card: Secrets साठी least privilege · PNG download करा · Card page उघडा
उजळणी card: Secrets Manager vs SSM. SSM vs Secrets — rule नसते. SSM=config; Secrets=rotation lifecycle. Rotate creds → Secrets; config → SSM. Stripe→Secrets; flag→SSM.
उजळणी card: Secrets Manager vs SSM · PNG download करा · Card page उघडा
तुलना: Secrets Manager vs SSM Parameter Store. Secrets Manager: Secret lifecycle + rotation. SSM Parameter Store: Hierarchical config; SecureString.
तुलना: Secrets Manager vs SSM Parameter Store · PNG download करा · Card page उघडा
तुलना: Customer managed key (CMK) vs AWS managed key. Customer managed key (CMK): तुमची key policy/rotation/grants. AWS managed key: AWS manage; कमी control.
तुलना: Customer managed key (CMK) vs AWS managed key · PNG download करा · Card page उघडा
मुलाखत card: Secrets Manager + KMS का?. Central + encrypt + rotate. CMK key policy. Runtime GetSecretValue.
मुलाखत card: Secrets Manager + KMS का? · PNG download करा · Card page उघडा
मुलाखत card: Rotation कसे?. Pending → DB → Current. Monitor; staging first. 30-day RDS.
मुलाखत card: Rotation कसे? · PNG download करा · Card page उघडा
मुलाखत card: Secrets Manager vs SSM?. Rotate→Secrets; config→SSM. एकच home for DB password. Stripe vs flag.
मुलाखत card: Secrets Manager vs SSM? · PNG download करा · Card page उघडा
मुलाखत card: Cross-account secret access?. Secret policy + KMS policy. Pull via IAM; no copy plaintext. B reads A secret.
मुलाखत card: Cross-account secret access? · PNG download करा · Card page उघडा

अजून cards: Ravi Sir's Cards.

सराव Tasks

या scenario बद्दल

Amravati Agro Market हा अमरावती मधला शेती व्यवसाय आहे. Anjali Thakre त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 16

सोपं Secrets list

का: Inventory.

काय करायचं: Secrets list.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Secret describe

का: Value न देता meta.

काय करायचं: amravatiagro/db describe.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं KMS keys

का: CMKs.

काय करायचं: KMS keys list.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Aliases

का: Key names.

काय करायचं: Aliases list.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Recovery window

का: Delete schedule.

काय करायचं: Recovery window days?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं Plaintext env

का: Plaintext नको.

काय करायचं: Plaintext env OK? नाही=0.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम GetSecretValue

का: Runtime fetch.

काय करायचं: amravatiagro/db value.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Key describe

का: State/policy.

काय करायचं: alias/lab-secrets describe.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम एक key Decrypt

का: Decrypt.

काय करायचं: key/abcd-efgh Decrypt.

कसं करायचं:
  1. { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
  2. प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
  3. Task ला लागेल तेवढंच द्या (least privilege).
  4. Double quotes व commas नीट वापरा. Check answer दाबा.

मध्यम Secret JSON

का: Structured.

काय करायचं: username app password changeme.

कसं करायचं:
  1. Task मधल्या top-level keys पासून सुरू करा.
  2. Child keys 2 spaces ने indent करा (tabs नकोत).
  3. प्रत्येक property मध्ये task मधली value भरा.
  4. Check answer दाबा. Keys चा क्रम महत्त्वाचा नाही.

मध्यम Both gates

का: दोन gates.

काय करायचं: IAM+key policy तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Cache TTL

का: Forever नको.

काय करायचं: Cache TTL minutes?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

अवघड Rotate

का: Rotation.

काय करायचं: amravatiagro/db rotate.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

अवघड Secret delete

का: Lab cleanup.

काय करायचं: amravatiagro/lab delete window 7.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

अवघड Pinned GetSecretValue

का: Star नको.

काय करायचं: secret:amravatiagro/db-* GetSecretValue.

कसं करायचं:
  1. { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
  2. प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
  3. Task ला लागेल तेवढंच द्या (least privilege).
  4. Double quotes व commas नीट वापरा. Check answer दाबा.

अवघड Rotation days

का: Schedule.

काय करायचं: RotationDays 30.

कसं करायचं:
  1. Task मधल्या top-level keys पासून सुरू करा.
  2. Child keys 2 spaces ने indent करा (tabs नकोत).
  3. प्रत्येक property मध्ये task मधली value भरा.
  4. Check answer दाबा. Keys चा क्रम महत्त्वाचा नाही.