AWS IAM (Identity and Access Management)

မြန်မာ version

AWS လုံခြုံရေးရဲ့ အခြေခံ- AWS IAM (Identity and Access Management) လမ်းညွှန်

ကျွန်တော်တို့ရဲ့ AWS ခရီးစဉ်မှာ EC2 (servers)၊ VPC (networks) နဲ့ S3 (storage) တို့လို အခြေခံဝန်ဆောင်မှုတွေကို လေ့လာခဲ့ပြီးပါပြီ။ ဒီဝန်ဆောင်မှုတွေအားလုံးရဲ့ အသက်သွေးကြောဖြစ်တဲ့ လုံခြုံရေး အကြောင်းကို ဆက်ပြောပါမယ်။ ဒီနေ့မှာတော့ AWS လုံခြုံရေးရဲ့ အဓိကအုတ်မြစ်ဖြစ်တဲ့ AWS IAM (Identity and Access Management) အကြောင်းကို အသေးစိတ် လေ့လာကြပါမယ်။

IAM ဟာ သင့်ရဲ့ AWS account အတွင်းမှာ ဘယ်သူ (သို့မဟုတ် ဘယ် service) က ဘာတွေလုပ်ပိုင်ခွင့်ရှိတယ်ဆိုတာကို ထိန်းချုပ်တဲ့ ဝန်ဆောင်မှုတစ်ခုဖြစ်ပြီး၊ သင့် cloud အရင်းအမြစ်တွေကို လုံခြုံအောင်ထားဖို့ မရှိမဖြစ်လိုအပ်ပါတယ်။

AWS IAM ဆိုတာ ဘာလဲ။

AWS IAM ဆိုတာ သင့်ရဲ့ AWS အရင်းအမြစ်တွေကို 누가ဝင်ရောက်နိုင်တယ်၊ ဘာလုပ်နိုင်တယ်ဆိုတာကို စီမံခန့်ခွဲတဲ့ ဝန်ဆောင်မှုတစ်ခုပါပဲ။ ဒါကို စီးပွားရေးလုပ်ငန်းတစ်ခုရဲ့ လုံခြုံရေးစနစ်နဲ့ နှိုင်းယှဉ်ကြည့်နိုင်ပါတယ်။

  • Access Key တွေက သော့တွေနဲ့တူပြီး
  • IAM ကတော့ အဲဒီ့သော့တွေကို ဘယ်သူတွေကို ပေးမလဲ၊ ဘယ်အခန်းကို ဝင်ခွင့်ရှိသလဲဆိုတာကို ထိန်းချုပ်တဲ့ လုံခြုံရေးအစောင့်နဲ့တူပါတယ်။

IAM ရဲ့ အဓိက အစိတ်အပိုင်းများ

IAM ကို နားလည်ဖို့အတွက် အဓိက သဘောတရား (၄) ခုကို သိထားဖို့လိုပါတယ်။

  1. Users (အသုံးပြုသူများ):
    • AWS ကို ဝင်ရောက်အသုံးပြုတဲ့ လူတစ်ဦးချင်းစီ (ဥပမာ- developer၊ admin) ကို ကိုယ်စားပြုပါတယ်။
    • User တစ်ဦးစီမှာ ကိုယ်ပိုင် username နဲ့ password သို့မဟုတ် access keys တွေရှိပါတယ်။
  2. Groups (အုပ်စုများ):
    • တူညီတဲ့ လုပ်ငန်းတာဝန်တွေရှိတဲ့ user တွေကို စုစည်းထားတာပါ။
    • ဥပမာ- Developers group မှာ S3 bucket ကို ဝင်ရောက်နိုင်တဲ့ permission တွေရှိရင်၊ အဲဒီ group ထဲက user အားလုံးဟာ အဲဒီ permission ကို အလိုအလျောက် ရရှိသွားပါလိမ့်မယ်။ ဒါက user တစ်ဦးချင်းစီအတွက် permission ကို သတ်မှတ်ပေးတာထက် ပိုမိုလွယ်ကူစေပါတယ်။
  3. Roles (အခန်းကဏ္ဍများ):
    • Role တွေက users တွေလို သော့ခတ်ထားတဲ့ password တွေမရှိပါဘူး။ သူတို့ကို AWS services တွေ (ဥပမာ- EC2 instance က S3 ကို access လုပ်ဖို့) သို့မဟုတ် အခြား AWS account တွေကနေ ခဏတာ permissions တွေ ယူသုံးဖို့အတွက် အသုံးပြုပါတယ်။
    • ဥပမာ- EC2 instance တစ်ခုက S3 bucket ထဲက data တွေကို ဖတ်ဖို့အတွက် S3-ReadOnly role တစ်ခုကို သတ်မှတ်ပေးနိုင်ပါတယ်။
  4. Policies (မူဝါဒများ):
    • ဒါတွေက permissions တွေကို သတ်မှတ်ပေးတဲ့ document တွေပါပဲ။ မူဝါဒတစ်ခုမှာ ဘာလုပ်ခွင့်ရှိလဲ (ဥပမာ- s3:GetObject)၊ ဘယ်အရင်းအမြစ်မှာ လုပ်ခွင့်ရှိလဲ (ဥပမာ- my-test-bucket bucket) ဆိုတာကို သတ်မှတ်ပေးပါတယ်။
    • Policies တွေကို users, groups, ဒါမှမဟုတ် roles တွေမှာ တွဲပေးနိုင်ပါတယ်။

