en
Dil
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI çevirisi
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

LDAP kimlik doğrulaması

LDAP

LDAP kimlik doğrulaması nasıl yapılandırılır

Genel Bakış
LDAP kimlik doğrulama modunu bildirme
Anında kullanıcı oluşturma
Grup tabanlı LDAP girişi
Sorun giderme
köşe durumları

 

Genel Bakış

LDAP (Hafif Dizin Erişim Protokolü), herkesin, ister genel İnternet ister kurumsal intranet üzerinde olsun, bir ağdaki kuruluşları, bireyleri ve dosyalar ve cihazlar gibi diğer kaynakları bulmasını sağlayan bir yazılım protokolüdür. LDAP, bir ağdaki dizin hizmetleri için bir standart olan X.500'ün bir parçası olan Dizin Erişim Protokolü'nün (DAP) "hafif" (daha az miktarda kod) sürümüdür. LDAP, ilk sürümünde güvenlik özellikleri içermediğinden daha hafiftir. Easy Redmine, bir veya daha fazla LDAP dizini kullanarak yerel olarak LDAP kimlik doğrulamasını destekler. Desteklenen dizin hizmeti türleri arasında Active Directory, OpenLDAP, eDirectory, Sun Java System Directory Server ve diğer uyumlu dizin hizmetleri bulunur.

Bir LDAP dizini, aşağıdaki düzeylerden oluşan basit bir "ağaç" hiyerarşisinde düzenlenmiştir:

  1. Kök dizini (ağacın başlangıç ​​yeri veya kaynağı),
  2. Her biri dallanan ülkeler
  3. Dallanan kuruluşlar
  4. Dallanan (için bir giriş içeren) kuruluş birimleri (bölümler, departmanlar vb.)
  5. Bireyler (kişileri, dosyaları ve yazıcılar gibi paylaşılan kaynakları içerir)

 

LDAP kimlik doğrulama modunu bildirme

Yönetim'e gidin ve menüde "LDAP kimlik doğrulama" yı tıklayın. Burada, herhangi birini test etme veya silme seçenekleri dahil olmak üzere mevcut tüm LDAP kimlik doğrulama modlarının listesini bulabilirsiniz. Yeni bir tane oluşturmak için, sağ üst köşedeki "Yeni kimlik doğrulama modu" yeşil düğmesini tıklayın.

