Identity & Access Management
Qısa xülasə
IAM, kimin nəyə, hansı şərtlərlə və necə nəzarət edildiyini təmin edən proseslərin, siyasətlərin və vasitələrin məcmusudur. Məqsədlər: həddindən artıq hüquqların minimuma endirilməsi, hücum səthinin azaldılması, onbordinq və auditin sürətləndirilməsi, tələblərə uyğunluq (PCI DSS, GDPR və s.) və ölçülə bilən giriş etibarlılığı.
Əsas anlayışlar
Identity: şəxs (işçi, podratçı), xidmət/tətbiq, cihaz.
Autentifikasiya (AuthN): «kim» yoxlanılması (parol → MFA → şifrəsiz sxemlər FIDO2/passkeys).
Avtorizasiya (AuthZ): «Nəyə icazə verilir» həlli (RBAC/ABAC/ReBAC, siyasət).
Credentials: şifrələr, açarlar, tokenlər, sertifikatlar (mTLS).
Gizli menecment: KMS/HSM/Vault, rotasiya, qısa TTL, dinamik sirləri.
Həyat dövrü: Joiner-Mover-Leaver (JML) - yaratmaq, rolları dəyişdirmək, baxış.
Hədəf IAM arxitekturası
Müstəvilər və rollar:- IdP (identity provayderi): SSO, MFA, kataloq, federasiya (OIDC/SAML), risk siyasəti.
- PDP/PEP: Decision/Enforcement - siyasətin mühərriki (OPA/Cedar) + tətbiq nöqtələri (API-şlüzlər, proxy, xidmət-mesh).
- Kataloqlar/HR-sistem: işçilər və rollar üzrə həqiqət mənbəyi.
- Provijining: SCIM/Automation giriş yaratmaq/dəyişdirmək/geri çağırmaq üçün.
- Audit: mərkəzləşdirilmiş qeydlər, UEBA, rollar və giriş hesabatları.
- SSO (+ MFA) → token buraxılışı (OIDC/JWT/SAML) → PEP token/kontekstini yoxlayır → PDP siyasətini həll edir (rol/atributlar/risk) → tətbiq verir/imtina edir.
Autentifikasiya: parollardan passkeys
Parollar: yalnız parol menecerləri ilə, ən azı 12-14 simvol, «təqvim» rotasiyası olmadan, lakin hadisə zamanı məcburi.
Default MFA: TOTP/WebAuthn/Push; əsas amil kimi SMS qarşısını almaq.
Parolsuz giriş: kritik domenlər üçün FIDO2/passkeys.
Adaptiv AuthN: risk siqnalını (geo, ASN, cihaz, anomaliyalar) nəzərə alın → əlavə faktor tələb edin/bloklayın.
Avtorizasiya: RBAC, ABAC, ReBAC
RBAC: funksiyalara uyğun rollar (Support, Finance, DevOps). Sadə və başa düşülən, lakin «böyüyür».
ABAC: atributlar qaydaları (bölmə, risk səviyyəsi, vaxt, zona, resurs işarələri). Miqyaslı.
ReBAC: «kim nəyə aiddir» əlaqələri (layihə sahibləri, komanda üzvləri). Çox tenant ssenarilər üçün əlverişlidir.
- RBAC (baza şəbəkəsi) + ABAC/ReBAC (konteksti/sərhədləri) birləşdirin.
- JIT (Just-In-Time): sorğu/müraciət vasitəsilə müvəqqəti imtiyazların verilməsi, avtomatik geri çağırış.
- JEA (Just-Enough Access): əməliyyat üçün minimum kifayət qədər hüquqlar.
- PAM: broker sessiyaları, ekran/komanda qeydləri və qısamüddətli kreditlərin verilməsi ilə təcrid olunmuş «güclü» girişlər (DB/buludlar).
Federasiya və SSO
Protokollar: OIDC (JWT-tokenlər), SAML 2. 0 (XML assertions) - xarici provayderlər/tərəfdaşlar üçün.
SSO: MFA ilə vahid giriş nöqtəsi, aşağı fişinq, mərkəzləşdirilmiş geri çağırış.
B2B/B2C: tərəfdaşlarla federasiya, sahələrin məhdudlaşdırılması, domen siyasəti.
mTLS/m2m: xidmətlər üçün x.509 (SPIFFE/SVID) və ya OAuth2 Client Credentials istifadə edin.
Həyat dövrü (JML) və provijininq
Joiner: HR/kataloq hesabları və əsas rolları avtomatik SCIM provizing.
Mover: rollar avtomatik olaraq atributlara (bölmə, layihə, yer) görə dəyişir.
Leaver: SSO-ların, açarların, tokenlərin, anbarların/buludların/CI/CD-lərin dərhal geri çağırılması.
Proseslər: Giriş müraciətləri (ITSM), SoD matrisi (vəzifə ayrılması), dövri access review.
Sirlər, açarlar və rotasiyalar
KMS/HSM: Kök/kritik açarları saxlayın, əməliyyatların auditini açın.
Vault/Secrets menecerləri: dinamik kreddlər (BD, buludlar), TTL-in tamamlanması zamanı avtomatik revok.
Rotasiyalar: OAuth tokenləri, JWT imza açarları, xidmət şifrələri - cədvəl üzrə və insidentlər zamanı.
mTLS: qısamüddətli sertifikatlar (saat/gün), avtomatik yenidən buraxma.
Siyasət və həll mühərriki
Deklarativlik: Siyasətləri Git-də saxlayın; CI (policy-tests) yoxlayın.
Kontekst: vaxt/yer/ASN/risk/cihaz vəziyyəti (MDM/EDR).
rego package authz. payments default allow = false
allow {
input. user. role == "finance"
input. device. compliant == true input. action == "read"
input. resource. type == "report"
time. now_hh >= 8 time. now_hh <= 20
}
Monitorinq, SLO və audit
Metriklər:- AuthN/AuthZ müvəffəqiyyəti (%), p95 vaxt giriş/həll, MFA/parolsuz giriş payı.
- JIT/PAM eskalasiya sayı, imtiyazların orta müddəti.
- Kompliant cihazların əhatə dairəsi, qısamüddətli sirlərin payı.
- SSO/IdP mövcudluğu ≥ 99. ayda 95%.
- p95 AuthZ decision ≤ 50 мс.
- 100% off hesabı ≤ offboarding sonra 15 dəqiqə.
- Audit və UEBA: mərkəzləşdirilmiş dəyişməz qeydlər (girişlər, rol dəyişiklikləri, uğursuz girişlər, PDP həlləri), davranış analitikası və anomaliyalar ilə bağlı narahatlıqlar.
IAM-da insident-respons
Tokenlərin/açarların güzəşti: dərhal geri çağırma, məcburi logout, imza açarlarının rotasiyası, qısa sirlərin yenidən yayımlanması.
Hüquqlardan sui-istifadə: Hesabınızı dayandırın, JIT/JEA-nı bloklayın, qonşu varlıqlarda access review edin.
IdP mövcud deyil: oflayn rejimlər (qısa TTL ilə tokenlərin müvəqqəti cash-validasiyası), prioritet bərpa prosedurları.
Fishing: məcburi MFA, risk yoxlama sessiyaları, istifadəçilər bildirişlər, təlim.
Buludlar və Kubernetes (nümunələr)
Public Cloud IAM: least privilege prinsipi ilə yerli rollardan istifadə edin; «əbədi» açarlar əvəzinə - buluta OIDC federasiyası ilə iş yükü (IRSA/Workload Identity).
Kubernetes: «cluster-admin» məhdudlaşdırmaq üçün/rolları ilə RBAC; sirləri - xarici menecerlər vasitəsilə; xidmət mesh + L7 siyasətçi üçün OPA; Admission-controller (imzalanmış şəkillər, qadağa «: latest»).
API şlüzləri: JWT/mTLS yoxlama, sürət məhdudiyyətləri, həssas end-pointlər üçün sorğu imzaları (HMAC).
iGaming/Fintech üçün təcrübə
Giriş domenləri: ödənişlər, antifrod, PII, məzmun provayderləri - rollar və şəbəkə seqmentləri ilə təcrid edin.
SoD: münaqişə rollarının birləşməsinə qadağa (məsələn, promo yaradılması + ödənişlərin təsdiqlənməsi).
PAM və JIT: PSP/banklara və prod-DB-yə giriş üçün - yalnız sessiyaların brokeri vasitəsilə, qeyd və avtomatik geri çağırışla.
Komplayens: PCI DSS - MFA, minimum imtiyazlar, CHD zonasının seqmentləşdirilməsi; GDPR - məlumatların minimuma endirilməsi prinsipi və PII-yə giriş nöqtələri.
Tərəfdaşlar və məzmun provayderləri: federasiya və per-tenant siyasətlər; qısamüddətli tokenlər və IP/ASN allow-list.
Tipik səhvlər
«Əbədi» açarlar və tokenlər: rotasiya və TTL → yüksək sızma riski yoxdur.
Manual offboarding: hüquqların geri çağırılmasında gecikmələr → «xəyal» girişləri.
Monolit rollar: kompozisiya və atributlar əvəzinə bir «super rol».
MFA yalnız administrasiyada: MFA bütün girişlər və kritik əməliyyatlar üçün olmalıdır.
Log «heç bir yerdə»: mərkəzləşdirmə və UEBA → hadisələrin sonradan aşkarlanması yoxdur.
IAM tətbiqi yol xəritəsi
1. Istifadəçilərin/xidmətlərin/resursların inventarlaşdırılması; məlumat və həssaslıq kartı.
2. hər kəs üçün SSO + MFA, phishing-resistant amillər daxil.
3. Rol modeli: kontekst üçün əsas RBAC + atributları (ABAC); SoD matrisi.
4. SCIM Provijining: Avtomobil yaradılması/HR/kataloqundan hüquqların dəyişdirilməsi/geri alınması; ITSM-də tətbiqlər və əlavələr.
5. PAM və JIT/JEA: imtiyazlı giriş üçün; sessiyaların qeydləri, qısa TTL.
6. Gizli menecment: statik açarlardan imtina; dinamik sirləri, rotasiyalar, mTLS qısa sertifikatlar ilə.
7. Git + CI siyasətləri: qaydaların testləri, dəyişikliklərə nəzarət, siyasətlərin kanarya yerləşdirilməsi.
8. Müşahidə və SLO: AuthN/AuthZ daşbordları, alertlər, müntəzəm access review.
Artefaktların nümunələri
AWS IAM Policy (minimum S3 hesabatlarını oxumaq üçün)
json
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "ReadOnlyReports",
"Effect": "Allow",
"Action": ["s3:GetObject","s3:ListBucket"],
"Resource": [
"arn:aws:s3:::reports-bucket",
"arn:aws:s3:::reports-bucket/"
],
"Condition": {
"IpAddress": { "aws:SourceIp": "203. 0. 113. 0/24" }
}
}]
}
Kubernetes RBAC (namespace-scoped developer)
yaml apiVersion: rbac. authorization. k8s. io/v1 kind: Role metadata:
name: dev-read-write namespace: app-prod rules:
- apiGroups: ["","apps"]
resources: ["pods","deployments","services","configmaps"]
verbs: ["get","list","watch","create","update","patch","delete"]
apiVersion: rbac. authorization. k8s. io/v1 kind: RoleBinding metadata:
name: dev-bind namespace: app-prod subjects:
- kind: User name: alice@example. com roleRef:
kind: Role name: dev-read-write apiGroup: rbac. authorization. k8s. io
OIDC: ABAC üçün iddialar (nümunə)
json
{
"sub": "d81f0b5c-...",
"email": "bob@example. com",
"dept": "finance",
"role": "analyst",
"device_compliant": true,
"tenant": "casino-eu"
}
Siyasət resursla üst-üstə düşən 'device _ compliant = true' və 'tenant' tələb edə bilər.
Nəzarət siyahısı (check-list)
- SSO bütün tətbiqlər üçün aktivdir; MFA default, passkeys prioritet.
- RBAC müəyyən; ABAC/ReBAC kontekstini əlavə edir; həyata JIT/JEA.
- PAM imtiyazlı girişləri qoruyur; sessiyaların qeydləri aparılır.
- HR-dən SCIM provizinq; offboarding tam avtomatlaşdırılmışdır.
- Qısa TTL ilə dinamik sirləri; rotasiya avtomatlaşdırılmışdır.
- Siyasətçilər CI test Git versiyası; kanareya hesabları var.
- AuthN/AuthZ tərəfindən Dashboard və SLO; mərkəzləşdirilmiş log və UEBA.
- Periodik access review və SoD yoxlamalar; komplayens üçün hesabatlar.
FAQ
ReBAC hər kəsə lazımdırmı?
Yox. Sadə mühit üçün RBAC + ABAC kifayətdir. ReBAC resurslara sahib olmağın mürəkkəb iyerarxiyası və multitenantlıq üçün faydalıdır.
Yerli qeydləri tərk edə bilərəmmi?
Yalnız break-glass və oflayn ssenarilər üçün, ciddi məhdudiyyətlər və periodik yoxlama ilə.
«Rol partlayışını» necə azaltmaq olar?
Resursların qranulyarlığını artırın, AVAS/şablonlardan istifadə edin, review avtomatlaşdırın və istifadə olunmayan rollardan imtina edin.
Yekun
Yetkin IAM arxitekturası SSO + MFA, minimum lazımi hüquqlar, avtomatlaşdırılmış JML, mərkəzləşdirilmiş siyasət və müşahidə qabiliyyətidir. RBAC-ı atribut və relyasiya modelləri ilə birləşdirməklə, JIT/JEA və PAM-ı tətbiq etməklə, həmçinin provizinq və sirr rotasiyasını avtomatlaşdırmaqla, təhlükəsizlik və biznes tələblərinə cavab verən idarə olunan, yoxlanıla bilən və ölçülə bilən giriş əldə edirsiniz.