Ravindra BagaleCourses & study guides English

S3 Bucket Policy Examples: Block Public Access, ACLs, Pre-Signed URLs आणि Encryption

Private EC2 मधून S3 कसं वापरायचं मध्ये server ला S3 कडे private रस्ता दिला. आता data सोबत कोण काय करू शकतो ते ठरवायचं. हा chapter Block Public Access, IAM policies vs bucket policies, Object Ownership आणि ACLs, copy करता येणारी सात bucket policy examples, तात्पुरत्या sharing साठी pre-signed URLs, आणि SSE-S3 व SSE-KMS encryption शिकवतो. शेवटी lab.

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

  • S3 data leaks का होतात, आणि Block Public Access ते कसं थांबवतं
  • IAM policy vs bucket policy: कोण कुठे तपासला जातो
  • Object Ownership: ACLs disabled vs enabled
  • सात bucket policy JSON examples
  • सहा languages मध्ये pre-signed URLs
  • SSE-S3 vs SSE-KMS encryption

1. Data leak ची गोष्ट

एक company customer ID cards एका bucket मध्ये ठेवते. एक developer "फक्त test साठी" bucket public करतो आणि विसरतो. काही आठवड्यांनी security researcher ला 50,000 ID cards पूर्ण internet साठी उघडे सापडतात. बातम्यांमध्ये breach म्हणतात.

S3 hack झालं नव्हतं. एक setting चुकीचं होतं. या chapter मधलं सगळं म्हणजे योग्य setting सोपं करणं.

2. Block Public Access

हे का लागतं?

एक चुकीची policy किंवा ACL data public करू शकते. सगळ्या policies वरचा safety switch ती चूक थांबवतो.

हे काय आहे?

Block Public Access (BPA) म्हणजे account किंवा bucket level वरचे चार switches. चालू असतील तर data public करणारी कोणतीही policy किंवा ACL S3 नाकारतं. नवीन buckets मध्ये चारही default ने चालू.

Switchकाय block करतो
BlockPublicAclsनवीन public ACLs
IgnorePublicAclsआधीच्या public ACLs (ignore)
BlockPublicPolicyPublic access देणाऱ्या नवीन bucket policies
RestrictPublicBucketsआधीच्या public policy मधून public आणि cross-account access

Ravindra Bagale's Tip

Account level वर BPA चालू ठेवा. खरंच public असायलाच हवा अशा एकाच bucket वर बंद करा, उदा. CloudFront नसलेला website bucket.

3. IAM policy vs bucket policy

हे का लागतं?

S3 permissions दोन ठिकाणी तपासतं. दोन्ही माहीत नसतील तर जास्त permission द्याल किंवा तासन्तास debug कराल.

हे काय आहे?

