Ravindra BagaleCourses & study guides English Track your progress

DynamoDB Security: IAM Fine-Grained Access, KMS आणि VPC Endpoints

Layla व Arjun: app नंतर security = उशीर. LeadingKeys + KMS + VPC endpoint. Multi-tenant आणि modeling links.

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

  • IAM least privilege
  • LeadingKeys / FGAC
  • KMS choice
  • VPC endpoint
  • Lab + cleanup

1. रोजचे उदाहरण: hotel key cards

Master = IAM *. Guest card = LeadingKeys. Cylinder = KMS. Private lift = VPC endpoint.

2. Vertical steps

Why -> What -> How -> Lab -> CleanupWhyWhatHowLabCleanup
Cleanup

3. हे का लागतं?

हे का लागतं?

Stolen keys + broad roles = leak. FGAC tenant stop. KMS decrypt control. VPC private path.

4. हे काय आहे?

हे काय आहे?

IAM actions+ARNs. LeadingKeys condition. SSE-DynamoDB किंवा CMK. VPC gateway endpoint.

5. कसं करायचं

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

  1. Who × which table.
  2. Table + index ARNs.
  3. LeadingKeys.
  4. KMS choice.
  5. VPC endpoint.
  6. Optional SCP.
  7. Negative test.

6. IAM policy sketch (LeadingKeys)

{
  "Effect": "Allow",
  "Action": ["dynamodb:GetItem","dynamodb:Query","dynamodb:PutItem","dynamodb:UpdateItem"],
  "Resource": [
    "arn:aws:dynamodb:ap-south-1:111122223333:table/lab-ddr-secure",
    "arn:aws:dynamodb:ap-south-1:111122223333:table/lab-ddr-secure/index/*"
  ],
  "Condition": {
    "ForAllValues:StringLike": {"dynamodb:LeadingKeys": ["TENANT#acme"]}
  }
}
# Meaning: role may only touch items whose PK begins with TENANT#acme.

App prefix + IAM. UI filter ≠ security.

7. KMS आणि encryption at rest

  • Default AWS-owned.
  • CMK = control + audit.
  • Indexes/backups too.
  • TLS in transit.

8. VPC gateway endpoint

Gateway endpoint + route. Endpoint policy. No NAT for DDB traffic.

9. Commands: output आणि अर्थ

aws dynamodb create-table --table-name lab-ddr-secure   --attribute-definitions AttributeName=PK,AttributeType=S AttributeName=SK,AttributeType=S   --key-schema AttributeName=PK,KeyType=HASH AttributeName=SK,KeyType=RANGE   --billing-mode PAY_PER_REQUEST   --sse-specification Enabled=true,SSEType=KMS
# Output: TableStatus CREATING; SSEDescription present when active
aws dynamodb describe-table --table-name lab-ddr-secure   --query 'Table.SSEDescription'
# Output: Status ENABLED, SSEType KMS — meaning encryption at rest on
aws ec2 create-vpc-endpoint --vpc-id vpc-0abc --service-name com.amazonaws.ap-south-1.dynamodb   --route-table-ids rtb-0xyz --vpc-endpoint-type Gateway
# Output: VpcEndpointId vpce-… State available — private path ready

SSE on → describe → endpoint. Cleanup later.

10. Industry stories

  • SaaS FGAC
  • Bank CMK
  • Health
  • Retail
  • IoT
  • Gaming

11. Lab

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

  1. Create+SSE.
  2. Put two tenants.
  3. FGAC test.
  4. Endpoint optional.
  5. Cleanup.

Cleanup

  1. Table delete.
  2. Endpoint delete.
  3. Confirm gone.

12. Ops checklist (ship आधी)

  1. TTL attr + seconds.
  2. Delete policy.
  3. PITR on.
  4. RPO/RTO doc.
  5. Multi-region rules.
  6. DAX miss path.
  7. Tags.
  8. Budget alert.

