# 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 လုပ်လို့ရတာလေးကို ပြောပြသွားမှာ ဖြစ်ပါတယ်။

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759847816782/1c7c39db-a801-43d2-8160-55b2507111bf.png align="center")

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 တစ်ခု ထည့် ထားလိုက်ပါ တယ်။

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759847870184/68f9b1e4-e80b-4df3-97da-99ce68599b1b.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759847878516/b105409b-20dc-4bc1-8443-d6454381549e.png align="center")

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

IAM &gt; Roles &gt; Create role

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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759847897554/f1545cde-c901-4323-a118-da2d59e50f57.png align="center")

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

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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759847920372/7f8330cb-ead8-40cc-85d3-cdc742770d78.png align="center")

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

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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759847937748/ba06cbf6-60d8-44e0-8c3d-59fb0f0c9781.png align="center")

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

Then Create role.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759847955021/ffd6b892-9619-45f9-b52d-08c5a2fccef8.png align="center")

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

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

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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759847977911/e0de98f0-80d0-4387-8510-b468ce4d7508.png align="center")

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

IAM &gt; user &gt; create user

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759847996171/8822f934-946c-46d5-89d7-2abf0d4420e5.png align="center")

Next &gt;

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

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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759848035588/f3a1db30-7ab0-474b-badd-5fbff99083cd.png align="center")

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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759848053644/dfcc773f-839d-43da-8713-2a4e15b9a908.png align="center")

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

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

Effect : Allow

Action : sts : AssumeRole

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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759848133227/daacdaf5-ec42-4fee-ac3f-a852f59c8cad.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759848307240/31bdd103-2d9c-45ce-9009-336e6c4e1f96.png align="center")

Next &gt; Policy name ‌‌ပေးပါမည် ။

Create policy.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759848338905/76fd3da8-9dc2-4844-bc18-83af028f32fd.png align="center")

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

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

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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759848359705/b79c0e77-ce64-4a85-ba3b-e31e96437e8b.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759848369013/c09be80e-6aba-4011-8f17-babfd5f03e07.png align="center")

Next &gt; Create user.

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

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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759850096357/82e8d098-c7c3-44ee-9060-c1fae5c6a01a.png align="center")

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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759850112930/7708e10e-e09a-44a9-a0b5-9f58f11947f2.png align="center")

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

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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759850131194/bff162c6-0813-416e-9bef-fd5fce8383a2.png align="center")

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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759850164549/6f167610-d772-4b63-8f6b-f9c91cba4d79.png align="center")

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

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

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

Switch role &gt;

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759850185146/12f6e5fc-f387-4aae-ba72-1261bc07710f.png align="center")

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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759850210129/d04a7a48-22ee-4c8e-bf4f-f6cc02c150da.png align="center")

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

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759850231636/46c4a00a-ae30-4339-96a8-80dda8280425.png align="center")
