Skip to main content

Command Palette

Search for a command to run...

Labs - IAM Roles cross-account access

Updated
3 min readView as Markdown
Labs - IAM Roles cross-account access

အားလုံးဘဲ မင်္ဂလာပါ။

ဒီနေ့ပြောပြသွားမယ့် Lab လေးကတော့ Roles တစ်ခု create လုပ်ပြီး သွားတဲ့ အခါမှာ အဲ့ roles ကို create လုပ်ခဲ့တဲ့ account မှာ ရှိနေတဲ့ user ကဘဲ သုံးလို့ ရတာမဟုတ်ဘဲ နဲ့ တခြား account တစ်ခုမှာ ရှိနေတဲ့ user ကပါ ယူသုံးလို့ ရတယ်ဆိုတာကို lab ‌လုပ်ပြသွားမှာ ဖြစ်ပါတယ်။

AWS Account B မှာ ရှိနေတဲ့ IAM user လေးက AWS Account A မှာ ရှိနေ တဲ့ IAM roles ကို သုံးပြီးAccount A မှာ ရှိနေတဲ့ S3 Bucket ကို fullaccess လုပ်လို့ရတာလေးကို ပြောပြသွားမှာ ဖြစ်ပါတယ်။

  1. ပထမဆုံး အနေနဲ့ AWS account 2 ခု ရှိရပါမယ်။

  2. Account A ထဲမှာ S3 bucket တစ်ခု create လုပ်ရပါမည်။ Objects ထည့်ထားချင်လည်းရပါတယ်။

  3. Account A ထဲမှာ Roles create လုပ်ရပါမည်။

  4. Account B ထဲ မှာ IAM user create လုပ်ရပါမည်။ အဲ့ IAM user မှာ Account A မှာ ရှိနေတဲ့ roles ကို assume role လုပ်ပါမယ်ဆိုတဲ့ permissions policy ‌attach လုပ်ပေးရပါမယ်။

Account 2 ခု ရှိထားပြီးသားဖြစ်တဲ့ အတွက် အခု Account A မှာ S3 bucket တစ်ခု create လုပ်ပါမယ်။

Bucket name - labbucket-3189 နာမည်နဲ့ bucket တစ်ခု create လုပ်ထားပါမည်။

Bucket ထဲမှာ object တစ်ခု ထည့် ထားလိုက်ပါ တယ်။

Roles create လုပ်ပါမည်။

IAM > Roles > Create role

Roles ကို create လုပ်တဲ့ အခါမှာ Trusted entity type ရွေးပေးရပါတယ်။ အခု lab အတွက် AWS Account ကို ရွေးပါမည်။

AWS Account ကို ‌ရွေးပြီးတဲ့ အခါမှာ ဘယ် account ID က ဒီ roles ကို သုံးမှာလဲ ဆိုပြီး Account ID သတ်မှတ်‌ ပေးရပါမည်။

Another AWS Account ကို ‌select လုပ်ပါမည်။ Account B ရဲ့ ID ကို ထည့်ပေး ရပါမည် ။

နောက် တ ဆင့် အနေ နဲ့ Roles မှာ တွဲမယ့် permissions ရွေးချယ်ပေး ရပါမည်။

ဒီ Lab အတွက် S3Fullaccess permission ‌ရွေးချယ်ပေးပါမည်။

Role name ‌ပေးပါမည် ။

Then Create role.

အခု ဆိုရင် Account A ဘက် မှာ S3 bucket and roles create လုပ်ပြီးသွားပါပြီ။

Roles ရဲ့ Trusted entity မှာ another account (Account B) ရဲ့ ID ကို ‌ရွေးချယ်ထားပါတယ်။

Roles မှာ S3Fullaccess permissions သတ်မှတ်ထားပါတယ်။

အခု နောက်တစ်ဆင့် အနေ နဲ့ Account B ထဲကို ဝင်ပြီး IAM user create လုပ်ပါမယ်။

IAM > user > create user

Next >

user ကို permission သတ်မှတ်ပေးရပါမည်။ Attach policies directly ကို ရွေးပါမည်။

အခု သတ်မှတ်ချင် ‌ သော policy ကို create လုပ်ရန် create policy ကို ‌ရွေးပါမည်။

Create policy > JSON ကို ‌ ရွေးပါမည်။

အောက်ပါ policy ကို ‌‌‌ ‌ရေးပါမည်။

Account B မှာ ရှိတဲ့ Hla_Hla ဆိုတဲ့ IAM user ‌သည် Account A မှာ ရှိနေတဲ့ roles ကို သုံးမှာ ဖြစ်လို့

Effect : Allow

Action : sts : AssumeRole

Resource မှာ Account A မှာ ရှိတဲ့ roles name ARN ကို copy သွားယူပြီး ထည့်ပေးရမှာ ဖြစ်ပါတယ်။

Next > Policy name ‌‌ပေးပါမည် ။

Create policy.

Create policy ကို နှိပ်ပြီး လျှင် user create လုပ်နေတဲ့ tab ဘက်ကို ပြန်လာရပါမည်။

