Microsoft Entra ID Duplicate Attribute Hatasının Giderilmesi

Microsoft Entra ID Duplicate Attribute Hatasının Giderilmesi

Kurumsal yapılarda kimlik yönetimi sistemlerin güvenli ve kesintisiz çalışabilmesi için en kritik bileşenlerden biridir.

Kullanıcı hesaplarının doğru oluşturulması, e-posta adreslerinin benzersiz şekilde atanması, oturum açma bilgilerinin tutarlı olması ve tüm bu verilerin Active Directory ile Microsoft Entra ID arasında sağlıklı biçimde senkronize edilmesi gerekir.

Ancak özellikle hibrit yapılarda yani On-Premises Active Directory ile Microsoft Entra ID’nin birlikte kullanıldığı ortamlarda bazı attribute değerlerinin çakışması ciddi problemlere yol açabilir.

Bu problemlerin başında ise Duplicate Attribute hatası gelir.

Duplicate Attribute hatası ilk bakışta yalnızca aynı e-posta adresinin iki kullanıcıda bulunması gibi basit bir sorun gibi görünebilir. Fakat arka planda Azure AD Connect senkronizasyonunu, Exchange Online yapılandırmasını, Microsoft 365 lisanslama süreçlerini ve kullanıcı provisioning işlemlerini doğrudan etkileyebilir.

Bu nedenle bu hata yalnızca anlık bir kullanıcı oluşturma problemi olarak değil, kimlik yönetimi süreçlerinde dikkatle ele alınması gereken önemli bir veri bütünlüğü sorunu olarak değerlendirilmelidir.

Duplicate Attribute Hatası Nedir?

Duplicate Attribute benzersiz olması gereken bir öznitelik değerinin birden fazla obje üzerinde bulunması durumunda ortaya çıkan çakışma hatasıdır. Microsoft Entra ID ve Active Directory yapılarında bazı attribute değerlerinin tekil olması beklenir.

Aynı değer farklı kullanıcı, grup, contact, mailbox veya silinmiş obje üzerinde bulunduğunda sistem bu durumu çakışma olarak algılar.

Bu hata genellikle şu işlemler sırasında fark edilir;

Yeni kullanıcı oluşturma
Azure AD Connect senkronizasyonu
Exchange Online mailbox provisioning
Microsoft 365 lisans atama işlemleri
Kullanıcı UPN veya e-posta adresi güncelleme süreçleri

Karşılaşılan hata mesajları ortamdan ortama değişebilir. Ancak genellikle aşağıdaki ifadelere benzer uyarılar görülür:

Attribute value must be unique
Duplicate attribute value detected
Azure AD Connect synchronization error
Exchange provisioning error

Bu mesajların temel anlamı şudur: Sistem, ilgili attribute değerinin başka bir nesnede daha kullanıldığını tespit etmiş ve işlemi güvenli şekilde tamamlayamamıştır.

En Çok Hangi Attribute Değerlerinde Çakışma Yaşanır?

Duplicate Attribute hataları her attribute üzerinde görülmez. Genellikle sistem için benzersiz olması gereken kimlik ve e-posta odaklı alanlarda meydana gelir.

proxyAddresses

En sık çakışma yaşanan attribute değerlerinden biri proxyAddresses alanıdır. Özellikle Exchange kullanılan yapılarda bu attribute son derece önemlidir. Kullanıcının birincil ve ikincil SMTP adresleri bu alanda tutulur.

Örneğin:

SMTP:user@domain.com
smtp:alias@domain.com

Burada büyük harfle yazılan SMTP: değeri primary yani birincil e-posta adresini belirtir. Küçük harfle yazılan smtp: değerleri ise secondary yani ek e-posta adreslerini ifade eder.

Aynı SMTP adresinin başka bir kullanıcıda, contact objesinde, shared mailbox üzerinde veya silinmiş bir nesnede bulunması Duplicate Attribute hatasına neden olabilir.

mail

mail attribute’u kullanıcının temel e-posta adresini ifade eder. Aynı mail değerinin birden fazla obje üzerinde tanımlı olması, Entra ID tarafında çakışma oluşturabilir.

Özellikle eski kullanıcıların silinmeden önce e-posta değerlerinin temizlenmemesi, yeni kullanıcı oluşturma sırasında bu hatanın ortaya çıkmasına neden olur.

userPrincipalName

userPrincipalName, kullanıcının oturum açma adıdır. Genellikle e-posta adresi formatında kullanılır:

user@domain.com

UPN değerinin benzersiz olması gerekir. Aynı UPN’in birden fazla kullanıcıda yer alması, hem oturum açma süreçlerinde hem de Entra ID senkronizasyonunda problem oluşturur.

Duplicate Attribute Hatasının Başlıca Nedenleri

Duplicate Attribute hatasının oluşmasının arkasında farklı sebepler olabilir. Sorunu kalıcı olarak çözebilmek için yalnızca hata alan kullanıcıya odaklanmak yeterli değildir. Çakışmaya neden olan asıl obje veya süreç mutlaka tespit edilmelidir.

