STS ने Temporary AWS Credentials Step by Step मिळवा
Lab: एका bucket साठी S3-read role, CLI ने AssumeRole, session token ने prove, मग सगळं delete.
या chapter मध्ये तुम्ही काय शिकाल
- Trust + S3 read role
- CLI ने AssumeRole
- Temporary creds export
- Allow/deny prove
- Cleanup
1. Lab: click by click
कसं करायचं (step by step)
Region ap-south-1. Role create + AssumeRole करता येईल अशी identity हवी. ACCOUNT/BUCKET बदला.
A. Bucket आणि policy
- Bucket + hello.txt=ok.
- Policy JSON:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": "arn:aws:s3:::BUCKET"
},
{
"Effect": "Allow",
"Action": ["s3:GetObject"],
"Resource": "arn:aws:s3:::BUCKET/*"
}
]
}
- Name
lab-sts-s3-read.
B. Role + trust
- Create role → custom trust.
- Trust JSON:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::ACCOUNT:user/USER" },
"Action": "sts:AssumeRole"
}]
}
- Attach policy. Name
lab-sts-assumer. - Identity Center असेल तर Principal = permission-set role ARN.
C. AssumeRole आणि prove
- Trusted principal ने CLI:
aws sts get-caller-identity
aws sts assume-role \
--role-arn arn:aws:iam::ACCOUNT:role/lab-sts-assumer \
--role-session-name ravi-lab \
--duration-seconds 900
# Copy AccessKeyId, SecretAccessKey, SessionToken from Credentials
- Export करून test:
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...
export AWS_SESSION_TOKEN=...
aws sts get-caller-identity
# Arn should mention assumed-role/lab-sts-assumer/ravi-lab
aws s3 cp s3://BUCKET/hello.txt -
# expect: ok
# aws s3 ls s3://some-other-bucket # should be AccessDenied
- Unset करा.
Cleanup
- Role delete.
- Policy delete.
- Bucket delete.
- Shell मधून temp keys काढा.
Ravindra Bagale's Tip
AssumeRole fail = दोन्ही बाजू तपासा: user permission + trust Principal ARN.
2. Interview
प्र. RoleSessionName का?
CloudTrail audit.
प्र. 900 seconds?
Leak window छोटं.
प्र. SessionToken विसरले?
तीनही लागतात.
प्र. Trust चुकला?
Permissions बरोबर असूनही Deny.
घरी करून बघा
- ExternalId condition + CLI flag.
- पुढे: Identity Center (SSO).
थोडक्यात सांगायचं तर
- Trust + tight permissions.
- AssumeRole → तीन values → APIs.
- Allow/deny prove.
- Lab नंतर cleanup.
सराव Tasks
Jakarta Batik हा जकार्ता मधला हस्तकला व्यवसाय आहे. Siti Rahmawati त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे IDR मध्ये मोजले जातात आणि AWS resources ap-southeast-3 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 10
सोपं तुम्ही कोण म्हणून login आहात ते पाहा
का: बदल करण्याआधी account व identity नेहमी तपासा.
काय करायचं: तुमचा CLI वापरत असलेल्या identity चा account ID व ARN दाखवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
सोपं /16 मध्ये किती addresses?
का: VPC size ठरवायला ही संख्या लागते.
काय करायचं: Jakarta Batik चा VPC 10.115.0.0/16. एकूण किती IP addresses?
- Task मधले numbers लिहून घ्या.
- कागदावर step by step काढा.
- Box मध्ये फक्त final उत्तर लिहा.
- Check answer दाबा.
मध्यम Role assume करा
का: AssumeRole दुसऱ्या role च्या, बहुदा दुसऱ्या account मधल्या, अल्पकालीन keys देतो.
काय करायचं: Role arn:aws:iam::129471578432:role/Auditor session नाव siti-audit ने assume करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम "Access denied" message decode करा
का: काही errors encoded येतात; decode केल्यावर कोणत्या policy ने अडवलं ते कळतं.
काय करायचं: Shell variable $MSG मधला authorization message decode करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम EC2 role साठी trust policy
का: Trust policy role कोण घेऊ शकतो ते सांगते.
काय करायचं: ec2.amazonaws.com ला role assume करू देणारी trust policy लिहा.
- { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
- प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
- Task ला लागेल तेवढंच द्या (least privilege).
- Double quotes व commas नीट वापरा. Check answer दाबा.
मध्यम ECS task role साठी trust policy
का: Trust policy role कोण घेऊ शकतो ते सांगते.
काय करायचं: ecs-tasks.amazonaws.com ला role assume करू देणारी trust policy लिहा.
- { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
- प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
- Task ला लागेल तेवढंच द्या (least privilege).
- Double quotes व commas नीट वापरा. Check answer दाबा.
मध्यम Lambda role साठी trust policy
का: Trust policy role कोण घेऊ शकतो ते सांगते.
काय करायचं: lambda.amazonaws.com ला role assume करू देणारी trust policy लिहा.
- { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
- प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
- Task ला लागेल तेवढंच द्या (least privilege).
- Double quotes व commas नीट वापरा. Check answer दाबा.
अवघड दुसऱ्या account ला role assume करू द्या
का: Access keys share करण्यापेक्षा cross-account roles सुरक्षित.
काय करायचं: Account 111122223333 ला हा role assume करू देणारी trust policy लिहा.
- { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
- प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
- Task ला लागेल तेवढंच द्या (least privilege).
- Double quotes व commas नीट वापरा. Check answer दाबा.
अवघड 15 मिनिटांसाठी role assume करा
का: Keys leak झाल्यास छोटे sessions धोका कमी करतात.
काय करायचं: arn:aws:iam::129471578432:role/Deployer ला session नाव deploy-job ने 900 seconds साठी assume करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड MFA सह session token घ्या
का: काही actions ना MFA लागतो. get-session-token MFA proof असलेल्या keys देतो.
काय करायचं: MFA device arn:aws:iam::129471578432:mfa/siti व code 123456 वापरून session token घ्या.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
उजळणी, तुलना आणि मुलाखत cards
हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.





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