en
Taal
  • en
  • cs
  • hu
  • it
  • es
  • fr
  • de
  • ru
Machine vertaling
  • bg
  • dk
  • nl
  • gr
  • il
  • jp
  • kr
  • geen
  • pl
  • tr

LDAP-authenticatie

LDAP

Hoe LDAP-authenticatie te configureren

Overzicht
De LDAP-authenticatiemodus declareren
On the fly gebruiker creatie
Op groep gebaseerde LDAP-aanmelding
Probleem oplossen
corner situaties

 

Overzicht

LDAP (Lightweight Directory Access Protocol) is een softwareprotocol waarmee iedereen organisaties, personen en andere bronnen, zoals bestanden en apparaten in een netwerk, op het openbare internet of op een bedrijfsintranet kan lokaliseren. LDAP is een "lichtgewicht" (kleinere hoeveelheid code) versie van Directory Access Protocol (DAP), dat deel uitmaakt van X.500, een standaard voor directoryservices in een netwerk. LDAP is lichter omdat het in zijn oorspronkelijke versie geen beveiligingsfuncties bevatte. Easy Project ondersteunt native LDAP-authenticatie met behulp van een of meerdere LDAP-mappen. De ondersteunde directoryservicetypen zijn onder andere Active Directory, OpenLDAP, eDirectory, Sun Java System Directory Server en andere compatibele directoryservices.

Een LDAP-directory is georganiseerd in een eenvoudige "boomhiërarchie", bestaande uit de volgende niveaus:

  1. De root-directory (de startplaats of de bron van de boom), die zich vertakt naar
  2. Landen, die elk aftakken naar
  3. Organisaties, die zich aftakken naar
  4. Organisatie-eenheden (divisies, afdelingen, enzovoort), die aftakken naar (inclusief een vermelding voor)
  5. Individuen (inclusief personen, bestanden en gedeelde bronnen zoals printers)

 

De LDAP-authenticatiemodus declareren

Ga naar Beheer en klik op "LDAP-authenticatie" in het menu. Hier vindt u de lijst met alle bestaande LDAP-authenticatiemodi, inclusief de opties om deze te testen of te verwijderen. Klik op de groene knop 'Nieuwe verificatiemodus' in de rechterbovenhoek om een ​​nieuwe te maken.

De LDAP-serviceprovider gebruikt een URL om de verbinding met de directoryserver te configureren. Om de LDAP-verbindings-URL te genereren, moeten de volgende velden worden opgegeven:

  • Naam: Een willekeurige naam voor de map.
  • host: De LDAP-hostnaam (testserver).
  • Port: De LDAP-poort (standaard is 389).
  • LDAPS: Vink dit aan als u LDAPS wilt of moet gebruiken om toegang te krijgen tot de map.
  • Account: Voer een gebruikersnaam in die leestoegang heeft tot de LDAP, laat anders dit veld leeg als uw LDAP anoniem kan worden gelezen (Active Directory-servers staan ​​over het algemeen geen anonieme toegang toe).
  • Wachtwoord: Wachtwoord voor het account.
  • Base DN: De hoogste DN van uw LDAP-directorystructuur (voorbeeld: dc = voorbeeld, dc = com).
  • LDAP-filter: Filters kunnen worden gebruikt om het aantal gebruikers of groepen die toegang hebben tot een applicatie te beperken. In wezen beperkt het filter uit welk deel van de LDAP-structuur de toepassing synchroniseert. Een filter kan en moet worden geschreven voor zowel gebruikers- als groepslidmaatschap. Dit zorgt ervoor dat u uw applicatie niet overspoelt met gebruikers en groepen die geen toegang nodig hebben.
     

    Voorbeeldfilters

    (waarschuwing) Deze filters zijn geschreven voor Active Directory. Om ze voor iets als OpenLDAP te gebruiken, moeten de attributen worden gewijzigd.

    Hiermee worden alleen gebruikers in de groep 'CaptainPlanet' gesynchroniseerd - dit moet worden toegepast op de Filter gebruikersobject:

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

    En dit zal zoeken naar gebruikers die lid zijn van deze groep, rechtstreeks of via nesting:

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

    (Info) Belangrijk voor Active Directory memberOf: 1.2.840.113556.1.4.1941 als je geneste groepen wilt vinden (vervang de numerieke tekenreeks niet) binnen de CaptainPlanet-groep.

    Hiermee wordt gezocht naar gebruikers die lid zijn van een of alle 4 groepen (vuur, wind, water, hart)

    (&(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)))
  • Time-out (in seconden): Als de LDAP-provider geen LDAP-antwoord krijgt binnen de opgegeven periode, wordt de leespoging afgebroken. Het gehele getal moet groter zijn dan nul. Een geheel getal kleiner dan of gelijk aan nul betekent dat er geen leestime-out is opgegeven, wat overeenkomt met oneindig wachten op de reactie totdat deze wordt ontvangen, wat standaard het oorspronkelijke gedrag is. Als deze eigenschap niet is opgegeven, wacht u standaard op het antwoord totdat het wordt ontvangen.
  • On-the-fly gebruikerscreatie: Door dit aan te vinken, krijgt elke LDAP-gebruiker automatisch zijn Easy Project-account de eerste keer dat hij zich aanmeldt bij Easy Project. Anders moet u de gebruiker handmatig aanmaken in Easy Project voor elke LDAP-gebruiker die wil inloggen.

