Co oznacza uwierzytelnianie LDAP w Infinite Scale?
Usługa ownCloud Infinite Scale (oCIS) uwierzytelnia sesje przeglądarki i klienta za pośrednictwem OpenID Connect (OIDC). LDAP może udostępniać użytkowników i dane uwierzytelniające katalogu za pośrednictwem wbudowanego dostawcy tożsamości oCIS lub może działać w oparciu o zewnętrznego dostawcę OIDC, takiego jak Keycloak. Właściwa konfiguracja zależy od tego, czy potrzebujesz niewielkiego wdrożenia z prostym procesem logowania, czy produkcyjnej platformy tożsamości z szerszymi możliwościami kontroli.
To rozróżnienie jest przydatne, ponieważ oCIS nie jest serwerem ownCloud Classic. Samouczki Classic konfigurują LDAP za pośrednictwem strony administratora internetowego lub occ ldap:*nie konfigurują oCIS. W oCIS ustawienia to zmienne środowiskowe wdrożenia lub konfiguracja usługi, a wiele usług może wymagać spójnego widoku tego samego katalogu.
W dokumentacji usługi IDP ownCloud z obsługą wersji podano, że wbudowany dostawca może korzystać z zewnętrznego zaplecza LDAP. W wytycznych dotyczących bezpieczeństwa zaleca się korzystanie z zewnętrznego dostawcy OIDC w przypadku większych instalacji lub instalacji produkcyjnych. Niniejszy przewodnik korzysta z dokumentacji oCIS 8.2; przed zastosowaniem zmiennych sprawdź dokumentację dla zainstalowanej wersji, ponieważ ustawienia domyślne i przykłady wdrożeń mogą ulec zmianie.
Który model uwierzytelniania powinieneś wybrać?
| Zbliżać się | Dobrze pasuje | Kompromis |
| Wbudowany oCIS IDP z zewnętrznym LDAP | Mała instalacja, laboratorium lub ocena, w której źródłem haseł powinien być protokół LDAP | Łatwy w obsłudze, ale wbudowany system IDP jest celowo ograniczony i nie stanowi pełnej platformy tożsamości. |
| Zewnętrzny dostawca OIDC połączony z LDAP lub Active Directory | Produkcja, wiele aplikacji lub wymagania, takie jak scentralizowane uwierzytelnianie wieloskładnikowe (MFA) i kontrola cyklu życia tożsamości | Dodaje usługę tożsamości do obsługi, ale umieszcza zasady logowania i integrację LDAP w specjalnie zaprojektowanym dostawcy. |
| Uwierzytelnianie podstawowe HTTP | Konkretne przypadki kompatybilności lub rozwoju | Nie jest to normalna ścieżka logowania w przeglądarce. ownCloud ostrzega przed włączaniem uwierzytelniania podstawowego serwera proxy w środowisku produkcyjnym. |
Jeśli korzystasz już z Keycloaka lub innego dostawcy OIDC, połączenie go z katalogiem jest zazwyczaj bardziej ekonomicznym rozwiązaniem produkcyjnym. Jeśli jest to niewielkie wdrożenie, a wbudowane limity dostawcy są akceptowalne, skonfiguruj zaplecze LDAP dostawcy tożsamości i przetestuj je przed udostępnieniem dostępu użytkownikom.
Co należy zgromadzić przed edycją oCIS?
- Dokładna wersja oCIS i metoda wdrożenia, np. Docker Compose, Kubernetes lub nadzorowany proces binarny.
- Nazwa DNS serwera LDAP, łańcuch certyfikatów TLS i punkt końcowy LDAPS. Preferowane
ldaps://z walidacją certyfikatu; nie wyłączaj walidacji, aby ukryć problem z zaufaniem.
- Konto z najniższymi uprawnieniami i jego pełna nazwa wyróżniająca (DN). Konto powinno umożliwiać przeszukiwanie gałęzi użytkowników i grup wymaganych przez oCIS, bez zbędnych uprawnień do zapisu.
- Baza wyszukiwania użytkowników, zakres wyszukiwania, atrybut logowania, klasa obiektu, atrybuty adresu e-mail i nazwy wyświetlanej oraz stabilny, unikalny atrybut identyfikatora użytkownika. Potwierdź je na podstawie rzeczywistych wpisów w katalogu.
- Podstawowa nazwa grupy i atrybut członkostwa, jeśli grupy LDAP użytkowników powinny być widoczne w oCIS.
- Kopia zapasowa bieżącej konfiguracji oCIS i przetestowane logowanie administratora, które nie jest zależne od zmiany LDAP.
Stabilne mapowanie tożsamości wymaga szczególnej uwagi. Nazwa wyświetlana lub adres e-mail mogą ulec zmianie; unikalny identyfikator powinien pozostać przypisany do tej samej osoby. Jeśli oCIS zobaczy inny identyfikator po zmianie, istniejąca osoba może pojawić się jako nowe konto zamiast odziedziczyć oczekiwaną tożsamość i dostęp.
Jak połączyć wbudowany IDP z zewnętrznym serwerem LDAP?
W przypadku małego wdrożenia z wykorzystaniem wbudowanego dostawcy tożsamości (IDP) oCIS, ustaw zmienne LDAP o zakresie dostawcy tożsamości (IDP) w środowisku lub konfiguracji usługi używanej przez wdrożenie. Poniższe wartości są jedynie przykładami. Zastąp nazwy hosta, nazwy wyróżniające (DN), ścieżkę certyfikatu i schematu wartościami z katalogu.
IDP_LDAP_URI=ldaps://ldap.example.net:636
IDP_LDAP_TLS_CACERT=/etc/ocis/certs/directory-ca.pem
IDP_LDAP_BIND_DN=uid=ocis-reader,ou=service,dc=example,dc=net
IDP_LDAP_BIND_PASSWORD=<load-from-your-secret-store>
IDP_LDAP_BASE_DN=ou=people,dc=example,dc=net
IDP_LDAP_SCOPE=sub
IDP_LDAP_LOGIN_ATTRIBUTE=uid
IDP_LDAP_EMAIL_ATTRIBUTE=mail
IDP_LDAP_NAME_ATTRIBUTE=displayName
IDP_LDAP_UUID_ATTRIBUTE=entryUUID
IDP_LDAP_UUID_ATTRIBUTE_TYPE=text
IDP_LDAP_OBJECTCLASS=inetOrgPerson
Dokumentacja IDP dokumentuje te ustawienia, w tym URI, certyfikat CA, nazwę wyróżniającą powiązania i hasło, nazwę wyróżniającą bazową użytkownika, zakres, atrybut logowania, atrybut UUID i klasę obiektu. W przykładzie założono, że katalog udostępnia dane tekstowe entryUUID; schematy Active Directory i inne mogą wymagać innych mapowań. Nie kopiuj entryUUIDtylko dlatego, że się tu pojawia.
Przechowuj hasło powiązania jako klucz tajny wdrożenia lub w mechanizmie tajnym zalecanym dla Twojej platformy. Unikaj zatwierdzania go w publicznym pliku Compose, repozytorium lub zgłoszeniu. Zachowaj możliwość odczytu certyfikatu CA przez proces oCIS i zachowaj weryfikację certyfikatu. INSECUREUstawienie dostawcy tożsamości (IDP) wyłącza walidację certyfikatu LDAP TLS i nie jest przeznaczone do użytku produkcyjnego.
Dopasuj również zachowanie wyłączania konta do swojego katalogu. Dokumentacja dostawcy tożsamości (IDP) podaje IDP_USER_ENABLED_ATTRIBUTE: domyślna nazwa to atrybut specyficzny dla ownCloud. Jeśli katalog używa innej flagi włączonej/wyłączonej, zmapuj ten atrybut. Sprawdź USERS_LDAP_DISABLE_USER_MECHANISMrównież usługi użytkowników. W zależności od katalogu, udokumentowane opcje to obsługa oparta na atrybutach, obsługa oparta na grupach lub none: wybierz celowo, aby wyłączone konto nie było traktowane jako aktywne z powodu niezgodności schematu.
Czy wyszukiwanie użytkowników i grup również wymaga ustawień LDAP?
Często tak. Pomyślna weryfikacja hasła i odnajdywanie użytkowników to powiązane, ale odrębne zadania. Dostawca tożsamości (IDP) uwierzytelnia logowanie; użytkownicy oCIS i usługi Graph udostępniają platformie informacje o użytkownikach i grupach. Jeśli używasz zewnętrznego katalogu jako źródła tożsamości oCIS, skonfiguruj zaplecza LDAP użytkowników i Graph tak, aby odczytywały ten sam katalog i spójnie mapowały tych samych użytkowników.
W przypadku usługi użytkowników przejrzyj USERS_DRIVER=ldapustawienia dotyczące zakresu usługi, takie jak USERS_LDAP_URI, USERS_LDAP_CACERT, USERS_LDAP_BIND_DN, USERS_LDAP_BIND_PASSWORD, USERS_LDAP_USER_BASE_DN, USERS_LDAP_USER_SCHEMA_IDi USERS_LDAP_USER_SCHEMA_USERNAME. Ustaw zmienne poczty, nazwy wyświetlanej, zakresu i grupy, gdy wdrożenie ich potrzebuje. Dokładne nazwy schematów muszą odpowiadać katalogowi, a nie ogólnemu przykładowi.
Usługa Graph ma własne ustawienia LDAP. W przypadku istniejącego katalogu, który oCIS powinien odczytywać bez zarządzania, należy ustawić GRAPH_LDAP_SERVER_WRITE_ENABLED=falsei skonfigurować połączenie i schemat Graph LDAP. Usługa ownCloud dokumentuje to jako wzorzec tylko do odczytu dla połączenia z istniejącym serwerem LDAP. Należy pozostawić wyłączone opcje zapisu, chyba że celowo przygotowano zgodny schemat LDAP i chcesz, aby oCIS tworzył lub zmieniał obiekty katalogu.
Ostrożnie używaj prefiksów zmiennych specyficznych dla usługi lub udokumentowanych OCIS_LDAP_*zmiennych globalnych. Zmienne globalne mogą wpływać na kilka usług jednocześnie. W przypadku pierwszej integracji, jawne ustawienia dla każdej usługi ułatwiają sprawdzenie, która usługa ulega awarii, i zapobiegają niezamierzonemu zapisowi lub przyjęciu założeń dotyczących schematu. Dokumentacja usługi użytkownika i dokumentacja usługi Graph zawierają nazwy i ustawienia domyślne specyficzne dla wersji.
Jak bezpiecznie zastosować ustawienia?
- Zapisz kopię bieżącego pliku środowiska, jednostki usługi lub konfiguracji Compose. Zapisz, jak ją przywrócić.
- Dodaj zmienne LDAP do rzeczywistej definicji usługi oCIS. Nie zastępuj reszty istniejącego bloku środowiska Compose tym przykładem; scal ustawienia z już uruchomionym wdrożeniem.
- Sprawdź, czy plik certyfikatu znajduje się w kontenerze lub przestrzeni nazw hosta, gdzie usługa oCIS go odczytuje. Ścieżka hosta nie jest automatycznie widoczna w kontenerze.
- Przed ponownym uruchomieniem oCIS sprawdź poprawność konta powiązania i bazy wyszukiwania w protokole LDAP. Użyj tej samej nazwy hosta serwera, nazwy wyróżniającej bazy i atrybutu logowania skonfigurowanego dla usługi.
- Uruchom ponownie oCIS, korzystając ze standardowego procesu wdrożenia, aby usługi otrzymały nowe środowisko. W przypadku wdrożenia wielousługowego lub wielowęzłowego sprawdź, czy odpowiednie usługi na każdej instancji korzystają z zamierzonej konfiguracji.
- Przeprowadź test z jednym dozwolonym kontem LDAP i jednym kontem, na którym nie należy się logować. Pozostaw otwartą sesję administratora do momentu zweryfikowania nowej ścieżki logowania.
Aby bezpośrednio sprawdzić katalog, ldapsearchmożna przetestować filtr powiązań i użytkowników bez podawania hasła w wierszu poleceń:
ldapsearch -H ldaps://ldap.example.net:636 \
-D 'uid=ocis-reader,ou=service,dc=example,dc=net' -W \
-b 'ou=people,dc=example,dc=net' '(uid=alice)' dn uid entryUUID mail
Użyj atrybutu logowania i podstawowej nazwy wyróżniającej, które zamierzasz skonfigurować. Pomyślne zapytanie potwierdza zachowanie sieci, protokołu TLS, powiązania i wyszukiwania dla tego zapytania; nie dowodzi to jednak, że każda usługa oCIS korzysta z tego samego mapowania.
Skąd wiesz, że konfiguracja działa?
Oceniaj wynik nie tylko na podstawie tego, czy pojawi się strona logowania. Zaloguj się za pomocą standardowego przepływu pracy w oCIS Web, używając testowego użytkownika katalogu, otwórz plik i potwierdź oczekiwaną nazwę użytkownika oraz dane profilu. Jeśli grupy mają dostęp do udziałów dyskowych lub przestrzeni dyskowej, sprawdź również członkostwo w jednej znanej grupie. Następnie przetestuj nieprawidłowe hasło i konto LDAP, które jest wyłączone lub znajduje się poza dozwolonym wyszukiwaniem użytkowników. Te konta nie powinny uzyskać dostępu.
Przejrzyj dzienniki usługi oCIS pod kątem błędów połączenia LDAP, TLS, powiązania i wyszukiwania użytkowników. Prawidłowe powiązanie LDAP, po którym następuje nieudane logowanie oCIS, często wskazuje na filtr wyszukiwania, podstawową nazwę wyróżniającą, identyfikator użytkownika lub niezgodność mapowania OIDC na użytkownika. W pilotażu produkcyjnym, przed migracją większej grupy, zweryfikuj pliki, udziały i dostęp do grupy istniejącego użytkownika. Samo pomyślne sprawdzenie uwierzytelnienia nie gwarantuje, że tożsamość i autoryzacja istniejącego konta zostały zachowane.
Co należy zmienić, jeśli logowanie nadal się nie udaje?
- Błędy TLS lub połączenia: Sprawdź, czy host oCIS został rozwiązany i połączony z serwerem LDAP, czy port i schemat są zgodne oraz czy plik urzędu certyfikacji zawiera łańcuch certyfikatów wystawiających. Pozostaw weryfikację włączoną.
- Powiązanie powiodło się, ale nie znaleziono użytkownika: Przetestuj dokładną nazwę wyróżniającą użytkownika, zakres, klasę obiektu, atrybut logowania i filtr. Prawidłowa nazwa wyróżniająca powiązania nie oznacza, że wyszukiwanie jest przeprowadzane we właściwej gałęzi.
- LDAP akceptuje hasło, ale oCIS nie może rozpoznać konta: Porównaj identyfikator logowania IDP i nazwę użytkownika usługi lub mapowanie identyfikatorów stabilnych użytkowników. Zachowaj stabilny identyfikator i nie przełączaj się przypadkowo z nazwy użytkownika na adres e-mail.
- Logowanie działa, ale dostęp oparty na grupach jest nieprawidłowy: sprawdź użytkowników i podstawową nazwę wyróżniającą grupy Graph, klasę obiektu grupy, atrybut członka oraz to, czy zaplecze Graph jest skonfigurowane jako tylko do odczytu lub z włączonym zapisem, zgodnie z oczekiwaniami.
- Potrzebujesz uwierzytelniania wieloskładnikowego (MFA), scentralizowanych sesji lub szerszej kontroli tożsamości: Przenieś uwierzytelnianie LDAP do zewnętrznego dostawcy OIDC i skonfiguruj oCIS tak, aby ufał temu wystawcy. Wbudowany dostawca tożsamości (IDP) jest celowo ograniczony; ownCloud zaleca korzystanie z zewnętrznego dostawcy w przypadku większych instalacji i zaznacza, że wbudowany dostawca nie oferuje pełnych możliwości zewnętrznej usługi tożsamości.
Nie włączaj PROXY_ENABLE_BASIC_AUTHskrótu do logowania w przeglądarce produkcyjnej. Dokumentacja serwera proxy wymienia uwierzytelnianie podstawowe jako obsługiwany schemat żądań, ale zaleca jego używanie wyłącznie w środowisku deweloperskim, a nie produkcyjnym. W przypadku standardowego logowania oCIS należy używać wbudowanego dostawcy OIDC tylko w przypadku jego ograniczeń lub połączyć się z zewnętrznym dostawcą tożsamości OIDC obsługiwanym przez LDAP.
Co znajduje się poza tą konfiguracją?
Uwierzytelnianie LDAP nie udostępnia automatycznie wszystkich funkcji administracyjnych LDAP w oCIS. Uruchamianie użytkowników i grup, synchronizacja grup, dostęp do zapisu, zmiana haseł, reguły dla wyłączonych kont oraz mapowanie istniejących użytkowników wymagają własnych, zgodnych ustawień usługi i schematu LDAP. W przypadku automatycznego uruchamiania zewnętrznego OIDC, ownCloud wymaga również stabilnego żądania użytkownika i zaplecza Graph z włączoną funkcją zapisu podczas tworzenia kont przez wybrany przepływ. Przed włączeniem tej funkcji należy zapoznać się z dokumentacją serwera proxy .
Wprowadzaj zmiany pojedynczo, testuj na małym zestawie kont i potwierdź uwierzytelnianie oraz mapowanie tożsamości przed szerokim wdrożeniem. Jeśli wersja oCIS, schemat LDAP lub dostawca tożsamości różnią się od założeń podanych w przykładzie, postępuj zgodnie z konfiguracją dokładnie tej wersji, zamiast ponownie używać przykładu bez zmian.