Mikä on LDAP
LDAP on todennusprotokolla, jota käytetään ulkoiseen identiteetin varmentamiseen. Overleaf Server Pro tarjoaa verkkokäyttöliittymässä erillisen LDAP-kirjautumislomakkeen, joka on erillään tavallisesta todennusmenetelmästä. Kun käyttäjä lähettää LDAP-käyttäjänimensä ja salasanansa, Overleafin taustajärjestelmä tarkistaa tunnistetiedot määritettyä LDAP-palvelinta vasten, esimerkiksildap://ldap:10389.

Server Pro -esimerkki LDAP:sta
Konfiguraatio
Sisäisesti Overleafin LDAP käyttää passport-ldapauth-kirjastoa. Useimmat näistä konfiguraatioasetuksista välitetäänserver-konfiguraatio-objektille, jolla passport-ldapauth määritetään. Jos LDAP:n määrittämisessä on ongelmia, kannattaa lukea passport-ldapauth-kirjaston README saadakseen käsityksen sen odottamasta konfiguraatiosta.
Ympäristömuuttuja EXTERNAL_AUTH vaaditaan LDAP-todennusmoduulin käyttöön ottamiseksi. Tämä ympäristömuuttuja määrittää, mitkä ulkoiset todennusmenetelmät aktivoidaan. Muuttujan arvo on luettelo. Jos luettelo sisältää arvon ldap, LDAP-todennus aktivoidaan.
Esimerkiksi: EXTERNAL_AUTH=ldap saml
Toisin kuin Overleaf CEP:ssä, ayaka-notes-versiossamme LDAP-todennus on rajattu puhtaaksi todennusmenetelmäksi, joka on käytettävissä osoitteessa http://your-overleaf.com/ldap/login.
Kun LDAP-todennusmenetelmiä käytetään ja käyttäjä syöttää kirjautumislomakkeeseen username- ja password-arvot, järjestelmä toimii seuraavasti:
- LDAP-käyttäjää haetaan LDAP-hakemistosta muuttujan
OVERLEAF_LDAP_SEARCH_FILTERmäärittämällä suodattimella, ja käyttäjä todennetaan. - Jos todennus onnistuu, Overleafin käyttäjätietokannasta etsitään käyttäjää, jonka ensisijainen sähköpostiosoite vastaa todennetun LDAP-käyttäjän sähköpostiosoitetta:
- Jos vastaava käyttäjä löytyy, tämän käyttäjän
hashedPassword-kenttä poistetaan (jos se on olemassa). Tämä varmistaa, että käyttäjä voi jatkossa kirjautua vain LDAP-todennuksen kautta. - Jos vastaavaa käyttäjää ei löydy, luodaan uusi Overleaf-käyttäjä LDAP-palvelimelta haetun sähköpostiosoitteen, etunimen ja sukunimen perusteella.
- Jos vastaava käyttäjä löytyy, tämän käyttäjän
Ympäristömuuttujat
OVERLEAF_LDAP_URL(pakollinen)- LDAP-palvelimen URL-osoite.
- Esimerkki:
ldaps://ldap.example.com:636(LDAP SSL:n yli) - Esimerkki:
ldap://ldap.example.com:389(salaamaton tai STARTTLS, jos määritetty).
- Esimerkki:
- LDAP-palvelimen URL-osoite.
OVERLEAF_LDAP_IDENTITY_SERVICE_NAME- LDAP-identiteettipalvelun näyttönimi, jota käytetään kirjautumissivulla.
- Oletus on
Log in with LDAP Provider.
OVERLEAF_LDAP_EMAIL_ATT- LDAP-palvelimen palauttama sähköpostiattribuutti, oletuksena
mail. Jokaisella LDAP-käyttäjällä on oltava vähintään yksi sähköpostiosoite. Jos osoitteita on useita, vain ensimmäistä käytetään.
- LDAP-palvelimen palauttama sähköpostiattribuutti, oletuksena
OVERLEAF_LDAP_FIRST_NAME_ATT- Ominaisuuden nimi, joka sisältää sovelluksessa käytettävän käyttäjän etunimen, yleensä
givenName.
- Ominaisuuden nimi, joka sisältää sovelluksessa käytettävän käyttäjän etunimen, yleensä
OVERLEAF_LDAP_LAST_NAME_ATT- Ominaisuuden nimi, joka sisältää sovelluksessa käytettävän käyttäjän sukunimen, yleensä
sn.
- Ominaisuuden nimi, joka sisältää sovelluksessa käytettävän käyttäjän sukunimen, yleensä
OVERLEAF_LDAP_NAME_ATT- Ominaisuuden nimi, joka sisältää käyttäjän koko nimen, yleensä
cn. Jos jompaakumpaa kahdesta edellisestä muuttujasta ei ole määritetty, käyttäjän etu- ja/tai sukunimi poimitaan tästä muuttujasta. Muussa tapauksessa sitä ei käytetä.
- Ominaisuuden nimi, joka sisältää käyttäjän koko nimen, yleensä
OVERLEAF_LDAP_PLACEHOLDER- Kirjautumislomakkeen paikkamerkkiteksti, oletuksena
Username.
- Kirjautumislomakkeen paikkamerkkiteksti, oletuksena
OVERLEAF_LDAP_UPDATE_USER_DETAILS_ON_LOGIN- Jos arvo on
true, LDAP-käyttäjänfirst_name- jalast_name-kentät päivitetään kirjautumisen yhteydessä, ja/user/settings-sivun käyttäjätietolomake poistetaan käytöstä LDAP-käyttäjiltä. Muussa tapauksessa tiedot haetaan vain ensimmäisellä kirjautumiskerralla.
- Jos arvo on
OVERLEAF_LDAP_BIND_DN- Sen LDAP-käyttäjän erottava nimi (DN), jota käytetään LDAP-yhteyteen (tämän käyttäjän on voitava hakea/listata tilejä LDAP-palvelimella), esim.
cn=ldap_reader,dc=example,dc=com. Jos sitä ei ole määritetty, käytetään anonyymiä sidontaa.
- Sen LDAP-käyttäjän erottava nimi (DN), jota käytetään LDAP-yhteyteen (tämän käyttäjän on voitava hakea/listata tilejä LDAP-palvelimella), esim.
OVERLEAF_LDAP_BIND_CREDENTIALS- Salasana käyttäjälle
OVERLEAF_LDAP_BIND_DN.
- Salasana käyttäjälle
OVERLEAF_LDAP_BIND_PROPERTY- Käyttäjän ominaisuus, jota vasten sidonta asiakkaaseen tehdään, oletuksena
dn.
- Käyttäjän ominaisuus, jota vasten sidonta asiakkaaseen tehdään, oletuksena
OVERLEAF_LDAP_SEARCH_BASE(pakollinen)- Perus-DN, josta käyttäjiä haetaan. Esim.
ou=people,dc=example,dc=com.
- Perus-DN, josta käyttäjiä haetaan. Esim.
OVERLEAF_LDAP_SEARCH_FILTER- LDAP-hakusuodatin, jolla käyttäjä etsitään. Käytä literaalia ‘{{username}}’, jotta annettu käyttäjänimi sijoitetaan LDAP-hakuun.
- Esimerkki:
(|(uid={{username}})(mail={{username}}))(käyttäjä voi kirjautua sähköpostiosoitteella tai käyttäjätunnuksella). - Esimerkki:
(sAMAccountName={{username}})(Active Directory).
- Esimerkki:
- LDAP-hakusuodatin, jolla käyttäjä etsitään. Käytä literaalia ‘{{username}}’, jotta annettu käyttäjänimi sijoitetaan LDAP-hakuun.
OVERLEAF_LDAP_SEARCH_SCOPE- Haun laajuus voi olla
base,onetaisub(oletus).
- Haun laajuus voi olla
OVERLEAF_LDAP_SEARCH_ATTRIBUTES- JSON-taulukko LDAP-palvelimelta haettavista attribuuteista, esim.
["uid", "mail", "givenName", "sn"]. Oletuksena kaikki attribuutit haetaan.
- JSON-taulukko LDAP-palvelimelta haettavista attribuuteista, esim.
OVERLEAF_LDAP_STARTTLS- Jos arvo on
true, käytetään LDAP:tä TLS:n yli.
- Jos arvo on
OVERLEAF_LDAP_TLS_OPTS_CA_PATH- Polku tiedostoon, joka sisältää LDAP-palvelimen SSL/TLS-varmenteen tarkistamiseen käytettävän CA-varmenteen. Jos varmenteita on useita, arvo voi olla JSON-taulukko varmenteiden poluista. Tiedostojen on oltava Docker-kontin käytettävissä.
- Esimerkki (yksi varmenne):
/var/lib/overleaf/certs/ldap_ca_cert.pem - Esimerkki (useita varmenteita):
["/var/lib/overleaf/certs/ldap_ca_cert1.pem", "/var/lib/overleaf/certs/ldap_ca_cert2.pem"]
- Esimerkki (yksi varmenne):
- Polku tiedostoon, joka sisältää LDAP-palvelimen SSL/TLS-varmenteen tarkistamiseen käytettävän CA-varmenteen. Jos varmenteita on useita, arvo voi olla JSON-taulukko varmenteiden poluista. Tiedostojen on oltava Docker-kontin käytettävissä.
OVERLEAF_LDAP_TLS_OPTS_REJECT_UNAUTH- Jos arvo on
true, palvelimen varmenne tarkistetaan annettujen CA-varmenteiden luetteloa vasten.
- Jos arvo on
OVERLEAF_LDAP_CACHE- Jos arvo on
true, enintään 100 tunnistetietoa kerrallaan tallennetaan välimuistiin 5 minuutiksi.
- Jos arvo on
OVERLEAF_LDAP_TIMEOUT- Kuinka kauan asiakas antaa operaatioiden kestää ennen aikakatkaisua, ms (oletus: Infinity).
OVERLEAF_LDAP_CONNECT_TIMEOUT- Kuinka kauan asiakas odottaa ennen TCP-yhteyksien aikakatkaisua, ms (oletus: käyttöjärjestelmän oletus).
OVERLEAF_LDAP_IS_ADMIN_ATTjaOVERLEAF_LDAP_IS_ADMIN_ATT_VALUE- Kun molemmat ympäristömuuttujat on asetettu, kirjautumisprosessi asettaa
user.isAdmin = true, jos LDAP-profiili sisältää muuttujanOVERLEAF_LDAP_IS_ADMIN_ATTmäärittämän attribuutin ja sen arvo joko vastaa arvoaOVERLEAF_LDAP_IS_ADMIN_ATT_VALUEtai on taulukko, joka sisältää arvonOVERLEAF_LDAP_IS_ADMIN_ATT_VALUE; muussa tapauksessauser.isAdminasetetaan arvoonfalse. Jos jompaakumpaa näistä muuttujista ei ole asetettu, ylläpitäjän tila asetetaan arvoontruevain ylläpitäjäkäyttäjän luomisen yhteydessä Launchpadissa.
- Kun molemmat ympäristömuuttujat on asetettu, kirjautumisprosessi asettaa
OVERLEAF_LDAP_CONTACTS_FILTER- Suodatin, jolla LDAP-palvelimelta haetaan käyttäjiä ladattavaksi yhteystietoihin. Suodattimen sisällä oleva paikkamerkki ‘{{userProperty}}’ korvataan haun aloittavan LDAP-käyttäjän sen ominaisuuden arvolla, jonka
OVERLEAF_LDAP_CONTACTS_PROPERTYmäärittää. Jos tätä ei ole määritetty, LDAP-palvelimelta ei haeta käyttäjiä yhteystietoihin.
- Suodatin, jolla LDAP-palvelimelta haetaan käyttäjiä ladattavaksi yhteystietoihin. Suodattimen sisällä oleva paikkamerkki ‘{{userProperty}}’ korvataan haun aloittavan LDAP-käyttäjän sen ominaisuuden arvolla, jonka
OVERLEAF_LDAP_CONTACTS_SEARCH_BASE- Määrittää perus-DN:n, josta yhteystietojen haku aloitetaan. Oletuksena
OVERLEAF_LDAP_SEARCH_BASE.
- Määrittää perus-DN:n, josta yhteystietojen haku aloitetaan. Oletuksena
OVERLEAF_LDAP_CONTACTS_SEARCH_SCOPE- Haun laajuus voi olla
base,onetaisub(oletus).
- Haun laajuus voi olla
OVERLEAF_LDAP_CONTACTS_PROPERTY- Määrittää käyttäjäobjektin ominaisuuden, joka korvaa paikkamerkin ‘{{userProperty}}’ muuttujassa
OVERLEAF_LDAP_CONTACTS_FILTER.
- Määrittää käyttäjäobjektin ominaisuuden, joka korvaa paikkamerkin ‘{{userProperty}}’ muuttujassa
OVERLEAF_LDAP_CONTACTS_NON_LDAP_VALUE- Määrittää muuttujan
OVERLEAF_LDAP_CONTACTS_PROPERTYarvon, jos haun aloittaa muu kuin LDAP-käyttäjä. Jos tätä muuttujaa ei ole määritetty, tuloksena oleva suodatin ei vastaa mitään. Arvoa*voidaan käyttää jokerimerkkinä.
- Määrittää muuttujan
Esimerkki
Esimerkki
gid. Muiden kuin LDAP-käyttäjien yhteystiedoissa ovat kaikki LDAP-käyttäjät, joilla on UNIX-gid=1000.Esimerkki variables.env-tiedostosta
Esimerkki variables.env-tiedostosta
Vaihe vaiheelta: goauthentik
Tämä ohje käy läpi määrityksen, joka on testattu goauthentikin kanssa. Esimerkeissä käytetään Base DN:äädc=example,dc=com; korvaa se omallasi.
Luo sidontatili (bind)
ldapservice, ja napsauta Create:
Authentik: sidontatilin luominen
OVERLEAF_LDAP_BIND_CREDENTIALS:
Authentik: sidontatilin salasanan asettaminen (testi-instanssi)
19 osoitteessa …/#/identity/users/19. Tarvitset sitä vaiheessa 3.Luo tarjoaja ja sovellus
overleaf-ldap, ja napsauta Next:
Authentik: sovelluksen nimi ja slug