Attributen (voorbeelden):

  • Login-kenmerk: De loginnaam waaronder een gebruiker inlogt en wordt geverifieerd.
  • Voornaam attribuut: Attribuut voor voornaam.
  • Achternaamkenmerk: Kenmerk voor achternaam.
  • Email kenmerk: Kenmerk voor e-mailadres.

Gebruikers van Easy Project zouden nu moeten kunnen authenticeren met hun LDAP-gebruikersnaam en -wachtwoord als hun accounts zijn ingesteld om de LDAP te gebruiken voor authenticatie (controleer de instelling "Verificatiemodus" bij het bewerken van het gebruikersprofiel).

Om dit te testen, maakt u een Easy Project-gebruiker met een login die overeenkomt met zijn LDAP-account (normaal gesproken zal Easy Project u adviseren door de LDAP-gegevens op te zoeken), selecteert u de nieuw gemaakte LDAP in de vervolgkeuzelijst Verificatiemodus (dit veld is alleen zichtbaar op het accountscherm als een LDAP wordt aangegeven) en laat zijn wachtwoord leeg. Probeer u aan te melden bij Easy Project met de LDAP-gebruikersnaam en het wachtwoord.

 

Software die zich aanpast aan uw behoeften? Eenvoudig.

Breng harmonie in uw projectbeheer met één aanpasbare tool en houd alles onder controle.


On the fly gebruiker creatie

Door te controleren on-the-fly creatie van gebruikers, elke LDAP-gebruiker zal zijn Easy Project-account automatisch laten aanmaken bij de eerste keer dat hij inlogt bij Easy Project.
Daarvoor moet u de LDAP-attributennaam (voornaam, achternaam, e-mail) opgeven die zal worden gebruikt om hun Easy Project-accounts te maken.

Hier is een typisch voorbeeld van Active Directory:

Naam = My Directory Host = host.domain.org Poort = 389 LDAPS = geen account = MyDomain \ UserName (of UserName @ MyDomain afhankelijk van AD-server) Wachtwoord = Base DN = CN = gebruikers, DC = host, DC = domein, DC = org On-the-fly gebruikerscreatie = ja Attributen Login = sAMAccountName Firstname = givenName Lastname = sN Email = mail

Hier is nog een voorbeeld voor Active Directory met een gecompartimenteerd intranet:

Name = Gewoon een beschrijving voor de pagina met auth-modi Host = DepartmentName.OrganizationName.local Port = 389 LDAPS = no Account = DepartmentName \ UserName (of UserName @ MyDomain afhankelijk van AD-server of bind DN uid = Manager, cn = users, dc = MyDomain, dc = com) Wachtwoord = Base DN = DC = DepartmentName, DC = OrganizationName, DC = local On-the-fly user creation = yes Attributes Login = sAMAccountName Firstname = givenName Lastname = sN Email = mail

