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 user | Delete करेपर्यंत | Named human (जुना style) |
| Group | Delete करेपर्यंत | अनेक users साठी policies |
| Role | Credentials expire | EC2, 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 कधी वापरायची
- EC2/ECS/Lambda — keys code/disk वर नको. Role attach करा.
- Humans → Identity Center — permission set; temporary role creds.
- Cross-account — A trusts B to assume.
- 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.
घरी करून बघा
- IAM → Roles — lab role चा trust वाचा.
- पुढे: STS AssumeRole आणि session tokens.
थोडक्यात सांगायचं तर
- Role = AssumeRole ने temporary creds.
- Trust ≠ permissions.
- Compute साठी keys ऐवजी roles.
- Identity Center मनुष्यांसाठी roles वापरते.
सराव Tasks
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 लिहा.
- { "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 दाबा.
मध्यम Role ला policy लावा
का: Role ला permissions हव्यात: काय करू शकतो ते policy ने सांगा.
काय करायचं: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess ला role abadpharma-ec2-role ला attach करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम Function ला logs लिहू द्या
का: या actions शिवाय Lambda logs CloudWatch मध्ये दिसत नाहीत.
काय करायचं: फक्त arn:aws:logs:*:*:* वर logs:CreateLogGroup, logs:CreateLogStream, logs:PutLogEvents allow करा.
- { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
- प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
- Task ला लागेल तेवढंच द्या (least privilege).
- Double quotes व commas नीट वापरा. Check answer दाबा.
मध्यम Role assume करा
का: AssumeRole दुसऱ्या role च्या, बहुदा दुसऱ्या account मधल्या, अल्पकालीन keys देतो.
काय करायचं: Role arn:aws:iam::112055250461:role/Auditor session नाव farhan-audit ने assume करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. 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 दाबा.
अवघड दुसऱ्या 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 दाबा.
अवघड एका role साठी PassRole allow
का: Role सह EC2 launch करायला त्या role वर iam:PassRole लागतं.
काय करायचं: फक्त arn:aws:iam::112055250461:role/abadpharma-ec2-role वर iam:PassRole allow करा.
- { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
- प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
- Task ला लागेल तेवढंच द्या (least privilege).
- Double quotes व commas नीट वापरा. Check answer दाबा.
अवघड Role instance profile मध्ये टाका
का: Role जोडेपर्यंत profile रिकामं असतं.
काय करायचं: Role abadpharma-ec2-role ला instance profile abadpharma-ec2-profile मध्ये जोडा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड Instance profile बनवा
का: EC2 role ला instance profile मधून वापरतो.
काय करायचं: abadpharma-ec2-profile नावाचं instance profile बनवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड Trust policy सह role बनवा
का: Role म्हणजे services/लोक "assume" करतात ती identity. Trust policy कोण assume करू शकतो ते सांगते.
काय करायचं: trust.json मधल्या trust policy ने abadpharma-ec2-role नावाचा role बनवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड चालू EC2 ला role द्या
का: Profile जोडल्यावर server वरच्या apps ना temporary keys आपोआप मिळतात.
काय करायचं: Instance profile abadpharma-ec2-profile ला instance i-01a40525502111a2b शी associate करा.
- 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.