Teknoloji•8 dk okuma

Microsoft Entra Connect (Azure AD Connect) ile Şirket İçi Active Directory ve Bulut Arasında Parola Karması Eşitlemesi (PHS)

Kullanıcıların tek bir şifreyle hem yerel bilgisayarlarına hem de Microsoft 365 ve Azure bulut servislerine giriş yapabilmesi için Microsoft Entra Connect kurulumu, OU filtreleme ve Kesintisiz Çoklu Oturum Açma (Seamless SSO).

AE

Ahmet Ertekin

20 January 2024

Microsoft Entra Connect (Azure AD Connect) ile Şirket İçi Active Directory ve Bulut Arasında Parola Karması Eşitlemesi (PHS)

Microsoft Entra Connect (Azure AD Connect) ile Şirket İçi Active Directory ve Bulut Arasında Parola Karması Eşitlemesi (PHS)

Kullanıcıların şirket içindeki bilgisayarlarını açarken ayrı bir şifre, buluttaki Microsoft Teams veya kurumsal e-postalarına girerken başka bir şifre kullanması hem personeli çıldırtır hem de yardım masasına sürekli şifre sıfırlama çağrıları yağmasına yol açar. Şirket içi Active Directory ile buluttaki Microsoft Entra ID (eski adıyla Azure AD) kimliklerini birbirine bağlayan köprü Microsoft Entra Connect'tir.

1. Kimlik Eşitleme Yöntemleri: Neden Parola Karması Eşitlemesi (PHS)?

Microsoft üç farklı mimari sunar:

  1. Parola Karması Eşitlemesi (Password Hash Sync - PHS): Kullanıcının Active Directory parolasının hash'inin hash'i (SHA-256 ile çift hash) buluta aktarılır. Asla düz metin parola gitmez. En güvenli, en kararlı ve sıfır şirket içi bağımlılık sunan modeldir (Şirketin interneti kopsa bile buluttaki kullanıcılar oturum açabilir!).
  2. Doğrudan Kimlik Doğrulama (Pass-Through Authentication - PTA): Parola buluta gitmez; bulut her girişte şirket içi sunucuya sorar. Şirket interneti koptuğunda kimse buluta giremez.
  3. Federasyon (ADFS): Çok karmaşık, pahalı ve yüksek bakım gerektiren eski model.

Kurumsal dünyada önerilen standart daima PHS + Seamless SSO ikilisidir.

2. Kurulum ve OU Tabanlı Filtreleme

Tüm Active Directory nesnelerini buluta basmak büyük bir hatadır! Servis hesapları, eski kullanıcılar ve test OU'ları filtrelenmelidir:

Entra Connect Sihirbazı Adımları:
1. Express Settings yerine 'Customize' seçilir.
2. Sign-in Method: 'Password Hash Synchronization' ve 'Enable single sign-on' işaretlenir.
3. Connect Directories: holding.local etki alanı seçilir.
4. Domain and OU Filtering:
   - Yalnızca senkronize edilmesi gereken 'OU=Kurumsal_Kullanicilar' ve 'OU=Gruplar' işaretlenir!
   - Domain Controller, Servis Hesapları ve Test OU'larının tikleri kaldırılır!

3. Kesintisiz Çoklu Oturum Açma (Seamless SSO) Yapılandırması

Seamless SSO aktif edildiğinde, şirket bilgisayarında Windows oturumu açmış olan bir personel tarayıcısından portal.office.com adresine girdiğinde şifre sormadan doğrudan masaüstüne ulaşır:

GPO ile İstemcilere Güvenilen Bölge (Intranet Zone) Dağıtımı:
User Configuration -> Administrative Templates -> Windows Components -> Internet Explorer -> Internet Control Panel -> Security Page
-> Site to Zone Assignment List:
- https://autologon.microsoftazuread-sso.com  -> Değer: 1 (Yerel İntranet)

Karşılaşılan Kritik Hatalar ve Çözüm İpuçları

  • UPN (User Principal Name) Uyuşmazlığı: Şirket içi etki alanınız holding.local ise ve kullanıcıların UPN'i ahmet@holding.local kalmışsa, buluta aktarıldıklarında kullanıcı adları ahmet@holding.onmicrosoft.com olur. Çözüm: Active Directory Domains and Trusts konsolundan şirketin gerçek e-posta domaini (holding.com.tr) UPN Suffix olarak eklenmeli ve kullanıcıların UPN'leri güncellenmelidir:
Get-ADUser -Filter * -SearchBase "OU=Kullanicilar,DC=holding,DC=local" | ForEach-Object {
    Set-ADUser $_ -UserPrincipalName ($_.sAMAccountName + "@holding.com.tr")
}
  • Mükerrer Nesne Çakışması (Attribute Conflict): Bulutta önceden elle açılmış bir kullanıcının e-posta adresi şirket içindekiyle çakışırsa senkronizasyon hata verir. Synchronization Service Manager konsolu üzerinden metaverse arama yapılarak Hard-Match (ImmutableID eşleştirmesi) yapılmalıdır.

Mühendis Notu

Entra Connect sunucusunun sağlığını düzenli kontrol edin. Get-ADSyncScheduler komutunu çalıştırarak senkronizasyon döngüsünün 30 dakikada bir çalıştığını ve SyncCycleInProgress durumunun kilitlenmediğini doğrulayın.