Merk op dat LDAP-kenmerknamen zijn hoofdlettergevoelig.

Dynamic Bind-account

Voor de bovenstaande installatie is een speciaal account op de directoryserver nodig die Easy Project gebruikt om vooraf te verifiëren. Het is mogelijk om het trefwoord te gebruiken $ login in het accountveld dat dan zou worden vervangen door de huidige login. Het wachtwoord kan in dit geval leeg worden gelaten, bijvoorbeeld:

Account: $login@COMPANY.DOMEIN.NAME

or

Account: bedrijfs \ $ login

Base DN-varianten

Hoewel het heel goed mogelijk is dat de Base DN hierboven standaard is voor Active Directory, gebruikt de Active Directory op de site van mijn werkgever de container Gebruikers niet voor standaardgebruikers, dus die instructies hebben me een lang en pijnlijk pad gestuurd. Ik raad ook aan om alleen "DC = host, DC = domein, DC = org" te proberen als inloggen mislukt met de instellingen daar.

 

Op groep gebaseerde LDAP-aanmelding

Als u alleen aanmeldingen wilt toestaan ​​aan gebruikers die tot een bepaalde LDAP-groep behoren, volgt u de onderstaande instructies. Ze zijn gebaseerd op OpenLDAP LDAP-server en Easy Project.

1. (OpenLDAP-server) Lid van overlay inschakelen

1.1. Maak een bestand aan:

vim ~ / memberof_add.ldif

Met onderstaande inhoud:

dn: cn = module, cn = config
objectKlasse: olcModuleList
nl: module
olcModulePath: / usr / lib / ldap
olcModuleLoad: lidvan

1.2. Maak een bestand aan:

vim ~ / memberof_config.ldif

Met onderstaande inhoud:

dn: olcOverlay = memberof, olcDatabase = {1} hdb, cn = config
objectKlasse: olcMemberOf
objectKlasse: olcOverlayConfig
objectKlasse: olcConfig
objectClass: top
olcOverlay: lid van
olcMemberOfDangling: negeren
olcMemberOfRefInt: WAAR
olcMemberOfGroupOC: groepOfNames
olcMemberOfMemberAD: lid
olcMemberOfMemberOfAD: lidOf

1.3. Laad ze. Het hangt af van uw OpenLDAP-configuratie, dus we zullen enkele mogelijkheden voorstellen:

sudo ldapadd -c -Y EXTERNAL -H ldapi: /// -f memberof_add.ldif
sudo ldapadd -c -Y EXTERNAL -H ldapi: /// -f memberof_config.ldif

Of:

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

Een herstart is NIET nodig als u de dynamische runtime-configuratie-engine (slapd-config) gebruikt.

1.4. (Optioneel) Test het:

ldapsearch -D cn = admin, dc = voorbeeld, dc = com -x -W -b 'dc = voorbeeld, dc = com' -H 'ldap: //127.0.0.1: 389 /' '(& (objectClass = posixAccount ) (memberOf = cn = ldapeasyproject, ou = groups, dc = example, dc = com)) '

2. (OpenLDAP-server) Maak de groep. In dit voorbeeld is de gebruiker "ldap_user_1" en de groep is "ldapeasyproject":

dn: cn = ldapeasyproject, ou = groepen, dc = voorbeeld, dc = com
cn: ldapeasyproject
beschrijving: Medewerkers mogen inloggen op Easy Project ticketingsysteem
lid: cn = ldap_user_1, ou = people, dc = example, dc = com
objectklasse: groupOfNames
objectklasse: top

Pas "dn" en "cn" s aan om aan uw DIT-structuur te passen

3. (Easy Project) Bewerk de LDAP-authenticatiemodus. In mijn geval is "ldap_user_1" een "posixAccount" objectklasse:

Base DN: dc = voorbeeld, dc = com
Filter: (& (objectClass = posixAccount) (memberOf = cn = ldapeasyproject, ou = groups, dc = example, dc = com))

 

