Ravindra BagaleCourses & study guides English

AWS STS Temporary Credentials आणि AssumeRole सोप्या भाषेत

STS = temporary AWS keys छापणारी counter. Role मागता; access key + secret + session token मिळतात — थोड्या वेळाने मृत.

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

  • STS काय आणि का
  • AssumeRole आणि तीन भाग
  • Duration आणि session name
  • AssumeRole कोण करेल
  • Temp का चांगलं

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

हे का लागतं?

Zomato partner ला एका shift चा unlock code — master key नाही. STS = AWS APIs साठी तोच unlock code.

कंपनी नावे शिकवण्यासाठी; locker गोष्ट काल्पनिक.

हे काय आहे?

AWS STS temporary credentials देते. सर्वात सामान्य API = AssumeRole.

AssumeRole मार्गCallerओळख सिद्धSTStrust policy तपासतेSTSKey+Secret+TokenCallerS3/EC2… token ने
Token expire झाले की पुन्हा AssumeRole.

2. तीन तुकडे

Fieldअर्थ
AccessKeyIdTemporary ID (ASIA…)
SecretAccessKeyTemporary secret
SessionTokenप्रत्येक request ला लागणारा token
Expirationकधी बंद

Assumed-role साठी तिन्ही लागतात. Session token विसरणे = सामान्य चूक.

3. Duration आणि नाव

  • Default बहुतेक 1 hour; कमी मागता येते. काही roles 12 hours पर्यंत.
  • CloudTrail मध्ये दिसते — स्पष्ट नाव वापरा.
  • MFA आणि external ID = cross-account जास्त सुरक्षित.

4. Temporary का जिंकतं

  1. Session leak = expire. User key = वर्षे.
  2. Trust/permissions बदलून revoke.
  3. CloudTrail: कोणी काय assume केलं.
  4. EC2/Lambda आपोआप STS वापरतात.

Ravindra Bagale's Tip

Temporary keysही Git मध्ये नको. Expiration पर्यंत secretच. Profiles/roles वापरा.

5. Interview

प्र. STS काय देते?

Key, Secret, SessionToken, Expiration.

प्र. AssumeRole vs GetSessionToken?

AssumeRole = role; GetSessionToken = same user (MFA).

प्र. Session token का?

STS मधून आल्याचा पुरावा.

प्र. कोण AssumeRole?

Trust policy + स्वतःची IAM allow.

प्र. Max duration?

Role/caller वर; सहसा 1–12 तास.

घरी करून बघा

  1. Docs title वाचा; पुढचा lab करा.
  2. पुढे: CLI ने AssumeRole lab.

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

  1. STS = temporary credentials.
  2. AssumeRole = तीन तुकडे.
  3. Expire = सुरक्षा.
  4. Permanent keys टाळा.

सराव Tasks

या scenario बद्दल

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

0 / 10

सोपं तुम्ही कोण म्हणून login आहात ते पाहा

का: बदल करण्याआधी account व identity नेहमी तपासा.

काय करायचं: तुमचा CLI वापरत असलेल्या identity चा account ID व ARN दाखवा.

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

सोपं /16 मध्ये किती addresses?

का: VPC size ठरवायला ही संख्या लागते.

काय करायचं: Latur Coaching Classes चा VPC 10.56.0.0/16. एकूण किती IP addresses?

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

मध्यम Role assume करा

का: AssumeRole दुसऱ्या role च्या, बहुदा दुसऱ्या account मधल्या, अल्पकालीन keys देतो.

काय करायचं: Role arn:aws:iam::123666135775:role/Auditor session नाव pooja-audit ने assume करा.

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

मध्यम "Access denied" message decode करा

का: काही errors encoded येतात; decode केल्यावर कोणत्या policy ने अडवलं ते कळतं.

काय करायचं: Shell variable $MSG मधला authorization message decode करा.

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

मध्यम EC2 role साठी trust policy

का: Trust policy role कोण घेऊ शकतो ते सांगते.

काय करायचं: ec2.amazonaws.com ला role assume करू देणारी trust policy लिहा.

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

मध्यम ECS task role साठी trust policy

का: Trust policy role कोण घेऊ शकतो ते सांगते.

काय करायचं: ecs-tasks.amazonaws.com ला role assume करू देणारी trust policy लिहा.

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

मध्यम Lambda role साठी trust policy

का: Trust policy role कोण घेऊ शकतो ते सांगते.

काय करायचं: lambda.amazonaws.com ला role assume करू देणारी trust policy लिहा.

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

अवघड दुसऱ्या account ला role assume करू द्या

का: Access keys share करण्यापेक्षा cross-account roles सुरक्षित.

काय करायचं: Account 111122223333 ला हा role assume करू देणारी trust policy लिहा.

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

अवघड 15 मिनिटांसाठी role assume करा

का: Keys leak झाल्यास छोटे sessions धोका कमी करतात.

काय करायचं: arn:aws:iam::123666135775:role/Deployer ला session नाव deploy-job ने 900 seconds साठी assume करा.

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

अवघड MFA सह session token घ्या

का: काही actions ना MFA लागतो. get-session-token MFA proof असलेल्या keys देतो.

काय करायचं: MFA device arn:aws:iam::123666135775:mfa/pooja व code 123456 वापरून session token घ्या.

कसं करायचं:
  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: AWS STS म्हणजे काय?. One-shift unlock = STS. Master key = permanent user key. STS = temporary creds. AssumeRole = N seconds role wear. Identity → trust check → key+secret+token+Expiry. Expiry नंतर API fail — पुन्हा AssumeRole.
उजळणी card: AWS STS म्हणजे काय? · PNG download करा · Card page उघडा
उजळणी card: STS चे तीन pieces. फक्त key+secret → InvalidClientTokenId. Token विसरतात. तीन्ही हवेत: Key + Secret + SessionToken. तीन्ही env vars export करा. get-caller-identity → assumed-role ARN.
उजळणी card: STS चे तीन pieces · PNG download करा · Card page उघडा
उजळणी card: Duration आणि session name. लांब session + अस्पष्ट नाव = audit कठीण. DurationSeconds + RoleSessionName (CloudTrail). 900s + clear session name. 15 min नंतर keys बंद; CloudTrail मध्ये नाव दिसतं.
उजळणी card: Duration आणि session name · PNG download करा · Card page उघडा
तुलना: AssumeRole vs GetSessionToken. AssumeRole: Role मध्ये switch (नवीन ARN). GetSessionToken: तोच IAM user; बहुतेक MFA नंतर.
तुलना: AssumeRole vs GetSessionToken · PNG download करा · Card page उघडा
मुलाखत card: AssumeRole काय return करतं?. Key + Secret + SessionToken + Expiration. Token विसरला / expired = calls fail. assume-role → export three → get-caller-identity.
मुलाखत card: AssumeRole काय return करतं? · PNG download करा · Card page उघडा
मुलाखत card: AssumeRole vs GetSessionToken?. AssumeRole = switch role. GetSessionToken = same user (+MFA). Cross-account/compute = AssumeRole. Same-user MFA = GetSessionToken. AssumeRole needs trust; GetSessionToken does not.
मुलाखत card: AssumeRole vs GetSessionToken? · PNG download करा · Card page उघडा

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