Bir önceki makalede Elasticsearch ve kibananın kurulum/yapılandırma işlemlerini gerçekleştirmiştik. (https://mutlubalik.com/elasticsearch-ve-kibana-kurulum-islemi)

Bu makalede elasticsearh’ün active directory yapılandırmasını inceleyerek ad kullanıcıları ile sisteme erişim sağlanacaktır. Active directory entegrasyonu ile kullanıcı veya grup bazlı yetkilendirme yaparak kullanıcıların erişebileceği alanları sınırlandırabiliriz.

Elasticsearch basic lisans ile kullanılıyor ise AD yapılandırması yapılamamaktadır. Bu işlem için premium lisans gerekmektedir. Test işlemlerim için Elasticsearch’ün deneme lisansı ile AD entegrasyon işlemini gerçekleştiriyor olacağım.

reference: https://www.elastic.co/subscriptions

30 gün geçerli deneme lisansı almak için kibana arayüzüne erişim sağladıktan sonra Management menüsü altında bulunan Stack Management kısmına erişim sağlanır.

Stack Management sekmesinde Stack -> License Management yolu izlenmelidir.

Mevcut lisansın basic lisans olduğu görüntülenmektedir. Start trial seçeneği ile 30 gün geçerli demo lisans alma işlemi başlatılır.

Açılan pencerede Start my trial denilerek deneme lisansına geçiş yapılır.

Artık elasticsearh premium demo lisans ile kullanılmaktadır.

Lisans kontrolü aşağıdaki komut kullanılarakta yapılabilir.

http://localhost:9200/_license?pretty

Lisanslama işleminin ardından active directory yapılandırılmasına geçilebilir. Active directory yapılandırma ayarları elasticsearch.yml dosyası içinde yapılmaktadır. elasticsearch.yml dosyası bir düzenleyici ile açıldıktan sonra en alt satıra geçilir ve AD yapılandırması ortama uygun şekilde düzenlenerek dosya kaydedilir.
Örnek olarak aşağıdaki dosya incelenebilir.

Not: Bu işlemin ardından elasticsearch servisi yeniden başlatılmalıdır.

Yapılandırma ve servis restartı sonrasında arayüze erişim sağlanarak içeri aldığımız AD kullanıcılarından birini kullanarak giriş yapma işlemi test edilir.

AD kullanıcısı ile giriş yapmayı denediğimizde “You do not have permission to access the requested page” hatası alınmaktadır. Bu hata kullanıcının sistem üzerinde yetkilendirilmemiş olmasından kaynaklanmaktadır. .Çözümü için rol mapping eklenmesi gerekmektedir.

rol mapping ekleme işlemi gerçekleştirmek için sisteme yetkili olan “elastic” kullanıcısı giriş yapılmalıdır.

Erişim sağlandıktan sonra Management menüsü altında bulunan Stack Management kısmına erişim sağlanır.

Stack Management menüsüne erişim sağladıktan sonra Security -> Role Mappings -> Create role mapping denilerek yeni bir role mapping oluşturma penceresi açılır.

Açılan pencerede;
Mapping name: Oluşturulacak olan role mapping’in tanımlayıcı isminin belirlendiği kısımdır.
Enable mapping: map’in etkin/pasif tercihinin yapıldığı kısımdır.
Roles: Hangi yetkinin verileceğinin belirlendiği kısımdır. Birden fazla rol ataması yapılabilir. Ben örnek olarak “superuser” tanımlaması gerçekleştiriyorum.
Mapping rules: Bu kısım oluşturulan kuraldan kimlerinin etkileneceğinin belirlendiği kısımdır. User field kısmında username, dn, groups ve realm.name değerlerine göre seçim yapılabilmektedir. Ben groups seçeneğini seçtikten sonra Value kısmına ilgili group’un yolunu belirtiyorum.
Yapılandırma işlemleri tamamlandıktan sonra Save role mapping seçeneği ile kaydedilir.

Oluşturulmuş olan role mapping görüntülenmektedir.

Yetkilendirme işlemleri tamamlandıktan sonra kibana arayüzüne erişim sağlayarak ad kullanıcısı ile tekrar giriş yapılır.

Görüldüğü gibi yetkilendirme işleminin ardından kullanıcı sisteme erişim sağlayabilmektedir.

Bu makalede elasticsearch AD yapılandırma ve yetkilendirme işlemini gerçekleştirdik.

Bir sonraki makalede görüşmek üzere. Sağlıkla Kalın…

reference: https://www.elastic.co/guide/en/elasticsearch/reference/current/ldap-realm.html

reference: https://www.elastic.co/guide/en/elasticsearch/reference/current/active-directory-realm.html

Yazar: Mutlu BALIK