Probleem oplossen

Als u direct gebruikerscreatie wilt gebruiken, moet u ervoor zorgen dat Easy Project alle benodigde informatie van uw LDAP kan ophalen om een ​​geldige gebruiker te maken.
Het aanmaken van gebruikers ter plekke werkt bijvoorbeeld niet als er geen geldige e-mailadressen in uw directory staan ​​(u krijgt een foutmelding 'Ongeldige gebruikersnaam / wachtwoord' wanneer u probeert in te loggen).
(Dit geldt niet voor nieuwere Easy Project-versies; het dialoogvenster voor het maken van gebruikers wordt gevuld met alles wat het van de LDAP-server kan vinden en vraagt ​​de nieuwe gebruiker om de rest in te vullen.)

Zorg er ook voor dat u geen aangepast veld hebt gemarkeerd als nodig voor gebruikersaccounts. Deze aangepaste velden zouden voorkomen dat gebruikersaccounts meteen worden gemaakt.

Fouten in het aanmeldsysteem worden niet gerapporteerd met echte informatie in de Easy Project-logboeken, waardoor het oplossen van problemen moeilijk is. U kunt echter de meeste informatie vinden die u nodig hebt Wireshark tussen uw Easy Project-host en de LDAP-server. Houd er rekening mee dat dit alleen werkt als u machtigingen hebt om netwerkverkeer tussen die twee hosts te lezen.

U kunt ook de tool 'ldapsearch' gebruiken om te testen of uw instellingen correct zijn. Log in op de Linux-machine die uw Easy Project host (en installeer mogelijk ldaputils) en voer dit uit:

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

Als dit lukt, krijgt u een lijst met de inhoud van de advertentie die overeenkomt met uw zoekopdracht. Vervolgens weet u hoe u de velden in de LDAP-configuratie in Easy Project invult.

Alternatieve manieren om de functionaliteit te verifiëren

  • Probeer LDAP-filters te verwijderen die, als ze niet correct zijn ingesteld, de gebruikers kunnen verwijderen die u wilt vinden.
  • Naast het "Aanmeldingskenmerk" staat een boekpictogram. Als u erop klikt en de LDAP correct is ingesteld, worden de "gebruikelijke kenmerken" automatisch vooraf ingevuld door de werkelijke LDAP-server. In plaats van tekstvelden verschijnen selectievakjes voor een case waarvan de gebruiker de instellingen wil wijzigen. In de meeste gevallen hoeft de gebruiker dit helemaal niet in te vullen. Als dit werkt, zal al het andere waarschijnlijk werken.
  • Voor verbindingsproblemen kunt u de knop "Test" op de LDAP-serverlijst gebruiken. Let op, dit dient alleen om te testen of u verbinding kunt maken met LDAP. Het veel voorkomende probleem is dat beheerders de LDAP-systeemgebruiker niet vullen, zelfs wanneer de LDAP-instellingen nog steeds zijn beveiligd. In dit geval wordt de test OK uitgevoerd omdat de verbinding werkt, maar er kunnen geen gebruikers worden toegevoegd omdat de LDAP er geen "ziet".
  • Om te testen of LDAP echt werkt, kan het nummer "Beschikbare gebruikers" ook worden gebruikt - als de waarde 0 is, retourneert LDAP geen gegevens en is deze waarschijnlijk onjuist ingesteld. Als er een nummer is, kunt u erop klikken om uit te vouwen en te zien wat de LDAP toont (en de filters dienovereenkomstig aanpassen).

Account waardeformaat

De gebruikersnaam voor de bindreferenties moet mogelijk worden opgegeven als een DN in plaats van als een UPN (user@domain.com) of als domein \ gebruiker, zoals aangegeven in deze opmerking in source: trunk / verkoper / plugins / ruby-net-ldap-0.0.4 / lib / net / ldap.rb:

  # Zoals beschreven onder #bind, vereisen de meeste LDAP-servers dat u een volledige DN # opgeeft als bindende referentie, samen met een authenticator zoals een wachtwoord.

