Bu yazımızda size Windows Server 2008 işletim sistemi ile gelen Managed Service Accounts (MSA) teknolojisinin üzerine geliştirmeler yapılarak ortaya çıkartılan ve Windows Server 2012 versiyonundan itibaren kullanabildiğimiz Group Managed Service Accounts (GMSA) hesaplarının yapısını, bize sağladığı faydaları ve ne şekilde kullanabileceğimizi anlatacağız.
MSA veya GMSA kullanmadan önce, servislerimizi çalıştırırken domain ortamında bir hesap yaratmamız ve bu hesaba bir şifre tanımlamamız gerekiyordu. IT ekibindeki çalışan değişiklikleri, şifrelerin unutulması ve tanımlanmamış şifrelerin değiştirilmesinin unutulması durumunda, öncelikle oluşturduğumuz hesabı bulmamız ve daha sonra onun şifresini değiştirmemiz gerekiyordu. Bu da bize yönetimsel zorluklar çıkarmaktaydı. Ayrıca şifrelerin değiştirilmemesi, eğer kısıtlanmamışsa tüm domain ortamında oturum açabilmesi ve yetkilerini kullanabilmesi gibi durumlar da güvenlik açıklarına sebep olabilmekteydi. Dolayısıyla, Microsoft tarafından Windows Server 2008 sürümünde MSA hesapları ve 2012 sürümüyle de GMSA hesapları tanımlanması sağlanarak bu yönetimsel zorlukların aşılması hedeflenmiştir.
GMSA hesapları Active Directory şemamızın 2012 versiyonuna güncellenmesiyle şemamıza eklenen msDSGroupManagedServiceAccount sınıfından türetilmektedir. Bu sınıfın türetilmesiyle aşağıdaki attributeler Active Directory ortamımıza eklenmektedir.
- msDS-GroupMSAMembership
- msDS-ManagedPassword
- msDS-ManagedPasswordInterval
- msDS-ManagedPasswordID
- msDS-ManagedPasswordPreviousID
Bu attributelar sayesinde GMSA hesapları ortamımıza tanımlanabilmektedir.
GMSA hesaplarında herhangi bir parola tanımlaması yönetici kullanıcılar tarafından yapılmamaktadır. Bunun yerine, Active Directory ortamımızdaki Key Distribution Service (KDS) tarafından yaratılan ve GMSA hesabına msDS-ManagedPassword attributeunda tanımlanan değer parola olarak kullanılmaktadır. Ayrıca msDS-ManagedPasswordInterval attributeu üzerinde tutulan süre aralıklarında GMSA hesabının şifresi yine KDS tarafından değiştirilmektedir. msDS-ManagedPasswordID ve msDS-ManagedPasswordPreviousID attributeler de parolanın türetilmesinde kullanılmaktadır. Son olarak, GMSA hesapları tanımlandığı servisi, tanımlandığı zamanlanmış görevi ve diğer işlemleri yapmak istediği zaman ilk olarak Active Directory oturum açması gerekmekte ve Domain Controller sunucuları oturum açmak isteyen GMSA hesabının msDS-GroupMSAMembership attribute’unu kontrol ederek oturum açabilecek bilgisayarlar arasında olup olmadığını kontrol ettikten sonra oturum açılmasına imkan tanıyor.
GMSA hesaplarına otomatik parola tanımlanıyor demiştik. Varsayılanda KDS, GMSA hesaplarına otomatik olarak 120 karakterlik bir parola oluşturup bunu ortamdaki tüm DC’lere duyuruyor.
GMSA Hesabı Açabilmek İçin Gerekli Özellikler
- Ortamda en az bir tane Windows Server 2012 Domain Controller bulunması
- Active Directory Powershell modülü yüklü olan Windows 8/Windows Server 2012 makina
- GMSA hesabını kullanmak için de Windows Server 2012 veya Windows 8 sürümü domain üyesi bir bilgisayar.
Bunları sağladıktan sonra GMSA hesabının oluşturulmasına geçebiliriz.
GMSA hesabını oluşturmak için ilk önce aşağıdaki Powershell komutu yönetici olarak çalıştırılarak KDS Root Key oluşturulmalıdır. Oluşuturulan bu anahtar sayesinde Domain Controller sunucuları parola türetebileceklerdir.
Add-KDSRootKey –EffectiveImmediately
Resim-1
Bu anahtar oluşturulduktan sonra tüm domain controllerlara replikasyon işleminin tamamlanması için 10 saat beklenmesi gerekmektedir. Eğer lab ortamında çalışıyorsanız aşağıdaki komutu çalıştırarak hemen efektif hale gelmesini sağlayabilirsiniz.
Add-KDSRootKey –EffectiveTime (Get-Date).AddHours(-10)
Daha sonra, GMSA hesabını kullanacak olan bilgisayarları içerecek bir grup tanımlanmalıdır. Bunu da aşağıdaki komutla yapabilirsiniz.
New-ADGroup -DisplayName <GMSAKullanacakGrupAdı> -GroupScope Global -GroupCategory Security -Name <GMSAKullanacakGrupAdı>
Resim-2
Oluşturulan GMSA_Computers grubuna GMSA hesabını kullanabilecek bilgisayarlar eklenmelidir. Ben domain controllerımı ekliyorum.
Add-ADGroupMember -Identity <GMSAKullanacakGrupAdı> -Members <GMSAKullanacakBilgisayarHesapları>
Resim-3
Aşağıdaki komutu kullanarak GMSA hesabı “gmsatest” isminde yaratılır, ona
New-ADServiceAccount -Name <HesapAdı> -DNSHostName <GMSAHesabıDNSKaydı> -PrincipalsAllowedToRetrieveManagedPassword <GMSAKullanacakGrupAdı>
Resim-4
Bu komut sonucunda GMSA Hesabımız oluşturulmuş durumdadır.
GMSA Hesabımızı oluşturduktan sonra bu hesabı kullanacağımız bilgisayara tanımlama yapmamız gerekmektedir. Bunun için Active Directory Powershell modülünü yükledikten sonra aşağıdaki komutu çalıştırarak tanımlamayı yapabiliriz.
Install-ADServiceAccount <HesapAdı>
Resim-5
Hesabı ekledikten sonra da aşağıdaki komutla tanımlamayı kontrol edebiliriz.
Test-ADServiceAccount <HesapAdı>
Resim-6
True dönerse tanımlama başarılı bir şekilde yapılmıştır.
Sonrasında da GMSA hesabımızı çalıştırmak istediğimiz servise tanımlayabiliriz.
Resim-7
Bu değişikliği yaptıktan sonra GMSA bilgisayarını tanımlamış olduğunuz sunucuda GMSA hesabına “Log on as a service” hakkı tanımlanacaktır. Servisi başlattığınız zaman da Domain Controller ile iletişim kurulup GMSA hesabının şifresi alındıktan sonra yukarıda belirttiğimiz koşullar altında hesabınız otomatik olarak çalıştırılacaktır.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
TAGs: active directory, windows server 2012, managed service accounts, group managed service accounts, gmsa, gmsa kullanımı, gmsa tanımlanması, gmsa ile servis çalıştırma, active directory gmsa, gmsa hesabı oluşturma