Silinmiş Objelerin Hâlâ Sistemde Bulunması

Active Directory’de bir kullanıcı silindiğinde, obje çoğu zaman sistemden hemen tamamen kaldırılmaz. Belirli bir süre boyunca Deleted Objects alanında tutulur. Bu durum geri dönüş imkânı sağladığı için faydalıdır; ancak bazı senaryolarda eski objeye ait attribute değerleri yeni kullanıcılarla çakışabilir.

Örneğin daha önce kullanılan user@domain.com adresine sahip bir kullanıcı silinmiş olabilir. Ancak bu obje hâlâ Deleted Objects içinde duruyorsa ve aynı adres yeni bir kullanıcıya verilmek istenirse, sistem bu adresin hâlâ kullanımda olduğunu düşünebilir.

Bu nedenle Duplicate Attribute analizlerinde yalnızca aktif kullanıcıları kontrol etmek yeterli değildir. Silinmiş objelerin de mutlaka sorguya dahil edilmesi gerekir.

Hibrit Ortamlarda Senkronizasyon Çakışmaları

On-Prem Active Directory ile Microsoft Entra ID arasında Azure AD Connect kullanılıyorsa, attribute değerleri belirli kurallar doğrultusunda buluta senkronize edilir. Eğer aynı attribute değeri hem on-prem tarafta hem de bulut tarafında farklı objelerde bulunuyorsa, senkronizasyon başarısız olabilir.

Bu durumda ilgili kullanıcı Microsoft Entra ID tarafında oluşmayabilir, lisans alamayabilir veya Exchange Online posta kutusu oluşturulamayabilir.

Hibrit ortamlarda bu hatanın çözümü için yalnızca Entra ID tarafını kontrol etmek yeterli değildir. Active Directory, Exchange recipient objeleri, soft-deleted cloud objeleri ve Azure AD Connect hata kayıtları birlikte incelenmelidir.

Hatalı Manuel İşlemler

Kurumsal yapılarda bazı kullanıcı attribute değerleri manuel olarak güncellenebilir. Ancak bu işlemler standart bir kontrol mekanizmasına bağlı değilse, aynı e-posta adresi veya alias yanlışlıkla birden fazla kullanıcıya atanabilir.

Özellikle isim değişikliği, departman değişikliği, domain geçişi veya eski çalışan hesabının yeniden kullanılması gibi senaryolarda manuel hatalar sık görülür.

Eksik Kullanıcı Silme veya Devir Süreçleri

Bir çalışan kurumdan ayrıldığında hesabın yalnızca disable edilmesi veya silinmesi çoğu zaman yeterli değildir. Kullanıcının e-posta adresleri, alias değerleri, Exchange mailbox durumu ve bulut tarafındaki karşılığı da kontrol edilmelidir.

Bu adımlar eksik bırakılırsa, aynı e-posta adresi yeni bir çalışana verildiğinde Duplicate Attribute hatası ortaya çıkabilir.

Hatalı Script ve Otomasyonlar

PowerShell scriptleri ve otomasyon araçları kullanıcı yönetimini kolaylaştırır. Ancak yeterli kontrol içermeyen scriptler, aynı mail veya proxyAddresses değerini birden fazla kullanıcıya atayabilir.

Bu nedenle toplu kullanıcı oluşturma veya güncelleme scriptlerinde mutlaka ön kontrol yapılmalıdır. Script çalışmadan önce hedef attribute değerinin başka bir kullanıcıda bulunup bulunmadığı doğrulanmalıdır.

Duplicate Attribute Hatası Nasıl Tespit Edilir?

Bu hatayı çözmenin en önemli adımı, çakışan değerin hangi obje üzerinde bulunduğunu bulmaktır. Yanlış kullanıcı üzerinde işlem yapmak, çalışan bir hesabın e-posta akışını veya oturum açma yeteneğini bozabilir.

Bu nedenle tespit aşaması dikkatli yürütülmelidir.

Microsoft Entra Admin Center Üzerinden Kontrol

Duplicate Attribute hataları Microsoft Entra Admin Center üzerinden görüntülenebilir. Özellikle Azure AD Connect kullanılan ortamlarda, senkronizasyon hatalarını merkezi bir ekranda incelemek oldukça faydalıdır.

Genel kontrol adımları şu şekildedir:

Microsoft 365 Admin Center’a giriş yapılır.
Admin Centers > Identity bölümüne gidilir.
Microsoft Entra Admin Center açılır.
Health & Analytics bölümünden Entra Connect Health ekranına girilir.
Sync Errors alanı kontrol edilir.
Duplicate Attribute sekmesi üzerinden çakışan kayıtlar incelenir.

Bu ekran üzerinden hangi kullanıcının hangi attribute nedeniyle hata aldığı görülebilir. Böylece PowerShell tarafında yapılacak detaylı analiz için daha net bir başlangıç noktası elde edilir.

