Ravindra BagaleCourses & study guides English

AWS IAM Role म्हणजे काय आणि कधी वापरायचं

IAM role = तात्पुरतं jacket. व्यक्ती किंवा service घालते, short-lived keys मिळतात, काम होते, काढून ठेवतात. Laptop वर permanent key नको.

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

  • Role vs user vs group
  • Trust vs permissions
  • EC2, Lambda, humans
  • Role कधी चांगली
  • Cross-account idea

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

हे का लागतं?

Infosys Pune: visitor ला permanent badge नको. Time-bound pass. AWS role तसंच — तात्पुरती permission, आयुष्यभराची key नाही.

या उदाहरणातील नावे शिकण्यासाठी काल्पनिक आहेत.

हे काय आहे?

IAM role = स्वतःची long-lived password/access key नसलेली identity. कोणीतरी role assume करतो आणि STS कडून temporary credentials मिळतात.

Identityकिती काळ?Typical use
IAM userDelete करेपर्यंतNamed human (जुना style)
GroupDelete करेपर्यंतअनेक users साठी policies
RoleCredentials expireEC2, Lambda, SSO, cross-account

2. Role वर दोन policies

हे का लागतं?

Beginners interview मध्ये हे मिसळतात. एक = jacket कोण घालेल. दुसरी = jacket काय करू शकते.

हे काय आहे?

  • Trust policy: कोण sts:AssumeRole करू शकतो.
  • Permissions policy: resources वर actions.
  • Trust नसेल तर assume नको. Permissions नसतील तर session जवळजवळ रिकामं.
{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Principal": { "Service": "ec2.amazonaws.com" },
    "Action": "sts:AssumeRole"
  }]
}

हा trust: फक्त EC2 service assume करू शकते. S3/DynamoDB साठी वेगळी permissions policy.

3. Role कधी वापरायची

  1. EC2/ECS/Lambda — keys code/disk वर नको. Role attach करा.
  2. Humans → Identity Center — permission set; temporary role creds.
  3. Cross-account — A trusts B to assume.
  4. Break-glass — क्वचित high-power role; रोज Admin user नको.

Ravindra Bagale's Tip

Admin user + .env keys = चूक. Role किंवा Identity Center. Keys leak; sessions expire.

4. Interview

प्र. User vs role?

User दीर्घ; role temporary assume.

प्र. Trust vs permissions?

Trust = कोण; permissions = काय.

प्र. EC2 वर role का?

Metadata rotate; disk keys नको.

प्र. Role ला password?

नाही — assume करा.

प्र. Cross-account?

Trust Principal = दुसरा account.

घरी करून बघा

  1. IAM → Roles — lab role चा trust वाचा.
  2. पुढे: STS AssumeRole आणि session tokens.

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

  1. Role = AssumeRole ने temporary creds.
  2. Trust ≠ permissions.
  3. Compute साठी keys ऐवजी roles.
  4. Identity Center मनुष्यांसाठी roles वापरते.

सराव Tasks

या scenario बद्दल

Aurangabad Pharma हा छत्रपती संभाजीनगर मधला औषधनिर्मिती व्यवसाय आहे. Dr. Farhan Shaikh त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 12

मध्यम 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 दाबा.

मध्यम 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 दाबा.

मध्यम Role ला policy लावा

का: Role ला permissions हव्यात: काय करू शकतो ते policy ने सांगा.

काय करायचं: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess ला role abadpharma-ec2-role ला attach करा.

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

मध्यम Function ला logs लिहू द्या

का: या actions शिवाय Lambda logs CloudWatch मध्ये दिसत नाहीत.

काय करायचं: फक्त arn:aws:logs:*:*:* वर logs:CreateLogGroup, logs:CreateLogStream, logs:PutLogEvents allow करा.

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

मध्यम Role assume करा

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

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

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

अवघड दुसऱ्या 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 दाबा.

अवघड एका role साठी PassRole allow

का: Role सह EC2 launch करायला त्या role वर iam:PassRole लागतं.

काय करायचं: फक्त arn:aws:iam::112055250461:role/abadpharma-ec2-role वर iam:PassRole allow करा.

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

अवघड Role instance profile मध्ये टाका

का: Role जोडेपर्यंत profile रिकामं असतं.

काय करायचं: Role abadpharma-ec2-role ला instance profile abadpharma-ec2-profile मध्ये जोडा.

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

अवघड Instance profile बनवा

का: EC2 role ला instance profile मधून वापरतो.

काय करायचं: abadpharma-ec2-profile नावाचं instance profile बनवा.

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

अवघड Trust policy सह role बनवा

का: Role म्हणजे services/लोक "assume" करतात ती identity. Trust policy कोण assume करू शकतो ते सांगते.

काय करायचं: trust.json मधल्या trust policy ने abadpharma-ec2-role नावाचा role बनवा.

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

अवघड चालू EC2 ला role द्या

का: Profile जोडल्यावर server वरच्या apps ना temporary keys आपोआप मिळतात.

काय करायचं: Instance profile abadpharma-ec2-profile ला instance i-01a40525502111a2b शी associate करा.

कसं करायचं:
  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: IAM role म्हणजे काय?. Visitor pass = temporary. Compute ला lifelong key नको. Role = password/key नाही. Assume → STS temporary creds. Role → permissions → trust → assume. EC2 instance profile → metadata keys, disk वर keys नाहीत.
उजळणी card: IAM role म्हणजे काय? · PNG download करा · Card page उघडा
उजळणी card: Trust vs permissions policy. Trust आणि permissions मिसळले → AccessDenied. Trust = कोण assume. Permissions = session काय करू शकते. Trust Principal वेगळं; permissions वेगळ्या attach. Trust = तुमचा user; perms = एक lab bucket GetObject.
उजळणी card: Trust vs permissions policy · PNG download करा · Card page उघडा
उजळणी card: Role कधी वापरायचं. EC2/GitHub वर long-lived keys = hijack risk. Compute/cross-account/Identity Center = roles. Users sparingly. Instance profile / execution role / permission set — access key नको. Lambda execution role → DynamoDB; code मध्ये key नाही.
उजळणी card: Role कधी वापरायचं · PNG download करा · Card page उघडा
तुलना: IAM role vs IAM user. IAM role: Long-lived password/key नाही; STS temporary. IAM user: Named identity + password/keys.
तुलना: IAM role vs IAM user · PNG download करा · Card page उघडा
मुलाखत card: User vs role — फरक काय?. User = long-lived. Role = assume → temporary STS creds. Long-lived keys = breach path. Roles rotate / shrink blast radius. Compute = roles. Humans = Identity Center → roles.
मुलाखत card: User vs role — फरक काय? · PNG download करा · Card page उघडा
मुलाखत card: Trust vs permissions policy?. Trust = who may assume. Permissions = what session can do. Wrong trust Principal = AccessDenied even if perms OK. Trust = user ARN; perms = one bucket GetObject.
मुलाखत card: Trust vs permissions policy? · PNG download करा · Card page उघडा

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