Authentik: LDAP-tarjoajan valitseminen

Authentik: LDAP-tarjoajan sidonta- ja hakutila
default-authentication-flow ja Base DN omaan Base DN:ääsi, esimerkiksi dc=example,dc=com:
Authentik: LDAP-tarjoajan sidontavuo ja Base DN
Anna sidontatilin hakea hakemistosta
ak-managed-role--user-<number>, ja ota sitten käyttöön Search full LDAP directory:
Authentik: hakuoikeuden antaminen sidontatilille (testi-instanssi)

Authentik: LDAP-tarjoajan oikeudet (testi-instanssi)
Käynnistä LDAP-outpost

Authentik: käynnissä oleva LDAP-outpost (testi-instanssi)
Täytä DN:t

Authentik: LDAP-tarjoajan yleiskatsaus (testi-instanssi)
- Bind DN näyttää tilin, jolla olet kirjautunut. Käytä sen sijaan vaiheen 1 sidontatiliä:
cn=ldapservice,ou=users,<Base DN>. - Search base näyttää Base DN:n. Käytä arvoa
ou=users,<Base DN>.
Tarkista haku
dn::dn:-riviä ei tule lainkaan, vaiheen 3 oikeus yleensä puuttuu.Määritä ylläpitäjät (valinnainen)
memberOf DN-muodossa kohdan ou=groups alla. Jos haluat Authentik-ryhmän Admins jäsenistä Overleafin ylläpitäjiä:Testattu variables.env-tiedosto goauthentikille
Testattu variables.env-tiedosto goauthentikille