Daarom gebruiker met MyDomain \ MyUserName of MijnGebruikersnaam@MijnDomein.com gebruikersnaam kan alleen MyUserName invoeren als inlognaam voor Easy Project.

Langzame LDAP-authenticatie

Als LDAP-authenticatie traag is en u hebt een AD-cluster, probeer dan in het Host-veld een van de fysieke AD-servers op te geven. Het kan helpen.

OpenDS

Als u de OpenDS-server gebruikt, hebt u mogelijk problemen met het verzoekbeheer "Gepagineerde resultaten" dat wordt verzonden met de eerste zoekopdracht naar de gebruiker met het opgegeven aanmeldingskenmerk. Dit verzoekbeheer 1.2.840.113556.1.4.319 is standaard niet toegestaan ​​voor anonieme gebruikers, waardoor Easy Project de gebruiker niet in de directory kan vinden, zelfs voordat de binding plaatsvindt.

Voeg een globale ACI zoals deze toe

./dsconfig -h SERVER_IP -p 4444 -D cn = "Directory Manager" -w WACHTWOORD -n set-access-control-handler-prop --trustAll --add global-aci: \ (targetcontrol = \ "1.2.840.113556.1.4.319 .3.0 \ "\) \ \ (versie \ 1.2.840.113556.1.4.319 \; \ acl \ \" Anonieme \ controle \ toegang \ tot \ XNUMX \ "\; \ allow \ \ (lezen \) \ userdn = \ "ldap: /// iedereen \" \; \)

Opmerking: Voer het commando op één regel in, gebruik de escaping precies zoals aangegeven (de \ na "acl" is bedoeld als "\" voor spatie).

Sommige gebruikers kunnen niet inloggen

probleem: Een specifieke OE-gebruiker kan niet inloggen (ongeldige gebruiker of wachtwoord), terwijl alle andere dat wel zijn. De gebruikers bevinden zich op een externe site, maar gebruikers in de andere OE's op dezelfde site krijgen deze fout niet.

Oplossing: Het probleem heeft hoogstwaarschijnlijk niet te maken met onjuiste instellingen, maar eerder met een Active Directory (AD) -probleem. De gebruikers die geen verbinding konden maken, hadden het veld "Aanmelden bij" ingesteld op een bepaalde pc in de Eigenschappen van de AD-gebruiker (AD-beheer). Nadat het is gewijzigd in "Inloggen vanaf overal", zou het moeten werken. Meer specifiek moet dit veld worden ingesteld op: AD-gebruiker -> Eigenschappen -> Account -> Inloggen van overal.

Problemen met inloggen bij gebruik van LDAPS zonder een geldig certificaat

U kunt problemen tegenkomen bij het inloggen als u LDAPS gebruikt zonder een geldig certificaat. In Easy Project wordt het LDAPS-certificaat altijd gevalideerd. Met een ongeldig certificaat kunnen gebruikers niet inloggen. de juiste en lange termijn oplossing is om een ​​geldig certificaat te gebruiken. Maar totdat u dit bereikt, is de tijdelijke oplossing om naar Beheer >> LDAP-authenticatie >> Bewerk respectieve auth-modus te gaan.

Wijzig de instelling in LDAPS (zonder certificaatcontrole).

Met de Easy Project Server-oplossing kunt u deze in bulk wijzigen vanaf de railconsole
rails r "AuthSource.update_all (verify_peer: false)" -e productie

of via SQL
UPDATE auth_sources set verify_peer = 0;

 

corner situaties

  • Wanneer gebruikers automatisch vanuit LDAP worden geïmporteerd / gemaakt, heeft de standaardinstelling voor gebruikerstype die is ingevoerd in het formulier voor het maken van gebruikers de voorkeur boven de standaardinstelling voor gebruikerstype die is ingevoerd op LDAP. Zodra de gebruiker is gemaakt, kan deze instelling niet later worden gewijzigd (tenzij u een nieuwe LDAP maakt).

Probeer Easy Project in een gratis proefperiode van 30 dagen

Volledige functies, SSL-beveiligd, dagelijkse back-ups, in uw geolocatie