Bosh sahifa Wiki Access Control List

Access Control List

Access Control List (ACL) — resursga kim yoki nima qaysi amallarni bajarishi mumkinligini ko‘rsatuvchi kirish qoidalari ro‘yxatidir. ACL fayl, tarmoq qurilmasi, bulut resursi, ma’lumotlar bazasi yoki API obyektiga biriktirilishi mumkin. Har bir yozuv principal, amal va allow yoki deny ta’sirini ifodalaydi.

Ro‘yxat tarkibi

ACL bir nechta Access Control Entrydan tashkil topadi. Principal foydalanuvchi, guruh, xizmat hisobi, IP prefiks yoki boshqa identifikator bo‘lishi mumkin. Amal faylda read, write va execute; tarmoqda protokol, manba, manzil va port; ilovada esa obyektga xos operatsiya bo‘ladi.

allow group:editors read,write
allow user:auditor read
deny  user:guest write

Ro‘yxat qaysi resursga biriktirilgani muhim. Bir xil foydalanuvchi turli obyektlarda boshqa vakolatga ega bo‘lishi mumkin. Shu jihat ACLni obyektga yo‘naltirilgan nozik boshqaruvga aylantiradi.

Tartib va ustuvorlik

ACL semantikasi platformaga bog‘liq. Tarmoq ACLlari ko‘pincha yuqoridan pastga tekshiriladi va birinchi mos qoida qo‘llanadi. Fayl tizimida explicit deny allowdan ustun bo‘lishi yoki yozuvlar kanonik tartibda hisoblanishi mumkin. Oxirida implicit deny bo‘lsa, hech bir qoida mos kelmagan trafik rad etiladi.

Tartibdagi kichik o‘zgarish katta ta’sir qilishi mumkin. Keng allow any qoidasi tor deny qoidasi oldida tursa, taqiq hech qachon ishlamaydi. Linter soyada qolgan, takroriy yoki qarama-qarshi qoidalarni topishga yordam beradi.

Meros va default ACL

Iyerarxik resurslarda ota katalog yoki papkadagi ACL avlodlarga meros bo‘lishi mumkin. Default ACL yangi yaratilgan obyektlar oladigan boshlang‘ich ruxsatlarni belgilaydi. Mavjud fayl ruxsati avtomatik o‘zgarishi shart emas. Merosni uzish obyektga alohida ro‘yxat beradi, biroq keyingi markaziy yangilanishdan ajratadi.

Meros va explicit yozuvlar birga ishlaganda amaldagi vakolatni hisoblash murakkablashadi. Audit vositasi foydalanuvchining effective permissionini, uning qaysi guruh va yozuvlardan kelganini ko‘rsatishi kerak.

ACL va rollar

ACL muayyan resurs uchun aniq principalni boshqarishda qulay. Minglab obyekt va foydalanuvchida har bir ro‘yxatni alohida tahrirlash boshqaruv yukini oshiradi. RBAC ruxsatlarni vazifa bo‘yicha rollarga jamlaydi, ACL esa resurs istisnosini ifodalaydi. Ko‘p tizimlar ikkalasini birga ishlatadi.

Guruhdan foydalanish foydalanuvchini yuzlab ACLga bevosita qo‘shishdan yaxshiroq. A’zolik katalogda boshqariladi, resurs ro‘yxati esa barqaror guruhga ishora qiladi. Shunga qaramay, guruh ichidagi guruhlar va eski a’zolik ortiqcha kirishni yashirishi mumkin.

Boshqaruv va audit

ACL o‘zgarishi yuqori ta’sirli konfiguratsiya sifatida versiyalanadi va audit qilinadi. Resurs egasi, o‘zgarish sababi va muddati qayd etiladi. Vaqtinchalik tashqi kirish avtomatik tugashga ega bo‘ladi. Davriy tekshiruv egasiz principal, mavjud bo‘lmagan guruh va haddan tashqari keng yozuvlarni aniqlaydi.

Xavfsiz boshlang‘ich holat default deny hisoblanadi. Interfeysdagi ko‘rinishdan tashqari backend haqiqiy ACLni har bir operatsiyada tekshiradi. Kesh ishlatilsa, a’zolik yoki ro‘yxat o‘zgarganda eski ruxsatni tez bekor qilish mexanizmi kerak.

Nusxa va ko‘chirish

Resurs nusxalanganda ACL ham ko‘chishi yoki yangi joyning default ro‘yxatini olishi platformaga bog‘liq. Maxfiy fayl umumiy papkaga nusxalanganda eski tor ACL saqlanadi deb taxmin qilish ham, aksincha yangi keng ruxsatni kutmaslik ham xavfli. Eksport, backup va restore jarayonlari permission metadata’ni saqlashi va tiklangandan keyin effective accessni tekshirishi kerak.

Bog‘liq tushunchalar

Access Control Entry, Authorization, File permission, Network ACL, Role-Based Access Control, Default deny, Principal