“အနည်းဆုံးအခွင့်အရေး” (Principle of Least Privilege)

ဒါဟာ IAM မှာ အရေးအကြီးဆုံး လုံခြုံရေးစည်းမျဉ်းပါပဲ။ မည်သူမဆို မိမိတို့ရဲ့အလုပ်ကို လုပ်ဆောင်ဖို့အတွက် လိုအပ်တဲ့ အနည်းဆုံး permissions တွေကိုသာ ပေးထားသင့်တယ်လို့ ဆိုလိုပါတယ်။

ဥပမာ- သင့် developer က S3 bucket ထဲကို ဖိုင်တွေ upload လုပ်ဖို့ပဲ လိုတယ်ဆိုရင်၊ အဲဒီ့ developer ကို s3:PutObject permission ကိုသာ ပေးသင့်ပြီး s3:DeleteBucket လိုမျိုး အခြား permission တွေ ပေးဖို့မလိုအပ်ပါဘူး။ ဒီလိုလုပ်ဆောင်ခြင်းဖြင့် မတော်တဆဖြစ်မှုတွေနဲ့ လုံခြုံရေးဆိုင်ရာ ပြဿနာတွေကို လျှော့ချနိုင်ပါတယ်။

လက်တွေ့ဥပမာ

သင့်မှာ “Analytics” နဲ့ “Web Admins” ဆိုပြီး အုပ်စုနှစ်ခုရှိတယ်ဆိုပါစို့။

  • Analytics အုပ်စုက S3 bucket တစ်ခုအတွင်းမှာရှိတဲ့ log ဖိုင်တွေကို ဖတ်ခွင့်ရှိပေမယ့် ပြင်ဆင်ခွင့်မရှိပါဘူး။
  • Web Admins အုပ်စုကတော့ EC2 instances တွေကို စတင်နိုင်၊ ရပ်နိုင်၊ ပြန်စနိုင်တဲ့ အခွင့်အရေးရှိပါတယ်။

ဒီလိုဖွဲ့စည်းပုံကို IAM policies တွေနဲ့ groups တွေကနေတဆင့် လွယ်လွယ်ကူကူ ဖန်တီးနိုင်ပြီး အလုပ်တာဝန်အလိုက် လုံခြုံရေးကို ခွဲခြားပေးနိုင်ပါတယ်။

အကောင်းဆုံး လုပ်ဆောင်သင့်တဲ့ အချက်များ

စီးပွားရေးလုပ်ငန်းတစ်ခုရဲ့ရှုထောင့်ကနေကြည့်ရင် IAM ဟာ IT လုံခြုံရေးနဲ့ လုပ်ငန်းလည်ပတ်မှုဆိုင်ရာ စည်းမျဉ်းလိုက်နာမှု (compliance) အတွက် အလွန်အရေးကြီးပါတယ်။

  • Root Account ကို မသုံးပါနှင့်: သင့် AWS account ကို စတင်ဖန်တီးတဲ့အခါ ရရှိလာတဲ့ root user ကို နေ့စဉ်လုပ်ငန်းတွေအတွက် လုံးဝမသုံးသင့်ပါဘူး။ root user ဟာ အကန့်အသတ်မရှိတဲ့ လုပ်ပိုင်ခွင့်ရှိတာကြောင့် သူ့ရဲ့ credentials တွေကို အလွန်လုံခြုံတဲ့နေရာမှာ သိမ်းဆည်းထားသင့်ပါတယ်။
  • MFA (Multi-Factor Authentication) ကို အသုံးပြုပါ: သင့်ရဲ့ IAM users တွေနဲ့ root user အတွက် MFA ကို ဖွင့်ထားပါ။ ဒါက လုံခြုံရေးကို နောက်ထပ်အဆင့်တစ်ခု ထပ်မြှင့်တင်ပေးပါတယ်။
  • Groups နဲ့ Roles တွေကို အသုံးပြုပါ: Users တစ်ဦးချင်းစီအတွက် policies တွေ သတ်မှတ်ပေးမယ့်အစား Groups နဲ့ Roles တွေကို အသုံးပြုပြီး permissions တွေကို စီမံပါ။ ဒါက ပိုမိုလွယ်ကူပြီး မှားယွင်းနိုင်ခြေကို လျှော့ချပါတယ်။
  • အနည်းဆုံးအခွင့်အရေး (Least Privilege) ကို ကျင့်သုံးပါ: အလုပ်တစ်ခုအတွက် လိုအပ်တဲ့ permissions တွေကိုသာ ပေးထားပြီး မလိုအပ်တဲ့ permissions တွေကို လျှော့ချပါ။

နိဂုံး

AWS IAM ဟာ AWS Cloud လုံခြုံရေးရဲ့ အဓိကအချက်အချာဖြစ်ပါတယ်။ IAM ကို ကောင်းမွန်စွာ နားလည်ခြင်းဖြင့် သင်ဟာ သင့်ရဲ့ cloud အရင်းအမြစ်တွေကို လုံခြုံစွာ ကာကွယ်နိုင်ပြီး၊ လိုက်နာမှုဆိုင်ရာ လိုအပ်ချက်တွေကို ပြည့်မီနိုင်မှာပါ။ ဒါဟာ နည်းပညာနဲ့ စီးပွားရေးနှစ်ခုစလုံးအတွက် မရှိမဖြစ်လိုအပ်တဲ့ ကျွမ်းကျင်မှုတစ်ခုပါပဲ။

AWS console ကို အသုံးပြုပြီး IAM users တွေ၊ groups တွေနဲ့ policies တွေကို ဖန်တီးကြည့်ခြင်းဖြင့် လက်တွေ့လေ့ကျင့်ကြည့်ပါ။ ဒီကနေတစ်ဆင့် သင့်ရဲ့ လုံခြုံရေးဗဟုသုတတွေ ပိုမိုခိုင်မာလာပါလိမ့်မယ်။


English Version

The Foundation of AWS Security: A Guide to AWS IAM (Identity and Access Management)

In our AWS journey, we’ve learned about foundational services like EC2 (servers), VPC (networks), and S3 (storage). Today, we’ll talk about the lifeblood of all these services: security. We’ll dive into AWS IAM (Identity and Access Management), the core service that controls who can do what within an AWS account and is essential for keeping your cloud resources secure.

What is AWS IAM?

AWS IAM is the service that lets you manage access to your AWS resources. You can think of it like the security system for a business.

  • The Access Keys are like a set of keys to the building.
  • IAM is the security guard who decides which employees get which keys, and which rooms they are allowed to enter.

Key Components of IAM

To understand IAM, you need to know four core concepts.

  1. Users:
    • These represent individual people who need to access AWS (e.g., a developer, an admin).
    • Each user has their own unique credentials, such as a password or access keys.
  2. Groups:
    • A collection of users that share the same job functions and require the same permissions.
    • For example, if you have a Developers group that has permissions to access an S3 bucket, any user you add to that group automatically gets those permissions. This simplifies management.
  3. Roles:
    • Roles are not permanently tied to a user. They are temporary and are used by AWS services (e.g., an EC2 instance needing to access S3) or by users outside your account to assume specific permissions for a limited time.
    • For example, you might create an S3-ReadOnly role that an EC2 instance can assume to read data from a specific S3 bucket.
  4. Policies:
    • These are documents that define permissions. A policy specifies what actions are allowed (s3:GetObject), on which resources (my-test-bucket), and under what conditions.
    • Policies are attached to users, groups, or roles.

The Principle of Least Privilege

This is the most important security rule in IAM. It states that you should only grant the minimum permissions necessary for a user to perform their specific job.

For instance, if your developer only needs to upload files to an S3 bucket, you should only give them the s3:PutObject permission. You should not give them unnecessary permissions like s3:DeleteBucket. Doing this helps reduce the risk of accidents and security breaches.

Real-world Example

Let’s say you have two groups: “Analytics” and “Web Admins.”

  • The Analytics group can read log files from a specific S3 bucket but cannot modify them.
  • The Web Admins group has the authority to start, stop, and restart EC2 instances.

This type of structure is easily created and managed with IAM policies and groups, allowing you to segment security based on job responsibilities.

Best Practices (An MBA Perspective)

From a business standpoint, IAM is crucial for IT security and for maintaining compliance with regulations.

  • Never Use the Root Account for Daily Tasks: The root user, which is created when you first open your AWS account, has unrestricted access. It should not be used for day-to-day work. Its credentials should be stored in a very secure place.
  • Enable MFA (Multi-Factor Authentication): Always enable MFA for your root user and all IAM users. This adds an extra layer of security to prevent unauthorized access.
  • Use Groups and Roles: Instead of setting policies for individual users, use groups and roles. This makes permissions easier to manage and less prone to error.
  • Practice Least Privilege: Always grant only the necessary permissions. This is a fundamental security principle that protects your business from risk.

Conclusion

AWS IAM is the core of AWS Cloud security. By understanding and properly implementing IAM, you can effectively secure your cloud resources and meet compliance requirements. It is a critical skill for both technical and business professionals.

Practice by creating IAM users, groups, and policies in the AWS console. This hands-on experience will strengthen your security knowledge and help you build a more secure foundation in the cloud.


Scroll to Top
Share via
Copy link