Önce: Security Defaults vs Conditional Access Farkı
| Özellik | Security Defaults | Conditional Access |
| Lisans | Tüm planlar (ücretsiz) | Entra ID P1 ($6/kullanıcı/ay) gerek |
| Yapılandırma | Tek toggle, tüm kullanıcılar zorunlu | Granüler — kullanıcı/grup/IP/cihaz/uygulama bazlı |
| İstisna | YOK (acil break-glass admin riski) | Var (servis hesapları için exclude) |
| Rapor | Sınırlı | Detaylı sign-in log + What-if tool |
| Önerilen | Çok küçük şirketler (1-10 kişi) | 10+ kullanıcı, kurumsal yapı |
Eğer Microsoft 365 Business Premium ya da E3+ aldıysanız Entra ID P1 dahil — Conditional Access kullanın.
Adım 0 — Önce Break-Glass (Acil Erişim) Hesabı Oluşturun
Conditional Access yanlış yapılandırılırsa tüm admin'ler kilitlenir. 1-2 adet "break-glass" Global Admin hesabı oluştur:
- UPN:
break-glass-1@firmaniz.onmicrosoft.com (özel domain değil)
- Çok güçlü parola (50+ karakter), kasada sakla
- Hiçbir CA politikasına dahil ETME (exclude listesinde olsun)
- Global Admin rolü kalıcı
- Sadece acil durumda kullanılır, audit log izle
Adım 1 — Security Defaults'u Kapat (CA kullanacaksanız)
Aynı anda ikisi açıksa Security Defaults önceliklidir.
- Entra Admin → Identity → Overview → Properties
- "Manage security defaults"
- "Enable security defaults" → No → Save
Adım 2 — Yeni Conditional Access Politikası Oluştur
Entra Admin → Protection → Conditional Access → Policies → New policy
2.1 — Politika adı
CA001 - MFA zorunluluğu (tüm kullanıcılar)
2.2 — Users (Kapsamlı kim?)
- Include: All users
- Exclude:
- Break-glass kullanıcılar (yukarıdaki 2 hesap)
- Service accounts grubu (varsa)
- Directory roles → "Directory Synchronization Accounts"
2.3 — Target resources
- Cloud apps → "All cloud apps"
Daha sıkı yaklaşım: önce sadece Office 365 + Microsoft Admin Portals'ı seçin, hava aldıkça genişletin.
2.4 — Conditions (koşullar)
İlk politika için boş bırakın (tüm koşullarda uygulansın). İleride:
- Locations: Türkiye dışı ülkelerden ek MFA
- Client apps: Legacy auth (POP/IMAP) blokla
- Device platforms: iOS/Android için Intune compliance
2.5 — Grant (ne yapsın?)
- "Grant access" seçili
- "Require multi-factor authentication" işaretle
- "For multiple controls" → "Require one of the selected controls"
2.6 — Enable policy
İlk seferde "Report-only" seçin. 1-2 hafta log'larda bakın, tetiklenecek senaryoları gözlemleyin. Sorun yoksa "On" yapın.
Adım 3 — What-If Aracı ile Test
Entra Admin → Conditional Access → What If. Bir kullanıcı + uygulama + lokasyon seçin → hangi politikalar tetiklenir, MFA istenir mi gösterir. Production'a almadan önce kritik.
Adım 4 — Sign-in Logs ile Doğrulama
Politikayı On yaptıktan sonra:
Entra Admin → Identity → Monitoring → Sign-in logs
Filter: Conditional Access → Success (MFA prompted)
"Conditional Access" sütunu "Success" olmalı. "Not applied" görüyorsanız politika kullanıcı / app'i kapsamıyor demektir.
Yaygın 5 Politika (Olgun Yapı)
| Politika | Koşul | Eylem |
| CA001 - MFA zorunlu | Tüm kullanıcı, tüm app | MFA |
| CA002 - Yurt dışı bloklama | Locations: Türkiye dışı (whitelist olanlar hariç) | Block |
| CA003 - Legacy auth blok | Client apps: Other clients (POP/IMAP) | Block |
| CA004 - Admin için sıkı | Directory roles: Global Admin, Exchange Admin, vs | MFA + Compliant device |
| CA005 - Yönetimsiz cihaz | Device state: Unmanaged | Web only (no app) |
PowerShell ile Politika Bulk Oluşturma
Connect-MgGraph -Scopes "Policy.ReadWrite.ConditionalAccess"
$policy = @{
displayName = "CA001 - MFA all users"
state = "enabledForReportingButNotEnforced" # report-only
conditions = @{
users = @{
includeUsers = @("All")
excludeUsers = @("<break-glass-user-id>")
}
applications = @{ includeApplications = @("All") }
}
grantControls = @{
operator = "OR"
builtInControls = @("mfa")
}
}
New-MgIdentityConditionalAccessPolicy -BodyParameter $policy
Sık Yapılan Hatalar
- Break-glass yok: tek admin MFA cihazı kaybedince tenant'a hiç giriş kalmaz
- Service account dahil: Otomasyon (Power Automate, Azure Function) kırılır → exclude şart
- Report-only atlama: doğrudan On — beklenmedik kullanıcılar engellenir
- Multi-factor + Compliant device birlikte: Intune'a kayıtlı olmayan cihaz tamamen engellenir
- Legacy auth bloklamadan MFA açma: POP/IMAP MFA'yı destekleyemez, mailler direkt çalışmaz, ama MFA atlanır → güvenlik açığı
SSS
Conditional Access için lisans şart mı?
Evet — Entra ID P1 (Business Premium ile gelir) veya P2. Free tenant'larda CA menüsü görünmez.
MFA için Authenticator zorunlu mu, SMS de olur mu?
SMS hâlâ destekli ama Microsoft Authenticator + number matching'i öneriyor. SMS phishing/SIM swap riski.
Misafir kullanıcı (Guest) için MFA?
Aynı politikaya dahil olabilir — "Include: All users" seçince Guest'leri de kapsar. Veya ayrı politika ile sadece Guest'lere uygulayın.
Test için single user nasıl atarım?
Politikada "Include: Select users" → tek kullanıcı seç. Bu kullanıcıda 5 dk sonra etkin olur.
Politika kaldırınca tüm session'lar düşer mi?
Hayır — kullanıcının mevcut token'ı (1-24 saat) çalışmaya devam eder. Hemen düşürmek için "Revoke sessions".
Conditional Access kurulumu + audit için bize ulaşın → Microsoft 365 Business Premium dahil P1 lisansla başlangıç paketleri sunuyoruz.