13. Copy-paste CLI starters

export AWS_DEFAULT_REGION=ap-south-1

# TTL status
aws dynamodb describe-time-to-live --table-name ShopApp

# PITR / continuous backups
aws dynamodb describe-continuous-backups --table-name ShopApp

# On-demand backup
aws dynamodb create-backup --table-name ShopApp --backup-name lab-shop-$(date +%Y%m%d)

# List backups
aws dynamodb list-backups --table-name ShopApp

# Global table description (v2)
aws dynamodb describe-table --table-name ShopApp --query 'Table.Replicas'

14. अजून industry stories

  • Retail TTL carts
  • Bank PITR drill
  • Travel GT
  • Gaming DAX
  • Social edges
  • IoT TTL

15. Glossary

Termअर्थ
TTLEpoch seconds नंतर delete
Soft deleteFlag; item राहतो
PITRContinuous restore window
Global TableMulti-region replica
LWWLast write जिंकते
DAXIn-memory cache
AdjacencyRelationship edges
Fan-outएक write → अनेक copies

16. Practice: मोठ्याने explain

  1. 60s delete modes.
  2. 60s PITR vs backup.
  3. 60s GT.
  4. 60s DAX.
  5. 60s CartLite.
  6. 60s social.
  7. Record ×2.

17. Safe lab hygiene

  • Budget alert.
  • lab- prefix.
  • Delete paid extras.
  • GT write plan.
  • Tags.
  • S3 cleanup.
  • Modeling
  • Transactions
  • Streams
  • CRUD TTL
  • Intro

19. Delete / archive pad

NeedPreferWhy
UndoSoft flagRestore
Hard expiryTTLAuto
Cold keepS3Cheap
MistakePITRRestore

20. दहा oral drills

  1. TTL units?
  2. Instant?
  3. PITR window?
  4. GT conflict?
  5. Sticky?
  6. DAX vs?
  7. Cart PK?
  8. Lines PK?
  9. Follow SK?
  10. Unread GSI?

21. RPO / RTO mini workshop

  1. RPO minutes.
  2. RTO.
  3. Map tools.
  4. Drill.
  5. Owner.

22. Cost watch list

  • Backup storage
  • GT writes
  • DAX idle
  • Export/S3
  • TTL→Streams

23. Project Definition of Done

  1. Patterns done.
  2. Samples.
  3. Lab hygiene.
  4. Condition/txn.
  5. Cleanup notes.
  6. Oral.
  • TTL→Backup
  • GT→hot
  • DAX after model
  • P1 reuse
  • P2 reuse

25. Quick self-check

  1. TTL delay?
  2. Soft vs hard?
  3. PITR start?
  4. GT no?
  5. DAX≠key fix?
  6. Cart keys?
  7. Follow edge?
  8. Cleanup habit?

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

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

