Thuta Learning
ရှာဖွေရန်
BasicDevOpsbeginner

IAM Basics (Identity & Access Management)

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • IAM Basics (Identity & Access Management) ကို ကြောက်စရာမလိုအောင် နားလည်မယ်
  • ကိုယ်တိုင် AWS CLI/Console ကို run ကြည့်တတ်မယ်
  • Real project ထဲမှာ ဒီ concept ကို ချက်ချင်း အသုံးချတတ်မယ်

ခဏလေး ဒီလိုပဲ စဉ်းစားကြည့်

IAM User က AWS account ထဲမှာ create လုပ်တဲ့ identity တစ်ခု (developer တစ်ယောက်, application တစ်ခု) ကို ကိုယ်စားပြုပါတယ် — username/password ဒါမှမဟုတ် access key နဲ့ authenticate လုပ်ပါတယ်။ IAM Group က user တွေကို logical အုပ်စု (ဥပမာ - 'developers', 'admins') ခွဲထားပြီး, permission ကို group level မှာ တစ်ခါတည်း assign လုပ်လို့ရပါတယ်။ IAM Policy က 'ဘယ် resource ကို ဘာလုပ်ခွင့်ရှိလဲ' ဆိုတဲ့ permission document (JSON format) ပါ — user/group တစ်ခုကို policy တစ်ခု (ဒါမှမဟုတ် အများ) attach လုပ်လို့ရပါတယ်။ Best practice ကတော့ 'least privilege' — လိုအပ်သလောက်ပဲ permission ပေးရန် ဆိုတဲ့ principle ပါ.

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

Developer team အသစ်တစ်ဖွဲ့ ဝင်လာရင် — IAM Group 'developers' ကို EC2/S3 permission (production database permission မပါ) attach ထားရင်, developer တစ်ယောက်စီကို User create ပြီး group ထဲ ထည့်ရုံနဲ့ permission set ချက်ချင်း ရပါတယ် — user တစ်ယောက်ချင်းကို policy တစ်ခုချင်း manual attach ရမှာ မဟုတ်တော့ပါ.

အတူတူ ကြည့်မယ်

json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:ListBucket"],
      "Resource": ["arn:aws:s3:::my-tutorial-bucket", "arn:aws:s3:::my-tutorial-bucket/*"]
    }
  ]
}
You should see
$ (AWS Console) IAM > Users > developer-1: attached policies: [S3ReadOnlyTutorial]

၅ မိနစ် စမ်းကြည့်

IAM User တစ်ခု (ကိုယ်ပိုင် practice account ထဲ) create လုပ်ကြည့်ပြီး, S3 read-only permission ပါတဲ့ policy တစ်ခု attach ကြည့်ပါ — permission ကို console ထဲက confirm လုပ်ကြည့်ပါ။

သတိလေးတစ်ချက်

IAM access key ကို public repository ထဲ တစ်ခါတစ်ရံ commit မိရင် (accident ဖြင့်တောင်) AWS bot/attacker တွေက minute အနည်းငယ်အတွင်း ရှာတွေ့ပြီး misuse လုပ်နိုင်ပါတယ် — leak ဖြစ်ရင် access key ကို ချက်ချင်း deactivate/rotate လုပ်ပါ။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Application/script တစ်ခုအတွက် IAM User ကို AdministratorAccess policy (permission အကုန်) attach ခြင်း — application compromise ဖြစ်ရင် risk scope ကျယ်သွားပါတယ်
  • IAM User access key ကို code ထဲ hardcode ရေးထားပြီး git commit ခြင်း — leak ဖြစ်တတ်ပါတယ်

အခု ကိုယ်တိုင် စမ်းကြည့်

IAM User တစ်ခု (ကိုယ်ပိုင် practice account ထဲ) create လုပ်ကြည့်ပြီး, S3 read-only permission ပါတဲ့ policy တစ်ခု attach ကြည့်ပါ — permission ကို console ထဲက confirm လုပ်ကြည့်ပါ။

You'll know it worked when: $ (AWS Console) IAM > Users > developer-1: attached policies: [S3ReadOnlyTutorial]

IAM Basics (Identity & Access Management) | Thuta Learning