Create policy ‌ရှေ့က refresh policies ကို နှိပ်မှ create လုပ်ခဲ့ ‌သော policy name ကို မြင်ရမည် ဖြစ်ပါသည်။

မိမိ create လုပ်ခဲ့ ‌သော policy ကို ‌ရွေးပါ။

Next > Create user.

အခု ဆိုရင်‌တော့ Account B ထဲမှာ IAM user create လုပ်ပြီးသွားပြီ ဖြစ်ပါတယ်။

အဲ့ IAM user ‌သည် Account A မှာ ရှိတဲ့ roles ကို သုံးပါမယ်ဆိုပြီး permissions လည်း သတ်မှတ်ပြီးပြီ ဖြစ်ပါသည်။

Account B ရဲ့ IAM user Hla_Hla နဲ့ login ဝင်ထားပါမည်။

S3 ကို ဝင်ကြည် ပါမည်။ ‌‌အောက််ပါအတိုင်း ‌တွေ့ရပါလိမ့်မည်။

Hla_Hla ဆိုတဲ့ user မှာ assume role policy ကလွဲလို့ တခြား ဘာ permissions policy မှ ‌attach လုပ်ထားတာ မရှိလို့ ‌ ဖြစ်ပါတယ်။

Switch role လုပ်ရန် အတွက် account id ရဲ့ arrow ကို နှိပ်ပြီး Add session > New role လုပ်ပါမည်။

အောက်ပါ အတိုင်း ‌ပေါ်လာပါမည်။

Account ID - role ရှိသော account ID or Alias (Account A ရဲ့ Account ID or alias ထည် ‌ပေးရပါမည်။ )

IAM role name - role name ထည့် ‌ပေးရပါမည်။

Switch role >

S3 bucket ကို ဝင် ကြည့်ပါမည်။

Objects ကို လည်း delete လုပ်လို့ရတာ တွေ့ရပါလိမ့်မယ်။

More from this blog

Difference Between Regional NAT Gateway and Zonal NAT Gateway

ဒီ post လေးထဲမှာတော့ Regional NAT Gateway နဲ့ Zonal NAT Gateway ကွာခြားချက်တွေကို နှိုင်းယှဉ်ပြသွားမှာဘဲ ဖြစ်ပါတယ်။ ပထဆုံးအနေနဲ့ NAT Gateway ဆိုတာ ဘာလဲ ဘာအတွက် လိုအပ်တာလဲဆိုတာကို အရင်ပြောပြပေးပါမယ်။ P

Jun 19, 20264 min read127
Difference Between Regional NAT Gateway and Zonal NAT Gateway

Infrastructure ကိုင်ပြီး အိပ်ရေးမပျက် ချင် လျှင် ဒါမျိုး Alarms လုပ် 🔥🔥🔥

High Level ရေးထားတာပါ ဒါပေမဲ့ လွယ်ပါတယ် ​ကိုယ့်မှာ AWS Infra တွေရှိတယ်ဆို တွေ့သမျှ metric တွေကို alarms တွေလုပ်ပြီး notification ယူမနေဘဲ တကယ် effective ဖြစ်တဲ့ metric တွေကိုမှ CloudWatch ရဲ့ alarm feature တွေနဲ့ ပေါင်းပြီး ပို့စေချင်ပါတယ်။ ​ဥပမာ prod...

Jan 17, 20263 min read247
Infrastructure ကိုင်ပြီး အိပ်ရေးမပျက် ချင် လျှင်  ဒါမျိုး Alarms လုပ် 🔥🔥🔥

How to connect On Premises Network and Cloud (AWS)? (Part-2)

ကိုယ့်ရဲ့ ‌data center (on-prem) network နဲ့ AWS ချိတ်ဆက်ဖို့ လိုလာပြီဆိုရင် ဘယ်လို ချိတ်ဆက်ကြမလဲ? အပိုင်း (၂) မှာ တော့ Direct connect အကြောင်းကို ဆွေးနွေး သွားမှာ ဖြစ်ပါတယ်။ အပိုင်း (၁) Site-to-site VPN အကြောင်းကို လေ့လာချင်ရင်တော့ အောက်ပါ link မှာ ...

Dec 20, 20253 min read280
How to connect On Premises Network and Cloud (AWS)? (Part-2)

How to connect On Premises Network and Cloud (AWS)? (Part-1)

ကိုယ့်ရဲ့ ‌data center (on-prem) network နဲ့ AWS ချိတ်ဆက်ဖို့ လိုလာပြီဆိုရင် ချိတ်ဆက်နိုင်တဲ့ နည်း (၂) နည်း ရှိပါတယ်။ 1. Site-to-Site VPN (Virtual Private Network) 2. Direct connect Site-to-Site VPN - On-prem network နဲ့ AWS resources တွေ ချိတ်ဆက်တဲ့...

Dec 12, 20252 min read312
How to connect On Premises Network and Cloud (AWS)? (Part-1)
M

Myanmar Technical Blog

110 posts

Cloud, Linux, DevOps, Docker, Security အစရှိတဲ့ နည်းပညာများ အကြောင်းကို မြန်မာလို ပြန်လည်မျှဝေပေးမယ့် Blog ပဲဖြစ်ပါတယ်ခဗျာ...