en
Dil
  • en
  • cs
  • hu
  • it
  • es
  • fr
  • de
  • ru
Makine çevirisi
  • bg
  • dk
  • nl
  • gr
  • il
  • jp
  • kr
  • yok hayır
  • pl
  • tr

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ü), ister genel İnternet'te ister kurumsal intranet'te olsun, herkesin kuruluşları, bireyleri ve bir ağdaki 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 daha hafiftir çünkü ilk sürümünde güvenlik özellikleri içermiyordu. Easy Project, bir veya birden çok LDAP dizini kullanarak LDAP kimlik doğrulamasını yerel olarak 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 Project'te ilk kez oturum açtığında Easy Project hesabının otomatik olarak oluşturulmasını sağlayacaktır. Aksi takdirde, oturum açmak isteyen her LDAP kullanıcısı için kullanıcıyı Easy Project'te 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 Project kullanıcıları, hesapları kimlik doğrulama için LDAP'yi kullanacak şekilde ayarlanmışsa artık LDAP kullanıcı adı ve şifresini kullanarak kimlik doğrulaması yapabilmelidir (kullanıcının profilini düzenlerken "Kimlik doğrulama modu" ayarını işaretleyin).

Bunu test etmek için, LDAP hesabıyla eşleşen bir oturum açma bilgisine sahip bir Easy Project kullanıcısı oluşturun (normalde Easy Project, LDAP verilerini arayarak size tavsiyede bulunur), Kimlik Doğrulama modu açılır listesinde yeni oluşturulan LDAP'yi seçin (bu alan Hesap ekranında yalnızca bir LDAP bildirilmişse görünür) ve şifresini boş bırakın. LDAP kullanıcı adı ve şifresini kullanarak Easy Project'te oturum açmayı deneyin.

 

İhtiyaçlarınıza uyan yazılım? Kolay.

Uyarlanabilir tek bir araçla proje yönetiminize uyum getirin ve her şeyi kontrol altında tutun.


Anında kullanıcı oluşturma

Kontrol ederek anında kullanıcı oluşturmaherhangi bir LDAP kullanıcısı, Easy Project'te ilk kez oturum açtığında Easy Project hesabını otomatik olarak oluşturacaktır.
Bunun için, Easy Project hesaplarını oluştururken 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 Project'in ön kimlik doğrulaması 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çmalarına izin vermek istiyorsanız, aşağıdaki talimatları izlemelisiniz. OpenLDAP LDAP sunucusuna ve Easy Project'e dayalıdı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 = ldapeasyproject, ou = gruplar, dc = örnek, dc = com)) '

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

dn: cn = ldapeasyproject, ou = groups, dc = example, dc = com
cn: ldapeasy projesi
açıklama: Personel üyeleri Easy Project bilet sistemine giriş yapabilirler.
ü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. (Kolay Proje) 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 = ldapeasyproject, ou = groups, dc = example, dc = com))

 

Sorun giderme

Anında kullanıcı oluşturmayı kullanmak istiyorsanız, Easy Project'in geçerli bir kullanıcı oluşturmak için LDAP'nizden gerekli tüm bilgileri alabildiğ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 Project sürümleri için doğru değildir; kullanıcı oluşturma iletişim kutusu, LDAP sunucusundan bulabildiği her şeyle doldurulur ve yeni kullanıcıdan geri kalanını 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.

Oturum açma sistemindeki hatalar, sorun gidermeyi zorlaştıran Easy Project günlüklerinde gerçek bilgilerle birlikte raporlanmaz. Ancak, ihtiyacınız olan bilgilerin çoğunu kullanarak bulabilirsiniz. Wireshark Easy Project ana bilgisayarınız ile LDAP sunucusu arasında. Bunun yalnızca bu iki ana bilgisayar arasındaki ağ trafiğini okuma izniniz varsa çalıştığını unutmayın.

Ayarlarınızın doğru olup olmadığını test etmek için 'ldapsearch' aracını da kullanabilirsiniz. Easy Project'inizi barındıran Linux makinesine giriş yapın (ve muhtemelen ldaputils'i kurun) 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 Project'teki 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 Project 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ğiyle kullanıcıyı arayan ilk sorgu ile gönderilen "Sayfalanmış sonuçlar" istek denetimiyle ilgili sorunlar yaşayabilirsiniz. Bu istek denetimi 1.2.840.113556.1.4.319, anonim kullanıcılar için varsayılan olarak izin verilmez, bu nedenle Easy Project'in bağlanma gerçekleşmeden önce bile kullanıcıyı dizinde bulması engellenir.

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. Easy Project'te, LDAPS sertifikası her zaman doğrulanır. Geçersiz bir sertifika ile kullanıcılar giriş yapamazlar. Elbette, 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 Project 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 Project'i deneyin

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