LDAP servis sağlayıcısı, dizin sunucusuna bağlantıyı yapılandırmak için bir URL kullanır. LDAP bağlantı URL'sini oluşturmak için aşağıdaki alanlar belirtilmelidir:

  • Adınız: Dizin için rastgele bir ad.
  • Host: LDAP ana bilgisayar adı (test sunucusu).
  • Liman: LDAP bağlantı noktası (varsayılan 389'dur).
  • LDAP'ler: Dizine erişmek için LDAPS kullanmak istiyorsanız veya kullanmanız gerekiyorsa bunu işaretleyin.
  • Hesap: LDAP'ye okuma erişimi olan bir kullanıcı adı girin, aksi takdirde LDAP'niz anonim olarak okunabiliyorsa bu alanı boş bırakın (Active Directory sunucuları genellikle anonim erişime izin vermez).
  • Parola: Hesap için şifre.
  • Temel DN: LDAP dizin ağacınızın en üst düzey DN'si (örnek: dc = example, dc = com).
  • LDAP filtresi: Filtreler, bir uygulamaya erişmesine izin verilen kullanıcı veya grupların sayısını kısıtlamak için kullanılabilir. Esas itibarıyla filtre, uygulamanın LDAP ağacının hangi bölümünden senkronize edileceğini sınırlar. Hem kullanıcı hem de grup üyeliği için bir filtre yazılabilir ve yazılmalıdır. Bu, uygulamanızı erişime ihtiyacı olmayan kullanıcı ve gruplarla doldurmamanızı sağlar.
     

    Örnek filtreler

    (uyarı) Bu filtreler Active Directory için yazılmıştır. Bunları OpenLDAP gibi bir şey için kullanmak için özniteliklerin değiştirilmesi gerekecektir.

    Bu, yalnızca 'CaptainPlanet' grubundaki kullanıcıları senkronize edecektir - bu, Kullanıcı Nesne Filtresi:

    (&(objectCategory=Person)(sAMAccountName=*)(memberOf=cn=CaptainPlanet,ou=users,dc=company,dc=com))

    Ve bu, doğrudan veya iç içe yerleştirme yoluyla bu grubun üyesi olan kullanıcıları arayacaktır:

    (&(objectCategory=Person)(sAMAccountName=*)(memberOf:1.2.840.113556.1.4.1941:=cn=CaptainPlanet,ou=users,dc=company,dc=com))

    (bilgi) Active Directory için önemli memberOf: 1.2.840.113556.1.4.1941 CaptainPlanet grubu içinde yuvalanmış grupları bulmak istiyorsanız (sayısal dizeyi değiştirmeyin).

    Bu, 4 grubun (ateş, rüzgar, su, kalp) herhangi birine veya tümüne üye olan kullanıcıları arayacaktır.

    (&(objectCategory=Person)(sAMAccountName=*)(|(memberOf=cn=fire,ou=users,dc=company,dc=com)(memberOf=cn=wind,ou=users,dc=company,dc=com)(memberOf=cn=water,ou=users,dc=company,dc=com)(memberOf=cn=heart,ou=users,dc=company,dc=com)))
  • Zaman aşımı (saniye cinsinden): LDAP sağlayıcısı belirtilen süre içinde bir LDAP yanıtı almazsa, okuma girişimini iptal eder. Tamsayı sıfırdan büyük olmalıdır. Sıfırdan küçük veya sıfıra eşit bir tamsayı, okuma zaman aşımının belirtilmediği anlamına gelir; bu, varsayılan olarak orijinal davranışa dönüşen yanıt alınana kadar sonsuza kadar beklemeye eşdeğerdir. Bu özellik belirtilmezse, varsayılan yanıt alınana kadar beklemektir.
  • Anında kullanıcı oluşturma: Bunu kontrol ederek, herhangi bir LDAP kullanıcısı, Easy Redmine'de ilk kez oturum açtığında Easy Redmine hesabını otomatik olarak oluşturacaktır. Aksi takdirde, oturum açmak isteyen her LDAP kullanıcısı için kullanıcıyı Easy Redmine'de manuel olarak oluşturmanız gerekecektir.

Öznitellikler (örnekler):

  • Giriş özelliği: Bir kullanıcının oturum açtığı ve kimliğinin doğrulandığı oturum açma adı.
  • Firstname özelliği: İlk ad için özellik.
  • Soyadı özelliği: Soyadı için nitelik.
  • E-posta özelliği: E-posta adresi özniteliği.

Easy Redmine kullanıcıları, hesapları kimlik doğrulama için LDAP'yi kullanacak şekilde ayarlanmışsa, artık LDAP kullanıcı adlarını ve şifrelerini kullanarak kimlik doğrulaması yapabilmelidir (kullanıcı profilini düzenlerken "Kimlik doğrulama modu" ayarını kontrol edin).

Bunu test etmek için, LDAP hesabıyla eşleşen bir oturum açma ile bir Easy Redmine kullanıcısı oluşturun (normalde Easy Redmine, LDAP verilerine bakarak size tavsiyede bulunur), Kimlik Doğrulama modu açılır listesinden yeni oluşturulan LDAP'yi seçin (bu alan hesap ekranında yalnızca bir LDAP bildirildiğinde görünür) ve parolasını boş bırakın. LDAP kullanıcı adı ve parolasını kullanarak Easy Redmine'de oturum açmayı deneyin.

 

Anında kullanıcı oluşturma

Kontrol ederek anında kullanıcı oluşturma, herhangi bir LDAP kullanıcısı, Easy Redmine'de ilk kez oturum açtığında Easy Redmine hesabını otomatik olarak oluşturacaktır.
Bunun için, Easy Redmine hesaplarını oluşturmak için kullanılacak LDAP özniteliklerinin adını (ad, soyad, e-posta) belirtmeniz gerekir.

İşte Active Directory kullanan tipik bir örnek:

Name = My Directory Host = host.domain.org Port = 389 LDAPS = no Account = MyDomain \ UserName (veya AD sunucusuna bağlı olarak UserName @ MyDomain) Şifre = Base DN = CN = users, DC = host, DC = domain, DC = org Anında kullanıcı oluşturma = yes Öznitelikler Login = sAMAccountName Firstname = givenName Lastname = sN Email = mail

Bölümlere ayrılmış intranete sahip başka bir Active Directory örneği:

Ad = Kimlik doğrulama modları sayfası için yalnızca bir açıklama Ana Bilgisayar = DepartmanAdı.OrganizationName.local Bağlantı Noktası = 389 LDAPS = Hesap yok = DepartmanAdı \ KullanıcıAdı (veya AD sunucusuna bağlı olarak KullanıcıAdı @ MyDomain uid = Yönetici, cn = kullanıcılar, dc = MyDomain, dc = com) Password = Temel DN = DC = DepartmanAdı, DC = KuruluşAdı, DC = yerel Anında kullanıcı oluşturma = yes Öznitelikler Oturum Açma = sAMAccountName Ad = verilenAdı Soyadı = sN E-posta = posta

LDAP özellik adlarının harfe duyarlı.

Dinamik Bağlama Hesabı

Yukarıdaki kurulum, Easy Redmine'ın ön kimlik doğrulaması yapmak için kullandığı dizin sunucusunda özel bir hesaba ihtiyaç duyacaktır. Anahtar kelimeyi kullanmak mümkündür $ login Hesap alanında daha sonra mevcut giriş ile değiştirilecektir. Bu durumda şifre boş bırakılabilir, örneğin:

Hesap: $login@COMPANY.DOMAIN.NAME

or

Hesap: şirket \ $ giriş

Temel DN çeşitleri

Yukarıdaki Temel DN'nin Active Directory için standart olması oldukça olası olsa da, işverenimin sitesindeki Active Directory, standart kullanıcılar için Kullanıcılar konteynerini kullanmıyor, bu nedenle bu talimatlar beni uzun ve zahmetli bir yola gönderdi. Ayrıca, oturum açma işlemi oradaki ayarlarla başarısız olursa, yalnızca "DC = host, DC = domain, DC = org" denemenizi tavsiye ederim.

 

Grup tabanlı LDAP girişi

Yalnızca belirli bir LDAP grubuna ait kullanıcıların oturum açmasına izin vermek istiyorsanız, aşağıdaki talimatları izlemelisiniz. OpenLDAP LDAP sunucusuna ve Easy Redmine'e dayanırlar.

1. (OpenLDAP sunucusu) Yer paylaşımı üyesini etkinleştir

1.1. Bir dosya oluşturun:

vim ~ / memberof_add.ldif

Aşağıdaki içerikle:

dn: cn = modül, cn = yapılandırma
nesneSınıfı: olcModuleList
cn: modül
olcModulePath: / usr / lib / ldap
olcModuleLoad: üye

1.2. Bir dosya oluşturun:

vim ~ / memberof_config.ldif

Aşağıdaki içerikle:

dn: olcOverlay = memberof, olcDatabase = {1} hdb, cn = config
nesneSınıfı: olcMemberOf
nesne Sınıfı: olcOverlayConfig
nesneSınıfı: olcConfig
objectClass: üst
olcOverlay: üye
olcMemberOfDangling: yok say
olcMemberOfRefInt: DOĞRU
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: üye
olcÜyeOfAD: üyeOf

1.3. Onları yükleyin. OpenLDAP yapılandırmanıza bağlı olacaktır, bu nedenle bazı olasılıklar önereceğiz:

sudo ldapadd -c -Y HARİCİ -H ldapi: /// -f memberof_add.ldif
sudo ldapadd -c -Y HARİCİ -H ldapi: /// -f memberof_config.ldif

Veya:

ldapadd -D cn = admin, cn = config -w "şifre" -H ldapi: /// -f memberof_add.ldif
ldapadd -D cn = admin, cn = config -w "şifre" -H ldapi: /// -f memberof_config.ldif

Dinamik çalışma zamanı yapılandırma motoru (slapd-config) kullanıyorsanız yeniden başlatma GEREKMEZ.

1.4. (İsteğe bağlı) Test edin:

ldapsearch -D cn=admin,dc=example,dc=com -x -W -b 'dc=example,dc=com' -H 'ldap://127.0.0.1:389/' '(&(objectClass=posixAccount) )(memberOf=cn=ldapeasyredmine,ou=gruplar,dc=örnek,dc=com))'

2. (OpenLDAP sunucusu) Grubu oluşturun. Bu örnekte kullanıcı "ldap_user_1" ve grup "ldapeasyredmine":

dn: cn=ldapeasyredmine,ou=gruplar,dc=örnek,dc=com
cn: ldapeasyredmine
tanım: Personel üyelerinin Easy Redmine biletleme sistemine giriş yapmasına izin verildi
üye: cn = ldap_user_1, ou = insanlar, dc = örnek, dc = com
nesne sınıfı: grupOfNames
nesne sınıfı: üst

"Dn" ve "cn" leri DIT yapınıza uyacak şekilde ayarlayın

3. (Easy Redmine) LDAP kimlik doğrulama modunu düzenleyin. Benim durumumda "ldap_user_1" bir "posixAccount" nesne sınıfıdır:

Temel DN: dc = örnek, dc = com
Filtre: (&(objectClass=posixAccount)(memberOf=cn=ldapeasyredmine,ou=groups,dc=example,dc=com))

 

Sorun giderme

Anında kullanıcı oluşturmayı kullanmak istiyorsanız, Easy Redmine'nin geçerli bir kullanıcı oluşturmak için gerekli tüm bilgileri LDAP'nizden alabileceğinden emin olun.
Örneğin, dizininizde geçerli e-posta adresleriniz yoksa anında kullanıcı oluşturma çalışmaz (oturum açmaya çalışırken 'Geçersiz kullanıcı adı / şifre' hata mesajı alırsınız).
(Bu, daha yeni Easy Redmine sürümleri için geçerli değildir; kullanıcı oluşturma iletişim kutusu, LDAP sunucusundan bulabildiği her şeyle doldurulur ve yeni kullanıcıdan gerisini doldurmasını ister.)

Ayrıca, olarak işaretlenmiş herhangi bir özel alanınız olmadığından emin olun gereklidir kullanıcı hesapları için. Bu özel alanlar, kullanıcı hesaplarının anında oluşturulmasını engelleyecektir.

Giriş sistemindeki hatalar, Easy Redmine günlüklerinde herhangi bir gerçek bilgi ile raporlanmaz, bu da sorun gidermeyi zorlaştırır. Ancak, ihtiyacınız olan bilgilerin çoğunu kullanarak bulabilirsiniz. Wireshark Easy Redmine sunucunuz ve LDAP sunucusu arasında. Bunun yalnızca bu iki ana bilgisayar arasındaki ağ trafiğini okuma izniniz varsa işe yaradığını unutmayın.

Ayarlarınızın doğru olup olmadığını test etmek için 'ldapsearch' aracını da kullanabilirsiniz. Easy Redmine'inizi barındıran Linux makinesine giriş yapın (ve muhtemelen ldaputils yükleyin) ve şunu çalıştırın:

ldapsearch -x -b  "dc=example,dc=com" -H ldap://hostname/ -D "DOMAIN\USER" -w mypassword [searchterm]

Başarılı olursa, arama sorgunuzla eşleşen AD içeriğinin bir listesini alacaksınız. Ardından, Easy Redmine'de LDAP yapılandırmasındaki alanları nasıl dolduracağınızı bileceksiniz.

İşlevselliği doğrulamanın alternatif yolları

  • Yanlış ayarlandıklarında bulmak istediğiniz kullanıcıları silebilecek LDAP filtrelerini kaldırmayı deneyin.
  • "Giriş özelliği" nin yanında bir kitap simgesi bulunur. Üzerine tıklarsanız ve LDAP doğru ayarlanmışsa, "olağan öznitelikler" gerçek LDAP sunucusu tarafından otomatik olarak önceden doldurulur. Metin alanları yerine, kullanıcının ayarlarını değiştirmek istediği bir durum için seçim kutuları görünür. Çoğu durumda, kullanıcının bunu doldurması gerekmez. Bu işe yararsa, diğer her şey muhtemelen işe yarayacaktır.
  • Bağlantı sorunları için, LDAP sunucu listesindeki "Test" düğmesini kullanabilirsiniz. Dikkat edin, bu yalnızca LDAP'ye bağlanıp bağlanamadığınızı test etmeye yarar. Yaygın sorun, yöneticilerin LDAP ayarları hala korunurken bile LDAP sistemi kullanıcısını doldurmamasıdır. Bu durumda, bağlantı çalıştığı için test Tamam çalışır, ancak LDAP hiçbirini "görmediği" için hiçbir kullanıcı eklenemez.
  • LDAP'nin gerçekten çalışıp çalışmadığını test etmek için "Mevcut kullanıcılar" numarası da kullanılabilir - değeri 0 ise, LDAP herhangi bir veri döndürmez ve muhtemelen yanlış ayarlanmıştır. Bir sayı varsa, genişletmek ve LDAP'nin gösterdiği şeyi görmek için tıklayabilirsiniz (ve buna göre filtreleri ayarlayabilirsiniz).

Hesap değer biçimi

Bağlama kimlik bilgilerine ilişkin kullanıcı adının UPN yerine DN olarak belirtilmesi gerekebilir (user@domain.com) veya olarak domain \ kullanıcı, bu yorumda belirtildiği gibi kaynak: trunk / vendor / plugins / ruby-net-ldap-0.0.4 / lib / net / ldap.rb:

  # #Bind altında açıklandığı gibi, çoğu LDAP sunucusu, parola gibi bir kimlik doğrulayıcısı ile birlikte bağlayıcı kimlik bilgisi olarak eksiksiz bir DN # sağlamanızı gerektirir.

Bu nedenle MyDomain \ MyUserName veya KullanıcıAdım@EtkiAlanı.com kullanıcı adı, Easy Redmine oturum açma adı olarak yalnızca MyUserName girebilir.

Yavaş LDAP kimlik doğrulaması

LDAP kimlik doğrulaması yavaşsa ve bir AD kümeniz varsa, Ana bilgisayar alanında AD fiziksel sunucularından birini belirtmeyi deneyin. Yardımcı olabilir.

OpenDS

OpenDS sunucusunu kullanıyorsanız, belirtilen oturum açma özniteliği ile kullanıcıyı arayan ilk sorguyla birlikte gönderilen istek kontrolü "Sayfalanmış sonuçlar" ile ilgili sorunlarınız olabilir. Bu istek denetimi 1.2.840.113556.1.4.319 varsayılan olarak anonim kullanıcılar için izin verilmez, bu nedenle Easy Redmine'ın bağlama gerçekleşmeden önce bile kullanıcıyı dizinde bulmasını engeller.

Buna benzer global bir ACI ekleyin

./dsconfig -h SERVER_IP -p 4444 -D cn = "Dizin Yöneticisi" -w ŞİFRE -n set-erişim-kontrol-işleyici-prop --trustAll --add global-aci: \ (targetcontrol = \ "1.2.840.113556.1.4.319 .3.0 \ "\) \ \ (sürüm \ 1.2.840.113556.1.4.319 \; \ acl \ \" Anonim \ kontrol \ erişim \ için \ XNUMX \ "\; \ allow \ \ (oku \) \ userdn = \ "ldap: /// kimse \" \; \)

Not: Komutu bir satıra girin, kaçışı tam olarak belirtildiği gibi kullanın ("acl" den sonraki \, boşluk için "\" anlamına gelir).

Bazı kullanıcılar giriş yapamıyor

Sorun: Diğerleri oturum açarken belirli bir OU kullanıcı oturum açamaz (geçersiz kullanıcı veya parola). Kullanıcılar uzak bir sitededir, ancak aynı sitedeki diğer OU'lardaki kullanıcılar bu hatayı almaz.

Çözüm: Sorun büyük olasılıkla yanlış ayarlarla değil, bir Active Directory (AD) sorunuyla ilgilidir. Bağlanamayan kullanıcıların "Oturum Aç" alanı, AD kullanıcısının Özelliklerinde (AD yönetimi) belirli bir PC'ye ayarlanmıştı. Bunu "Her yerden oturum aç" olarak değiştirdikten sonra çalışmalıdır. Daha spesifik olarak, bu alan şu şekilde ayarlanmalıdır: AD Kullanıcısı -> Özellikler -> Hesap -> Her yerden oturum aç.

Geçerli bir sertifika olmadan LDAPS kullanırken oturum açmayla ilgili sorunlar

Geçerli bir sertifika olmadan LDAPS kullanırken oturum açmayla ilgili sorunlarla karşılaşabilirsiniz. Redmine 4'te LDAPS sertifikası her zaman doğrulanır. Geçersiz bir sertifika ile kullanıcılar oturum açamazlar. Doğru ve uzun vadeli çözüm, geçerli bir sertifika kullanmaktır. Ancak bunu başarana kadar, geçici çözüm Yönetim >> LDAP kimlik doğrulama >> İlgili kimlik doğrulama modunu düzenle seçeneğine gitmektir.

Ayarı şu şekilde değiştirin: LDAPS (sertifika kontrolü olmadan).

Easy Redmine Server çözümü ile raylar konsolundan toplu olarak değiştirebilirsiniz
raylar r "AuthSource.update_all (verify_peer: false)" -e üretim

veya SQL ile
UPDATE auth_sources set verify_peer = 0;

 

köşe durumları

  • Kullanıcılar LDAP'den otomatik olarak içe aktarılırken / oluşturulurken, kullanıcı oluşturma formuna girilen varsayılan kullanıcı türü ayarı, LDAP'ye girilen varsayılan kullanıcı türü ayarına tercih edilir. Kullanıcı oluşturulduktan sonra, bu ayar daha sonra değiştirilemez (yeni bir LDAP oluşturmadığınız sürece).

30 günlük ücretsiz deneme sürümünde Easy Redmine'i deneyin

Coğrafi konumunuzda tam özellikler, SSL korumalı, günlük yedeklemeler