Error / लक्षणFix
Resource *Scope ARNs
UI onlyIAM FGAC
Wrong prefixMatch PK
No index ARNAdd /index/*
CMK denyFix key policy
SG on gatewayEndpoint policy
Key in appTemp creds
Scan allowDeny Scan
No testNegative test

27. Troubleshooting checklist

  1. IAM match.
  2. PK shape.
  3. Wait SSE.
  4. Routes.
  5. CMK grants.

28. FAQ

प्र. Single table always?

Related patterns साठी हो; religion नाही.

प्र. RDS अजून?

Joins/SQL reports साठी हो — intro chapter.

प्र. Scan वाईट?

Hot path = Query/Get; Scan rare.

प्र. Put/Get कुठे?

CRUD/CLI/SDK chapters — link.

प्र. VPC endpoint required?

Private/compliance साठी हो; IAM अजून locked ठेवा.

प्र. LeadingKeys vs filter?

App UX; IAM enforce.

प्र. CMK कधी?

Key policy/audit गरज.

प्र. GSI + FGAC?

Tenant in GSI PK too.

प्र. LeadingKeys काय?

PK condition match.

प्र. Gateway endpoint का?

Private, no NAT.

प्र. CMK benefit?

Policy+audit.

प्र. MNC isolation proof?

Negative test+Trail.

घरी करून बघा

  1. Policy draft.
  2. CMK who.
  3. Routes list.

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

  1. Least privilege.
  2. LeadingKeys.
  3. KMS choice.
  4. VPC endpoint.
  5. Negative test.

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

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

उजळणी card: LeadingKeys IAM. UI फक्त hide. LeadingKeys IAM. Condition → Deny → stolen test. LeadingKeys first.
उजळणी card: LeadingKeys IAM · PNG download करा · Card page उघडा
उजळणी card: KMS + VPC endpoint. Gaps. CMK + VPCE. CMK → table → endpoint → block. CMK + private.
उजळणी card: KMS + VPC endpoint · PNG download करा · Card page उघडा
तुलना: UI filter only vs LeadingKeys IAM. UI filter only: फक्त UI hide. LeadingKeys IAM: LeadingKeys Deny.
तुलना: UI filter only vs LeadingKeys IAM · PNG download करा · Card page उघडा
तुलना: AWS-owned key vs Customer CMK. AWS-owned key: AWS-owned. Customer CMK: CMK audit.
तुलना: AWS-owned key vs Customer CMK · PNG download करा · Card page उघडा
मुलाखत card: Fine-grained access. Table-wide Allow. LeadingKeys = prefix. Deny off-tenant Get.
मुलाखत card: Fine-grained access · PNG download करा · Card page उघडा
मुलाखत card: Customer-managed KMS. Opaque decrypt. SSE-KMS CMK. Rotate + least Decrypt.
मुलाखत card: Customer-managed KMS · PNG download करा · Card page उघडा
मुलाखत card: VPC endpoint. Public hop. Gateway VPCE. Private PutItem.
मुलाखत card: VPC endpoint · PNG download करा · Card page उघडा
मुलाखत card: Least-privilege actions. Wildcard *. Exact actions + ARN. No Scan prod.
मुलाखत card: Least-privilege actions · PNG download करा · Card page उघडा

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

सराव Tasks

या scenario बद्दल

Maple Leaf Books हा टोरांटो मधला पुस्तक विक्री व्यवसाय आहे. Emily Tremblay त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे CAD मध्ये मोजले जातात आणि AWS resources ca-central-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 16

सोपं Least

का: IAM.

काय करायचं: Scope ARNs तर 1.

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

सोपं LeadingKeys

का: FGAC.

काय करायचं: LeadingKeys तर 1.

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

सोपं UI≠sec

का: Truth.

काय करायचं: UI not enough तर 1.

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

सोपं CMK

का: KMS.

काय करायचं: CMK तर 1.

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

सोपं Describe

का: CLI.

काय करायचं: describe.

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

सोपं IAM

का: Name.

काय करायचं: key.

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

सोपं EP policy

का: Policy.

काय करायचं: Endpoint policy तर 1.

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

मध्यम SSE

का: Rest.

काय करायचं: SSE rest तर 1.

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

मध्यम VPCE

का: Private.

काय करायचं: Gateway तर 1.

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

मध्यम Routes

का: Net.

काय करायचं: Routes तर 1.

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

मध्यम Index ARN

का: GSI.

काय करायचं: Index ARN तर 1.

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

मध्यम Keys

का: Sketch.

काय करायचं: pk/sk.

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

अवघड Negative

का: Proof.

काय करायचं: Negative test तर 1.

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

अवघड No Scan

का: Anti.

काय करायचं: Deny Scan तर 1.

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

अवघड No key

का: Creds.

काय करायचं: No embedded key तर 1.

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

अवघड Lab

का: Hygiene.

काय करायचं: Delete lab तर 1.

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