मुद्दाIAM policyBucket policy
कशाला attachUser, group किंवा roleBucket
उत्तरही identity काय करू शकते?हा bucket कोण वापरू शकतं?
Principal असतोनाहीहो
Cross-account / publicनाहीहो
उदाहरणRole app-role ला reels-app-media/* वर PutObjectHTTPS नसलेली प्रत्येक request deny

नियम: एकाच account मध्ये, कुठेही Allow पुरेसा, जोपर्यंत काही Deny म्हणत नाही. कुठलाही explicit Deny नेहमी जिंकतो.

S3 कसं ठरवतंRequest येतेExplicit Deny आहे?हो → deniedBlock Public Accesspublic? → deniedIAM किंवा bucket policyमध्ये Allow?Allowed
आधी Deny, मग public guard, मग Allow शोधा.

4. Object Ownership आणि ACLs

हे का लागतं?

ACLs ही जुनी, दर-object permission system. दुसरं account तुमच्या bucket मध्ये upload करतं तेव्हा ACLs मुळे ते account object चं owner होऊ शकतं, आणि तुम्ही तुमच्याच bucket च्या files वाचू शकत नाही.

हे काय आहे?

Settingअर्थकधी
ACLs disabled: Bucket owner enforced (default)प्रत्येक object तुमच्या account चा. ACLs ignore. फक्त policies access ठरवतात.जवळजवळ नेहमी
ACLs enabled: Bucket owner preferredbucket-owner-full-control ACL असलेले uploads तुमचे.अजूनही ACLs पाठवणारे legacy cross-account writers
ACLs enabled: Object writerUpload करणारं account object चं owner.क्वचित: writer ला ownership ठेवायची असेल

उदाहरण: partner account मधलं जुनं log-shipping tool --acl bucket-owner-full-control सह upload करतं. "Bucket owner preferred" सोबत ते logs तुमचेच. Default "Bucket owner enforced" सोबत ACL ignore होतो आणि logs तसेही तुमचेच, म्हणून बहुतेक teams default ठेवतात.

5. सात bucket policy examples

हे का लागतं?

बहुतेक S3 security bucket policy JSON मध्ये लिहिली जाते. Shape एकदा शिका, मग ही examples copy करून बदला.

हे काय आहे?

प्रत्येक statement मध्ये Effect (Allow/Deny), Principal (कोण), Action (काय), Resource (कोणता bucket किंवा objects) आणि optional Condition (कधी). arn:aws:s3:::bucket म्हणजे bucket; arn:aws:s3:::bucket/* म्हणजे प्रत्येक object.

1. Website साठी public read (या bucket वर BPA बंद हवा)

{"Version":"2012-10-17","Statement":[{"Sid":"PublicRead","Effect":"Allow","Principal":"*",
 "Action":"s3:GetObject","Resource":"arn:aws:s3:::my-site-bucket/*"}]}

2. एका IAM role ला read आणि write

{"Version":"2012-10-17","Statement":[{"Sid":"AppRole","Effect":"Allow",
 "Principal":{"AWS":"arn:aws:iam::111122223333:role/reels-ec2-role"},
 "Action":["s3:GetObject","s3:PutObject"],"Resource":"arn:aws:s3:::reels-app-media/*"}]}

3. HTTPS नसलेली प्रत्येक request deny

{"Version":"2012-10-17","Statement":[{"Sid":"HttpsOnly","Effect":"Deny","Principal":"*","Action":"s3:*",
 "Resource":["arn:aws:s3:::reels-app-media","arn:aws:s3:::reels-app-media/*"],
 "Condition":{"Bool":{"aws:SecureTransport":"false"}}}]}

4. फक्त आपल्या VPC endpoint मधून

{"Version":"2012-10-17","Statement":[{"Sid":"OnlyFromVpce","Effect":"Deny","Principal":"*","Action":"s3:*",
 "Resource":["arn:aws:s3:::reels-app-media","arn:aws:s3:::reels-app-media/*"],
 "Condition":{"StringNotEquals":{"aws:SourceVpce":"vpce-0abc12345def67890"}}}]}

काळजी: हे console मधून तुम्हालाही block करतं. Save करण्याआधी aws:PrincipalArn ने admin role ला exception द्या.

5. फक्त office IP range मधून

{"Version":"2012-10-17","Statement":[{"Sid":"OfficeOnly","Effect":"Deny","Principal":"*","Action":"s3:*",
 "Resource":["arn:aws:s3:::finance-reports","arn:aws:s3:::finance-reports/*"],
 "Condition":{"NotIpAddress":{"aws:SourceIp":"203.0.113.0/24"}}}]}

aws:SourceIp फक्त public IPs बघतो. VPC endpoint मधून येणाऱ्या traffic ला public source IP नसतो, म्हणून तिथे aws:SourceVpce वापरा.

6. Partner account ला cross-account read

{"Version":"2012-10-17","Statement":[{"Sid":"PartnerRead","Effect":"Allow",
 "Principal":{"AWS":"arn:aws:iam::444455556666:root"},
 "Action":["s3:ListBucket","s3:GetObject"],
 "Resource":["arn:aws:s3:::shared-reports","arn:aws:s3:::shared-reports/*"]}]}

Partner ने स्वतःच्या users ना पण या actions साठी IAM policy द्यावी. दोन्ही बाजूंनी allow हवं.

7. KMS ने encrypt न केलेले uploads deny

{"Version":"2012-10-17","Statement":[{"Sid":"KmsOnly","Effect":"Deny","Principal":"*","Action":"s3:PutObject",
 "Resource":"arn:aws:s3:::secure-docs/*",
 "Condition":{"StringNotEquals":{"s3:x-amz-server-side-encryption":"aws:kms"}}}]}

January 2023 पासून प्रत्येक नवीन object default ने SSE-S3 ने encrypt होतो. नियम "KMS च हवं" असा असेल तेव्हा ही policy वापरा, फक्त "encrypted हवं" साठी नाही. Bucket वर default encryption SSE-KMS ठेवणं हा सोपा मार्ग.

6. Pre-signed URLs

हे का लागतं?

User ने स्वतःची invoice download करावी किंवा video upload करावा, पण bucket private राहायला हवा आणि user ला कधीच AWS keys मिळू नयेत.

हे काय आहे?

Pre-signed URL म्हणजे app च्या credentials ने बनवलेल्या signature सह साधा S3 URL. Link असलेला कोणीही expire होईपर्यंत त्या एका key वर ती एकच action (GET किंवा PUT) करू शकतो. IAM user सोबत 7 दिवसांपर्यंत; role (EC2) सोबत role चे temporary credentials संपले की संपतो, बहुतेक काही तासांत.

Stack15 minutes चालणारी GET link
AWS CLIaws s3 presign s3://reels-app-media/v/42.mp4 --expires-in 900
Node.jsawait getSignedUrl(s3, new GetObjectCommand({Bucket:b,Key:k}), {expiresIn:900})
Python boto3s3.generate_presigned_url("get_object", Params={"Bucket":b,"Key":k}, ExpiresIn=900)
Javapresigner.presignGetObject(r -> r.signatureDuration(Duration.ofMinutes(15)).getObjectRequest(g -> g.bucket(b).key(k)))
PHP$s3->createPresignedRequest($s3->getCommand('GetObject',['Bucket'=>$b,'Key'=>$k]),'+15 minutes')
.NETs3.GetPreSignedURL(new GetPreSignedUrlRequest{BucketName=b,Key=k,Expires=DateTime.UtcNow.AddMinutes(15)})
Gopresign.PresignGetObject(ctx,&s3.GetObjectInput{Bucket:&b,Key:&k},s3.WithPresignExpires(15*time.Minute))

Signer ला ती action करायची परवानगी असेल तरच link चालते. Role चं s3:GetObject गेलं तर त्याने बनवलेल्या सगळ्या links बंद.

7. Encryption: SSE-S3 vs SSE-KMS

हे का लागतं?

कोणाला physical disks मिळाल्या तरी encrypted data त्यांच्या कामाचा नाही. काही कायदे key control आणि audit करायला पण सांगतात.

हे काय आहे?

मुद्दाSSE-S3SSE-KMS
Key कोण सांभाळतंपूर्ण S3AWS KMS (AWS managed किंवा तुमची customer managed key)
खर्चFreeKMS request charges (Bucket Key ने कमी)
Decrypt कोणs3:GetObject असलेला कोणीहीs3:GetObject आणि kms:Decrypt दोन्ही
AuditKey log नाहीप्रत्येक key वापर CloudTrail मध्ये
कशासाठीबहुतेक data (default)Regulated किंवा sensitive data

तसंच: DSSE-KMS कडक नियमांसाठी दोन layers देतो, आणि SSE-C म्हणजे प्रत्येक request सोबत तुमची स्वतःची key. Transit मध्ये HTTPS वापरा (example 3 ते enforce करतो).

8. Lab: private bucket, HTTPS-only policy, role access, pre-signed link आणि KMS

हे का लागतं?

Private object साधी link नाकारतो, pre-signed link ने उघडतो, साधा HTTP नाकारतो, आणि KMS key वापरतो हे तुम्ही बघाल.

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

  1. Region ap-south-1. Bucket yourname-sec-lab बनवा: ACLs disabled, Block all public access on, default encryption SSE-S3.
  2. CloudShell मध्ये: echo "invoice 1001" > inv.txt && aws s3 cp inv.txt s3://yourname-sec-lab/invoices/.
  3. साधा URL: curl -s https://yourname-sec-lab.s3.ap-south-1.amazonaws.com/invoices/inv.txt. अपेक्षित: <Code>AccessDenied</Code>.
  4. Pre-signed link: U=$(aws s3 presign s3://yourname-sec-lab/invoices/inv.txt --expires-in 300 --region ap-south-1) मग curl -s "$U". अपेक्षित: invoice 1001.
  5. Bucket › Permissions › Bucket policy › Edit. Example 3 (HTTPS only) तुमच्या bucket नावासह paste. Save. का: आता साधा HTTP सगळ्यांसाठी नाकारला जातो.
  6. HTTP test: curl -s "${U/https/http}". अपेक्षित: AccessDenied. HTTPS link चालतेच.
  7. KMS › Customer managed keys › Create key: Symmetric, Encrypt and decrypt, alias sec-lab-key, key admin आणि user = तुमचा admin role.
  8. KMS सह upload: aws s3 cp inv.txt s3://yourname-sec-lab/kms/inv.txt --sse aws:kms --sse-kms-key-id alias/sec-lab-key.
  9. तपासा: aws s3api head-object --bucket yourname-sec-lab --key kms/inv.txt. अपेक्षित: "ServerSideEncryption": "aws:kms" आणि key ARN.
  10. CloudTrail › Event history, Event source kms.amazonaws.com filter. अपेक्षित: GenerateDataKey event. का: KMS वापर audit होतो.

Cleanup

  1. aws s3 rb s3://yourname-sec-lab --force.
  2. KMS › key › Key actions › Schedule key deletion, 7 days. का: keys ला साधारण $1 दर महिना लागतो आणि लगेच delete होत नाहीत.

9. Interview questions

प्र. Block Public Access काय करतं?

Account किंवा bucket level वर public ACLs आणि public bucket policies नाकारायला लावणारे चार switches. नवीन buckets साठी default ने चालू.

प्र. Cross-account access साठी IAM policy की bucket policy?

Bucket policy, कारण त्यात Principal असतो. दुसऱ्या account ने पण IAM ने त्यांच्या users ना allow करायला हवं.

प्र. ACLs default ने disabled का?

म्हणजे प्रत्येक object bucket owner चा आणि access फक्त policies मधून, audit करायला सोपं.

प्र. Bucket वर HTTPS कसं force करता?

Condition aws:SecureTransport = false असलेलं Deny statement.

प्र. Pre-signed URL किती काळ चालू शकतो?

IAM user credentials सोबत 7 दिवसांपर्यंत; role credentials सोबत ते temporary credentials संपेपर्यंतच.

प्र. SSE-S3 vs SSE-KMS?

SSE-S3 free आणि पूर्ण S3 managed. SSE-KMS KMS key वापरतं, वाचायला kms:Decrypt लागतं, आणि प्रत्येक वापर CloudTrail मध्ये.

घरी करून बघा

  1. फक्त public/ prefix वर GetObject allow करणारी bucket policy लिहा आणि curl ने test करा.
  2. boto3 ने pre-signed PUT URL बनवा आणि curl -X PUT --upload-file ने त्यावर file upload करा.
  3. Test role मधून kms:Decrypt काढा आणि read fail होताना बघा.

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

  1. Block Public Access हा safety switch; चालू ठेवा.
  2. IAM = identity काय करू शकते; bucket policy = bucket कोण वापरू शकतं.
  3. Explicit Deny नेहमी जिंकतो.
  4. ACLs disabled (bucket owner enforced) default आणि best.
  5. Pre-signed URLs keys शिवाय थोड्या काळासाठी एक object share करतात.
  6. Default SSE-S3; key control आणि audit हवा तेव्हा SSE-KMS.

सराव Tasks

या scenario बद्दल

Jakarta Batik हा जकार्ता मधला हस्तकला व्यवसाय आहे. Siti Rahmawati त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे IDR मध्ये मोजले जातात आणि AWS resources ap-southeast-3 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 12

सोपं एका bucket ला read-only access

का: Least privilege: कामाला लागणारे actions व bucket च द्या.

काय करायचं: User ला फक्त jakartabatik-data bucket मधले objects वाचू (s3:GetObject) देणारी identity policy लिहा.

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

सोपं CloudFormation: versioned bucket

का: IaC मुळे setup पुन्हा करता येतं.

काय करायचं: jakartabatik-docs नावाचा, versioning Enabled असलेला एक S3 bucket CloudFormation YAML मध्ये लिहा.

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

मध्यम Temporary download link बनवा

का: Pre-signed URL ने bucket public न करता एक private file थोड्या वेळासाठी share होते.

काय करायचं: s3://jakartabatik-invoices-2026/inv-101.pdf साठी 3600 seconds मध्ये expire होणारा pre-signed URL बनवा.

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

मध्यम Public website साठी bucket policy

का: Static website bucket ने सगळ्यांना files वाचू द्याव्या.

काय करायचं: jakartabatik-site मधल्या प्रत्येक object वर कोणालाही (*) s3:GetObject करू देणारी bucket policy लिहा.

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

मध्यम एका folder मध्ये फक्त upload

का: Field staff files टाकू शकतात पण वाचू/delete करू शकत नाहीत.

काय करायचं: jakartabatik-data मध्ये फक्त uploads/ prefix खाली s3:PutObject allow करा.

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

मध्यम File मधून bucket policy लावा

का: मोठा JSON file मध्ये ठेवणं सोपं; file:// ने CLI ती file वाचतो.

काय करायचं: policy.json मधली bucket policy jakartabatik-web bucket ला लावा.

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

मध्यम एक bucket list व read

का: ListBucket bucket ARN वर; GetObject object ARNs वर चालतो.

काय करायचं: jakartabatik-data bucket वर s3:ListBucket व सगळ्या objects वर s3:GetObject allow करा. बाकी काही नाही.

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

मध्यम Storage खर्च

का: Storage per GB-month.

काय करायचं: S3 Standard मध्ये 500 GB, USD 0.023 per GB-month. Monthly खर्च USD?

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

अवघड HTTPS शिवाय requests deny

का: aws:SecureTransport false म्हणजे साधं HTTP; ते deny करा.

काय करायचं: Bucket policy: aws:SecureTransport false असेल तेव्हा jakartabatik-data व objects वर (*) ला s3:* deny.

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

अवघड CloudFront OAC साठी bucket policy

का: OAC मुळे फक्त तुमचा CloudFront distribution private bucket वाचतो.

काय करायचं: cloudfront.amazonaws.com ला jakartabatik-site/* वर s3:GetObject allow, फक्त aws:SourceArn = arn:aws:cloudfront::129471578432:distribution/E2QWRUHAPOMQZL असेल तेव्हा.

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

अवघड KMS ने default encryption

का: Default encryption मुळे प्रत्येक नवा object encrypt होतो.

काय करायचं: enc.json मधल्या encryption settings jakartabatik-hr-docs bucket ला लावा.

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

अवघड सगळा public access block करा

का: Block Public Access चुकून public bucket होणं थांबवणारा safety switch.

काय करायचं: jakartabatik-hr-docs bucket साठी चारही Block Public Access settings सुरू करा.

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

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

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

उजळणी card: Block Public Access. Public ACLs आणि public policies नाकारणारे चार switches. नवीन buckets साठी default on. Account level ला पण ठेवा. फक्त public असायलाच हवा त्या bucket साठी बंद करा. "Test साठी public" leak थांबवतो.
उजळणी card: Block Public Access · PNG download करा
उजळणी card: IAM policy vs bucket policy. IAM policy: हा user किंवा role काय करू शकतो. Bucket policy: हा bucket कोण वापरू शकतं. त्यात Principal. Cross-account आणि HTTPS-only rules bucket policy मध्ये. कुठलाही explicit Deny जिंकतो.
उजळणी card: IAM policy vs bucket policy · PNG download करा
उजळणी card: Pre-signed URL. साधा S3 URL + signature. Bucket private राहतो. एक action, एक key, मर्यादित वेळ. IAM user keys सोबत 7 दिवसांपर्यंत; role सोबत कमी. 15-minute link बनवा.
उजळणी card: Pre-signed URL · PNG download करा
उजळणी card: SSE-S3 vs SSE-KMS. प्रत्येक नवीन object default ने SSE-S3 ने encrypt. SSE-KMS तुमच्या control मधली KMS key वापरतं. वाचणाऱ्यांना kms:Decrypt पण लागतं. प्रत्येक वापर CloudTrail मध्ये. KMS सह upload.
उजळणी card: SSE-S3 vs SSE-KMS · PNG download करा
तुलना: SSE-S3 vs SSE-KMS. SSE-S3: S3 keys पूर्ण सांभाळतं; नवीन objects साठी default. SSE-KMS: Key policy ने control करता येणारी AWS KMS key.
तुलना: SSE-S3 vs SSE-KMS · PNG download करा
तुलना: ACLs disabled (bucket owner enforced) vs ACLs enabled (bucket owner preferred). ACLs disabled (bucket owner enforced): प्रत्येक object bucket owner चा; access फक्त policies ने. ACLs enabled (bucket owner preferred): bucket-owner-full-control सह upload केलेले objects तुमचे; ACLs चालतात.
तुलना: ACLs disabled (bucket owner enforced) vs ACLs enabled (bucket owner preferred) · PNG download करा
मुलाखत card: Bucket वर HTTPS कसं force करता?. सगळ्या principals आणि actions साठी Effect Deny असलेली bucket policy. Condition: aws:SecureTransport = false. Bucket ARN आणि bucket/* दोन्ही cover करा.
मुलाखत card: Bucket वर HTTPS कसं force करता? · PNG download करा
मुलाखत card: Bucket वर ACLs कधी enable कराल?. जवळजवळ कधीच नाही. Default ACLs disabled, bucket owner enforced. फक्त अजूनही ACLs पाठवणाऱ्या legacy cross-account writer साठी. मग Bucket owner preferred निवडा म्हणजे objects तुमचेच.
मुलाखत card: Bucket वर ACLs कधी enable कराल? · PNG download करा

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