PowerShell ile Detaylı Attribute Analizi

GUI ekranları genel resmi görmek için faydalıdır; ancak asıl detaylı analiz genellikle PowerShell ile yapılır. Çünkü PowerShell sayesinde hem aktif hem de silinmiş objeler aynı anda sorgulanabilir.

Aşağıdaki komut, belirli bir e-posta adresinin proxyAddresses, mail veya userPrincipalName alanlarında kullanılıp kullanılmadığını kontrol etmek için kullanılabilir:

Get-ADObject -LDAPFilter "(|(proxyAddresses=SMTP:user@domain.com)(proxyAddresses=smtp:user@domain.com)(mail=user@domain.com)(userPrincipalName=user@domain.com))" -Properties proxyAddresses,mail,userPrincipalName,displayName,objectClass,distinguishedName,isDeleted -IncludeDeletedObjects

Bu komutta yer alan -IncludeDeletedObjects parametresi oldukça önemlidir. Çünkü yalnızca aktif objeleri değil, silinmiş ancak sistemde hâlâ bulunan objeleri de sorguya dahil eder.

Komut çıktısında özellikle şu alanlar incelenmelidir:

displayName
objectClass
distinguishedName
proxyAddresses
mail
userPrincipalName
isDeleted

isDeleted alanı, çakışmaya neden olan objenin silinmiş bir nesne olup olmadığını anlamak için kullanılabilir.

Duplicate Attribute Hatası Nasıl Çözülür?

Çözüm yöntemi, çakışmaya neden olan objenin durumuna göre değişir. Bu nedenle düzeltme işlemine başlamadan önce çakışmanın aktif bir kullanıcıdan mı, silinmiş bir objeden mi, Exchange recipient kaydından mı yoksa bulut tarafındaki eski bir nesneden mi kaynaklandığı netleştirilmelidir.

Aktif Kullanıcı Üzerindeki Attribute Değerini Temizleme

Eğer çakışan değer aktif bir kullanıcı üzerinde bulunuyorsa, ilgili attribute değeri güncellenmeli veya kaldırılmalıdır.

Tüm proxyAddresses değerlerini temizlemek için şu komut kullanılabilir:

Set-ADUser -Identity username -Clear proxyAddresses

Ancak bu komut dikkatli kullanılmalıdır. Çünkü kullanıcının tüm proxy adreslerini temizler. Exchange ortamlarında bu işlem e-posta akışını etkileyebilir.

Daha kontrollü bir yöntem olarak yalnızca çakışmaya neden olan SMTP adresi kaldırılabilir:

Set-ADUser username -Remove @{proxyAddresses="smtp:user@domain.com"}

Bu yöntem genellikle daha güvenlidir. Çünkü yalnızca problemli alias değeri kaldırılır, diğer adresler korunur.

Silinmiş Obje Kaynaklı Çakışmaları Giderme

Eğer duplicate hatası silinmiş bir objeden kaynaklanıyorsa iki farklı yol izlenebilir.

İlk yöntem, silinmiş objeyi geri yükleyip ilgili attribute değerlerini temizlemek ve ardından objeyi tekrar silmektir. Bu yöntem, obje üzerinde kontrol sağlamak açısından daha güvenlidir.

İkinci yöntem ise ilgili silinmiş objeyi kalıcı olarak kaldırmaktır. Ancak bu işlem geri dönüşü zor olabileceği için dikkatli uygulanmalıdır. Özellikle kurumsal ortamlarda bu tür işlemlerden önce yedekleme, onay ve değişiklik kaydı süreçleri işletilmelidir.

Exchange Objelerini Kontrol Etme

Exchange kullanılan yapılarda çakışmanın kaynağı yalnızca Active Directory kullanıcıları olmayabilir. Aynı SMTP adresi bir mail contact, shared mailbox, resource mailbox veya eski bir mail-enabled obje üzerinde de bulunabilir.

Bu nedenle Exchange recipient tarafı da mutlaka kontrol edilmelidir. Bazı durumlarda Active Directory tarafında sorun görünmezken, Exchange tarafındaki eski bir recipient objesi duplicate hatasına neden olabilir.

Azure AD Connect Senkronizasyonunu Yeniden Başlatma

On-prem ortamda gerekli düzeltmeler yapıldıktan sonra değişikliklerin Microsoft Entra ID tarafına yansıması gerekir. Bu işlem otomatik senkronizasyon döngüsüyle gerçekleşebilir; ancak çözüm sürecini hızlandırmak için manuel delta sync çalıştırılabilir.

Start-ADSyncSyncCycle -PolicyType Delta

Bu komut, yapılan değişikliklerin Entra ID tarafına daha hızlı aktarılmasını sağlar. Senkronizasyon sonrasında Entra Connect Health ve Sync Errors ekranları tekrar kontrol edilmelidir.

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *