Jenkins Active Directory Authentication Konfigürasyonu
0

Continuous Integration (CI)’ın efendisi Jenkins, her Commit işleminde yapılan Build ve test işlemlerini hatta daha fazlasını bizler için otomatikleştirmektedir. Özellikle büyük projelerde çalışan yazılımcılar gün içerisinde çokça defa kodda değişiklik yapıp bu süreçleri manuel olarak gerçekleştirmek zorunda kalmaktadır. Jenkins otomasyonu sağlarken sadece yazılımcıların değil; proje yöneticisinden analistine, testçisinden Key User’ına kadar herkesin işini kolaylaştırmaktadır. Tüm bu süreçlerin içerisinde özellikle kurumsal firmalar, karşılaşılabilecek güvenlik problemlerine karşı da önlemlerini alarak ilerlemeyi tercih etmektedir.  Jenkins bu noktada bizlere çeşitli güvenlik özelliklerini etkin hale getirebilmemiz için birçok yapılandırma seçeneği sunmaktadır. Kurulumla beraber zaten birçok güvenlik seçeneği etkin gelmesine rağmen bu seçeneklerin firmaya göre özelleştirilip yapılandırılması gerekmektedir. Güvenlik önlemleri kapsamına giren sisteme erişim işlemi Jenkins’te varsayılan olarak Jenkins kullanıcı adı ve şifresi ile sağlanmaktadır. Eğer bulunduğunuz kuruluşta kullanıcılar Active Directory ile yönetiliyorsa, güvenlik standartlarınızın bir parçası olarak Jenkins Active Directory Authentication konfigürasyonu sayesinde AD kimlik bilgileriyle oturum açılması sağlanabilmektedir. Jenkins’te AD tabanlı güvenlik yapılandırması nasıl yapılır adım adım görelim.

Gerekli Plugin’in Kurulması

Active Directory ile Jenkins entegrasyonu için Active Directory Plugin’inin kurulu olması gerekmektedir.

  • Jenkins Plugin Manager aracılığıyla Active Directory Plugin’i indirilerek aşağıdaki şekilde kurulum işlemi yapılır.

Resim-1

  • Kurulum tamamlandıktan sonra Jenkins yeniden başlatılır.

Resim-2

Active Directory Yapılandırılması
  • Configure Global Security ekranına gidilir.

Resim-3

  • Configure Global Security ekranında Add Domain butonuna tıklanır.

Resim-4

  • Eklenecek Domain hesabının bilgileri bu ekranda doldurulur. Eğer Jenkins sunucunuza önceden DNS bilgileri tanımlı ise sadece Domain ismini girmeniz yeterliyken tanımlı değilse bu bilgilerin manuel olarak girilmesi gerekmektedir. Henüz herhangi bir AD kullanıcısı veya grubuna yetki verilmediğinden değişiklikleri kaydetmeden bir sonraki adım ile devam etmeniz gerekmektedir.

Resim-5

  • Matrix-Based Security yetkilendirme şeması, kullanıcı ve grupların Jenkins ortamında hangi eylemleri gerçekleştirebileceklerini ayrıntılı bir şekilde kontrol altında tutmamızı sağlamaktadır. Bu şemayı aktif etmek için Authorization başlığı altında Matrix-Based Security seçeneğine tıklanır. Active Directory yapılandırmamızın başarısız olması ve kendi kullanıcınıza yetki vermeden sistemden atılma ihtimaline karşı anonim kullanıcılar için de yetki vermeyi tercih edebilirsiniz. ( Jenkins ortamı gizli bilgi içermediği sürece bu önlem makul olacaktır, bu yetkiler makalenin devamında kaldırılacaktır.)

Resim-6

  • Eklemek istediğiniz AD kullanıcı veya grubunun bilgileri aşağıdaki şekildeki gibi tanımlanır

