Asosiy kontentga o‘tish
Innovialabs

AWS IAM sodda tilda: foydalanuvchilar, guruhlar, rollar va siyosatlar

Asoslar4 daq

Qisqacha

IAM AWS akkauntingizda kim nima qila olishini hal qiladi: foydalanuvchi, guruh va rollar huquqlarni JSON-siyosatlar orqali oladi, ruxsat berilmagan hamma narsa taqiqlangan, root akkaunt esa MFA bilan yopiladi va kundalik ishda ishlatilmaydi.

IAM nima qiladi

IAM (Identity and Access Management) — har bir so‘rov uchun bitta savolga javob beradigan AWS xizmati: bu hisob qaydnomasi shu resurs ustida shu amalni bajara oladimi? Bu konsolda ishlayotgan odamlarga, CLI orqali ishlaydigan skriptlarga va AWS API ga murojaat qiladigan ilovalarga tegishli.

Standart javob — yo‘q. Siyosat aniq ruxsat bermaguncha hech narsaga ruxsat yo‘q.

To‘rtta qurilish bloki

BlokBu nimaQayerda ishlatiladi
User (foydalanuvchi)Parol va/yoki kirish kalitlariga ega doimiy hisobOdam yoki eski sxemalarda skript
Group (guruh)Foydalanuvchilar to‘plami; guruh siyosatlari barcha a’zolarga amal qiladi«Developers», «ReadOnly», «Admins»
Role (rol)Doimiy kalitlarsiz hisob: uni qabul qilishadi va vaqtinchalik ma’lumotlar olishadiServerlar, Lambda, CI/CD, akkauntlararo kirish
Policy (siyosat)Ruxsat berilgan yoki taqiqlangan amallar ro‘yxatini saqlovchi JSON-hujjatFoydalanuvchi, guruh yoki rolga biriktiriladi

Siyosatlarni alohida foydalanuvchilarga emas, guruh va rollarga biriktiring. Shunda yangi xodim shunchaki guruhga qo‘shiladi, ketayotgan xodim esa undan olib tashlanadi.

JSON-siyosatni qanday o‘qish kerak

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:PutObject"],
      "Resource": "arn:aws:s3:::my-app-uploads/*"
    }
  ]
}

Uni gap sifatida o‘qing:

  • Effect — Allow (ruxsat) yoki Deny (taqiq).
  • Action — qaysi API amallari, servis:Amal ko‘rinishida. s3:* niqobi S3 ning barcha amallariga ruxsat beradi, bu esa kamdan-kam kerak bo‘ladi.
  • Resource — qaysi obyektlar ustida, ARN orqali. Bu yerda — my-app-uploads bucketidagi istalgan fayl, boshqa hech narsa emas.
  • Condition (ixtiyoriy) — qo‘shimcha shartlar, masalan ma’lum IP yoki MFA bilan kirish.

Version — siyosat tilining versiyasi, o‘zgartiriladigan sana emas.

Tekshiruv mantiqi qisqacha: aniq Deny har doim ustun, keyin aniq Allow so‘rovga ruxsat beradi, tilga olinmagan hamma narsa esa taqiqlangan.

Root akkauntni chetga olib qo‘ying

Root — akkaunt ochilgan email. U hamma narsani qila oladi, jumladan akkauntni yopish va billingni o‘zgartirishni, uning huquqlarini esa IAM siyosatlari bilan cheklab bo‘lmaydi.

Akkaunt yaratilgandan so‘ng darhol nima qilish kerak:

  1. Root uchun MFA ni yoqing (apparat kalit yoki autentifikator ilova).
  2. Root da kirish kalitlari yo‘qligiga ishonch hosil qiling, bo‘lsa — o‘chiring.
  3. Kuchli noyob parol qo‘ying va shaxsiy emas, kompaniya nazorat qiladigan pochtadan foydalaning.
  4. Kundalik ish uchun alohida administrator hisobini yarating va boshqa root bilan kirmang.

Root faqat kamdan-kam vazifalar uchun kerak, masalan billing va akkauntning ayrim sozlamalari uchun.

Kirish kalitlari o‘rniga rollar

Access keys — doimiy kalitlar juftligi. Agar ular repozitoriy, log yoki noutbuk orqali sizib chiqsa, kimdir sezib o‘chirmaguncha ishlashda davom etadi.

Rollar o‘zi muddati tugaydigan vaqtinchalik ma’lumotlar beradi. Imkon bo‘lgan joyda ulardan foydalaning:

  • EC2 va konteynerlar — rolni instance yoki vazifaga biriktiring, SDK ma’lumotlarni o‘zi oladi, konfiglarda kalit bo‘lmaydi.
  • Lambda — har bir funksiya execution role bilan ishlaydi.
  • CI/CD — GitHub Actions va shunga o‘xshash tizimlar rolni OIDC orqali, sekretlarda kalit saqlamasdan qabul qiladi.
  • Odamlar — xodimlar kirishi uchun AWS IAM Identity Center ni tavsiya qiladi, u ham vaqtinchalik ma’lumotlar beradi.

Kirish kalitlarini faqat boshqa iloji bo‘lmagan joyda qoldiring va ularni muntazam almashtiring.

Kichik jamoa uchun minimal huquqlar

Eng kam imtiyoz tamoyili (least privilege) — har bir hisobga faqat haqiqatan kerak bo‘lgan huquqlar.

  • Admins guruhi — bir-ikki kishi, MFA majburiy.
  • Developers guruhi — loyiha xizmatlariga kirish, ideal holatda faqat ishlab chiqish resurslariga.
  • ReadOnly guruhi — menejerlar, auditorlar va qo‘llab-quvvatlash uchun.
  • Har bir ilovaga alohida rol — faqat o‘z bucketi, navbati yoki bazasiga huquq.
  • Deploy uchun alohida rol — uni CI/CD qabul qiladi.

Tez boshlash kerak bo‘lsa, AWS ning boshqariladigan siyosatlaridan boshlang, keyin ularni toraytiring. IAM Access Analyzer hisob haqiqatda nimadan foydalanganiga qarab siyosat taklif qila oladi.

Ko‘p uchraydigan xatolar

  • Root yoki hammada AdministratorAccess bilan kundalik ish.
  • Kirish kalitlari Git da yoki noutbukdagi .env faylida.
  • Ilova siyosatlarida "Action": "*" va "Resource": "*".
  • Bir nechta odamga bitta umumiy foydalanuvchi — kim nima qilgani noma’lum.
  • Ishdan ketgan xodimlarning unutilgan hisoblari.

Ko‘p beriladigan savollar

Foydalanuvchida doimiy ma’lumotlar bor va u aniq bir odam yoki tizimni ifodalaydi. Rolda doimiy ma’lumotlar yo‘q: uni qabul qilishadi va vaqtinchalik kalitlar olishadi. Ilovalar va avtomatlashtirish uchun rollar xavfsizroq standart variant.

Bunda yordam beramiz

O‘zingiz shug‘ullanmasdan natija olishni istasangiz — biz har kuni shu bilan shug‘ullanamiz.

Loyihani muhokama qilish

Yana o‘qing

G‘oya yoki vazifangiz bormi? Bizga aytib bering

Ish kuni davomida javob beramiz va yechim taklif qilamiz. Konsultatsiya bepul.