Keycloak‘ı mevcut kullanıcı dizinleriyle entegre etmek için LDAP (Lightweight Directory Access Protocol) kullanabilirsiniz. Bu entegrasyon, kurum içi kullanıcıların yönetimi ve kimlik doğrulaması için oldukça faydalıdır. Bu dokümanda, Keycloak ile LDAP entegrasyonu adımlarını ve örnek bir yapılandırmayı detaylı olarak ele alacağız.
Keycloak ile Active Directory ve OpenLDAP gibi LDAP servislerini nasıl entegre edeceğinizi öğrenerek kullanıcı yönetimini merkezi hale getirebilirsiniz.
Keycloak ve LDAP Entegrasyonu Nedir?
Keycloak, kimlik ve erişim yönetimi sağlayan bir açık kaynak yazılımıdır. LDAP ile entegrasyon, kullanıcıların merkezi bir dizin üzerinden yönetilmesini sağlar. Bu sayede, kullanıcı veritabanınızı (Active Directory, OpenLDAP vb.) Keycloak’a bağlayarak kullanıcıların giriş yapmasını, kimlik doğrulama işlemlerini ve rollerini merkezi olarak kontrol edebilirsiniz.
LDAP Nedir ve Nerelerde Kullanılır?
LDAP (Lightweight Directory Access Protocol), dizin tabanlı verileri düzenlemek ve yönetmek için kullanılan hafif bir protokoldür. Özellikle büyük şirketler, Active Directory ve OpenLDAP gibi dizin hizmetleriyle kullanıcı hesapları, cihazlar ve gruplar gibi bilgileri merkezi bir sistemde yönetir.
Keycloak ile LDAP Entegrasyonu İçin Gereksinimler
- Keycloak: Kurulu ve çalışır durumda olmalı.
- LDAP Sunucusu: Active Directory, OpenLDAP gibi bir LDAP sunucusu.
- Keycloak Yönetici Hesabı: Keycloak yönetici paneline giriş için gerekli yönetici hesabı.
1. Keycloak LDAP Bağlantı Yapılandırması
İlk adımda, Keycloak’ın LDAP sunucusuna bağlanması için gerekli yapılandırmayı yapacağız. LDAP entegrasyonunu başlatmak için aşağıdaki ayarları girmeniz gerekiyor:
- Connection URL:
ldap://ldap.cpynet.com:389
(SSL kullanıyorsanız, ldaps://ldap.cpynet.com:636
kullanabilirsiniz.)
- Bind DN: LDAP sunucusuna bağlanmak için kullanılan yönetici hesap bilgileri. Örneğin:
CN=Administrator,CN=Users,DC=cpynet,DC=com
- Bind Credential (Password): Bind DN ile ilişkili parolayı girin:
admin-password
2. Kullanıcı Dizini Ayarları
Keycloak, LDAP sunucusundaki kullanıcıları almak için belirli bir dizinde arama yapar. Bu dizin, kullanıcıların LDAP’da saklandığı yerdir. Örneğin:
- Users DN:
OU=Users,DC=cpynet,DC=com
3. LDAP Benzersiz Kimlik (UUID) Ayarı
Her kullanıcı LDAP’da benzersiz bir kimlik numarasıyla tanımlanır. Bu, genellikle entryUUID
veya objectGUID
gibi alanlarda saklanır.
- UUID LDAP Attribute:
entryUUID
4. LDAP Arama Alanı (Search Scope)
LDAP dizininde kullanıcı arama alanını belirleyebilirsiniz. Eğer kullanıcılar alt dizinlerde bulunuyorsa, taramanın tüm alt dizinlerde yapılması gerekir.
- Search Scope:
Subtree
Bu ayar, kullanıcıları belirtilen dizinin altındaki tüm alt dizinlerde arar.
5. LDAP Sunucu Türü
Keycloak’ın LDAP entegrasyonunda kullanacağınız LDAP sunucu türüne göre ayar yapmanız gerekmektedir. Bu örnekte Active Directory kullanıldığı için:
- Vendor:
Active Directory
Eğer başka bir LDAP sunucusu kullanıyorsanız (örneğin OpenLDAP), Other seçeneğini kullanabilirsiniz.
6. Örnek Keycloak LDAP Yapılandırma Dosyası
Aşağıda, tüm ayarları bir arada bulabilirsiniz. Bu yapılandırma dosyasını Keycloak yönetim panelinde User Federation altında LDAP sağlayıcısı eklerken kullanabilirsiniz.
- Edit Mode:
READ_ONLY
- Vendor:
Active Directory
- Connection URL:
ldap://ldap.cpynet.com:389
- Bind DN:
CN=Administrator,CN=Users,DC=cpynet,DC=com
- Bind Credential:
admin-password
- Users DN:
OU=Users,DC=cpynet,DC=com
- UUID LDAP Attribute:
entryUUID
- Search Scope:
Subtree
- Use Truststore SPI:
ldapsOnly
(Eğer SSL kullanıyorsanız) - Pagination:
true
- Batch Size for Sync:
1000
- Allow Kerberos Authentication:
false
Sonuç
Keycloak ile LDAP entegrasyonu, mevcut kullanıcı dizinlerinizi merkezi bir yönetim aracı üzerinden kullanmanızı sağlar. Bu rehberde, Keycloak ile LDAP entegrasyonunun nasıl yapılandırılacağını adım adım açıkladık ve örnek bir yapılandırma sunduk. Bu yapılandırmayı kullanarak, LDAP kullanıcılarınızı Keycloak’a kolayca entegre edebilir ve kimlik doğrulama işlemlerini merkezi hale getirebilirsiniz.