Resim-7

  • Eklediğimiz kullanıcı veya grubun başarılı bir şekilde tabloda listelendiğini görürüz. Yetkilendirmeler matrixte yer alan verilere göre detaylı bir şekilde yapılabilir, ancak biz örneğimizde kullanıcıya tüm yetkileri vererek ilerleyeceğiz. Save butonuna tıklayarak değişikliklerimizi kaydetmiş oluruz.

Resim-8

Yapılandırmanın Test Edilmesi
  • Giriş ekranında yetkili AD kullanıcısına ait bilgiler ile login olmayı deneyerek şimdiye kadar yapmış olduğumuz yapılandırmaları test edebilirsiniz.

Resim-9

  • Sisteme giriş yaptıktan sonra AD kullanıcısına ait isim soyisim bilgilerinin ekranda yer aldığını görmekteyiz.

Resim-10

Active Directory Sağlık Durumu

AD Plugin’i, Domain ve Domain Controller hakkında sağlık durumu bildirmektedir. Bu özelliğin doğru kullanılabilmesi için, Jenkins’e AD kullanıcısıyla giriş yapılmış ve Cache devre dışı bırakılmış olmalıdır.

  • Cache’in devre dışı olduğunun kontrolünü Configure Global Security ekranında Enable Cache seçeneğinin seçili olmadığını doğrulayarak yapabilirsiniz.

Resim-11

  • Active Directory sağlık durumunu Manage Jenkins -> Active Directory Health Status sayfasından kontrol edebilirsiniz.

Resim-12

Anonim Kullanıcılara Yetki Verildiyse Geri Alınması

Önceki adımlarda eğer önlem için anonim kullanıcılara yetki verdiyseniz, bu yetkileri Configure Global Security sayfasına giderek Anonymous Users kullanıcısından geri almanız gerekmektedir.

Resim-13

Jenkins ile entegre projelerimizin sayısı arttıkça alınan güvenlik önlemlerinin sayısı da haliyle artmaktadır. Ortama erişim varsayılan olarak Jenkins kullanıcı adı ve şifresi ile sağlanmaktadır.  Active Directory Plugin’i kuruluşlara Active Directory kimlik bilgileriyle oturum açılabilme imkanı sunmaktadır. Bu Plugin sayesinde güvenlik standartlarınızın bir parçası olan sisteme erişim kontrolünü son derece basit hale getirebilirsiniz.

Şimdiye kadar Jenkins’te AD tabanlı güvenlik yapılandırmasını tamamladık, peki roller ve kullanıcılar nasıl yönetilmektedir? Jenkins bu noktada Role-Based User Management (Rol Bazlı Kullanıcı Yönetimi) stratejisi ile yardımımıza koşmaktadır. Bir sonraki makalemde rol ve kullanıcı yönetimini hep beraber inceleyeceğiz, görüşmek üzere J

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

 

TAGs: Jenkins, Jenkins Active Directory Authentication, Jenkins Active Directory entegrasyonu, Jenkins Security, Jenkins güvenlik, Jenkins kullanıcı yönetimi, Active Directory, Role-Based User Management, Rol bazlı kullanıcı yönetimi, Active Directory Plugin, Active Directory eklentisi, Jenkins’te Active Directory hesabı ile oturum açma

Bu İçeriğe Tepkin Ne Oldu?
  • 3
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

İTÜ Matematik Mühendisliği ana dalından mezun olmadan önce Bilgi İşlem Daire Başkanlığı’nda 1 sene asistan öğrencilik yaparak bilgi teknolojileri sektörüne altyapımı daha iyi hazırlama fırsatım oldu. Mezun olduktan sonra Mercedes Benz Finansal Hizmetler şirketinde Database Administrator olarak çalışmaya başladım. Paralelde İTÜ’de ikinci ana dalım olan İşletme Mühendisliği’ne devam etmekteyim. Aynı zamanda DevOps trendlerini de takip ederek kendimi DevOps Engineer olarak geliştirmekteyim.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir