Jak skonfigurować uwierzytelnianie dwuskładnikowe w ownCloud Infinite Scale
Aby wymagać uwierzytelniania dwuskładnikowego (2FA) dla logowań do ownCloud Infinite Scale, należy je skonfigurować u dostawcy tożsamości (IDP) OpenID Connect, który uwierzytelnia użytkowników. W wielu wdrożeniach oznacza to włączenie jednorazowych haseł czasowych (TOTP) w Keycloak, a następnie wymaganie od użytkowników rejestracji przed dokończeniem logowania. Infinite Scale nie oferuje własnego, uniwersalnego ekranu rejestracji TOTP. Wbudowany IDP jest minimalny; ownCloud zaleca korzystanie z zewnętrznego dostawcy OpenID Connect w przypadku szerszych potrzeb związanych z tożsamością, a dokumentacja wskazuje na Keycloak w przypadku uwierzytelniania dwuskładnikowego.
Hipotetyczny przykład: Northstar Design to fikcyjna firma zatrudniająca 40 osób, której usługa ownCloud Infinite Scale jest już połączona z domeną Keycloak o nazwie files. Pracownicy logują się obecnie za pomocą hasła. Administrator chce, aby zarejestrowali aplikację uwierzytelniającą i użyli kodu podczas następnego uwierzytelniania. Ten przykład ma charakter poglądowy, a nie jest raportem z rzeczywistej instalacji ani testu. Poniższe kroki zakładają, że Keycloak jest już dostawcą tożsamości używanym przez Infinite Scale; jeśli tak nie jest, należy najpierw postępować zgodnie z oficjalnymi instrukcjami wdrożenia dotyczącymi łączenia obu usług.
Obrazy interfejsu w tym przewodniku to przykłady koncepcyjne, a nie zrzuty ekranu z działającego systemu Northstar lub ownCloud. Treść i układ menu mogą się różnić w zależności od wersji Keycloak. Instrukcje zostały sprawdzone pod kątem dokumentacji ownCloud Infinite Scale 8.2 oraz Podręcznika administratora serwera Keycloak 26.8 z dnia 6 października 2026 r.
W tej fikcyjnej konfiguracji Infinite Scale wysyła użytkowników do skonfigurowanego wystawcy Keycloak; dokładne ustawienia OIDC zależą od istniejącego wdrożenia.
Jakie zmiany wprowadza uwierzytelnianie dwuskładnikowe w przypadku wdrożenia o nieskończonej skali
OpenID Connect (OIDC) to protokół logowania, który pozwala firmie Infinite Scale polegać na dostawcy tożsamości (IDP) zamiast uwierzytelniać każde hasło osobno. Keycloak prosi o podanie głównego uwierzytelnienia, a gdy jego proces uwierzytelniania tego wymaga, o podanie drugiego czynnika, takiego jak TOTP. Następnie Infinite Scale otrzymuje wynikowe uwierzytelnienie OIDC. TOTP to krótkotrwały kod generowany na podstawie współdzielonego klucza tajnego i aktualnego czasu; aplikacja uwierzytelniająca przechowuje klucz tajny, gdy użytkownik zeskanuje kod QR rejestracji.
To rozdzielenie ma znaczenie. Ustawienie polityki OTP w Keycloak zmienia sposób uwierzytelniania użytkowników przez Keycloak. Ustawienie opcji ownCloud MFA nie rejestruje telefonu ani nie tworzy poświadczeń TOTP. W szczególności OCIS_MFA_ENABLEDopcja ownCloud służy do uwierzytelniania step-up na określonych chronionych trasach, gdy dostawca tożsamości obsługuje deklarację OpenID Connect Authentication Context Class Reference (ACR). Nie jest to przełącznik dodający uniwersalny monit TOTP do każdego logowania.
Przed zmianą królestwa
Sprawdź, z którego dostawcy tożsamości (IDP) i domeny faktycznie korzystają klienci Infinite Scale w produkcji. Porównaj identyfikatory wystawcy i klienta OIDC z konfiguracją wdrożenia, zamiast zgadywać na podstawie paska adresu przeglądarki.
Przygotuj konto administratora dla właściwego obszaru Keycloak, obsługuj aplikację uwierzytelniającą dla każdego użytkownika i opracuj procedurę odzyskiwania dla użytkowników, którzy zgubili urządzenie.
Sprawdź, czy strona logowania Keycloak i Infinite Scale są dostępne przez HTTPS z ważnymi certyfikatami. Podczas wprowadzania zmian w uwierzytelnianiu utrzymuj otwartą sesję administratora i najpierw przetestuj ją na koncie innym niż administrator.
Zinwentaryzuj wszystkie ścieżki logowania. Przepływ przeglądarki kontroluje uwierzytelnianie OIDC w przeglądarce; dane uwierzytelniające API, konta usług, hasła aplikacji i inne przepływy uwierzytelniania mogą być regulowane osobno.
1. Potwierdź, że Infinite Scale używa Keycloak
W przykładzie Northstar administrator potwierdza, że klient sieciowy jest już przekierowany do domeny filesw https://login.example.test/realms/files. Przykład wdrożenia ownCloud używa ustawień takich jak OCIS_OIDC_ISSUER, WEB_OIDC_CLIENT_ID, i w konfiguracji Keycloak PROXY_OIDC_REWRITE_WELLKNOWN. Są to wartości konfiguracji wdrożenia, a nie pola, które zwykli użytkownicy zmieniają w interfejsie internetowym Infinite Scale.
Jeśli Twoja instancja nadal korzysta z wbudowanego dostawcy tożsamości (IDP), zaplanuj integrację Keycloak osobno przed wymuszeniem OTP. Połączenie zewnętrznego dostawcy tożsamości (IDP) wymaga więcej niż tylko podania adresu URL wystawcy: rejestracji klienta, konfiguracji przekierowania i pochodzenia internetowego, żądania tokenów, protokołu HTTPS oraz zgody klientów stacjonarnych i mobilnych. Wykorzystaj przykład wdrożenia Keycloak obsługiwanego przez ownCloud jako punkt wyjścia dla dokładnej wersji i topologii.
2. Wybierz politykę OTP opartą na czasie w Keycloak
Otwórz obszar plików w konsoli administracyjnej Keycloak i przejdź do sekcji Uwierzytelnianie , następnie Zasady , a następnie Zasady OTP . Wybierz politykę opartą na czasie (TOTP) dla aplikacji uwierzytelniających. Keycloak obsługuje również HOTP oparte na liczniku, ale TOTP jest zazwyczaj stosowane w aplikacjach uwierzytelniających na telefon, ponieważ kody zmieniają się z czasem.
Przejrzyj zasady przed wdrożeniem. Keycloak udostępnia ustawienia takie jak algorytm skrótu, długość kodu, okno czasowe, okres tokena oraz możliwość ponownego użycia kodu. Zacznij od wartości obsługiwanych przez uwierzytelniacze używane przez użytkowników. Większe okno czasowe może pomóc w zmniejszeniu przesunięcia czasowego, ale wydłuża również interwał, w którym kod może zostać zaakceptowany. Utrzymuj synchronizację zegara serwera i unikaj rozszerzania tego okna zamiast naprawy synchronizacji czasu.
Wybierz politykę OTP opartą na czasie, aby użytkownicy mogli zarejestrować zgodne aplikacje uwierzytelniające.
3. Wymagaj rejestracji OTP dla nowych użytkowników
W sekcji Uwierzytelnianie > Wymagane działania upewnij się, że opcja Konfiguruj OTP jest włączona i oznacz ją jako domyślną. Dokumentacja Keycloak podaje, że domyślna wymagana akcja ma zastosowanie, gdy nowy użytkownik loguje się po raz pierwszy. Powoduje to wymóg rejestracji; użytkownik musi jeszcze ukończyć konfigurację, zanim zostanie utworzone poświadczenie TOTP.
Sprawdź również przepływ uwierzytelniania przeglądarki. W standardowym przepływie przeglądarki Keycloak, podprzepływ warunkowego uwierzytelniania dwuskładnikowego (2FA) wyświetla monit o podanie hasła jednorazowego (OTP), gdy użytkownik ma skonfigurowane dane uwierzytelniające OTP. Jeśli użytkownicy nie muszą konfigurować hasła jednorazowego (OTP), mogą kontynuować bez monitu o uwierzytelnianie dwuskładnikowe. Zachowaj standardowe hasło lub krok uwierzytelniania jednoskładnikowego i dokładnie przetestuj przepływ przed powiązaniem niestandardowego przepływu. Zmiany w przepływie uwierzytelniania wpływają na całą domenę i mogą zablokować administratorów w przypadku nieprawidłowej konfiguracji.
Zaznacz opcję Skonfiguruj OTP jako domyślną wymaganą akcję, aby nowo utworzone konta były proszone o rejestrację przy pierwszym logowaniu.
4. Dodaj wymóg rejestracji dla istniejących użytkowników
Domyślna akcja nie działa wstecz dla kont, które już istnieją. W przypadku obecnych pracowników Northstar, administrator otwiera każdego użytkownika w domenie Keycloak i dodaje opcję „Konfiguruj OTP” w ramach wymaganych działań tego użytkownika, a następnie zapisuje zmianę. Keycloak dokumentuje również opcję na karcie „Dane użytkownika” umożliwiającą wysłanie e-maila z resetem danych, który kieruje użytkownika do konfiguracji OTP. Wybierz metodę, która odpowiada Twojemu procesowi zarządzania kontami i sprawdź, czy użytkownicy mogą otrzymać e-mail, jeśli z niej korzystasz.
W przypadku dużego katalogu zaplanuj kontrolowany proces zbiorczy z wykorzystaniem obsługiwanego interfejsu administracyjnego Keycloak lub automatyzacji. Nie zakładaj, że włączenie domyślnej akcji zarejestrowało wszystkich użytkowników. Utwórz użytkownika testowego i sprawdź oczekiwane zachowanie podczas pierwszego logowania przed szerokim zastosowaniem tej polityki.
W przypadku istniejącego konta przypisz opcję Konfiguruj OTP jako wymaganą akcję użytkownika i zapisz zmianę konta.
5. Niech każdy użytkownik zarejestruje uwierzytelniacz
Kiedy Alex, fikcyjny pracownik Northstar, loguje się do ownCloud i zostaje przekierowany do Keycloak, Keycloak prosi Alexa o skonfigurowanie jednorazowego hasła (OTP). Alex otwiera aplikację uwierzytelniającą, skanuje kod QR wyświetlony przez Keycloak i wprowadza aktualny kod z aplikacji, aby potwierdzić rejestrację. Kod QR zawiera tajny klucz TOTP, dlatego użytkownicy powinni traktować go jak dane uwierzytelniające: nie wysyłaj go administratorowi e-mailem, nie zapisuj w zgłoszeniu współdzielonym ani nie skanuj go do niezaufanego urządzenia.
Jeśli aplikacja nie może zeskanować kodu, strona konfiguracji Keycloak może zaproponować wprowadzenie klucza do systemu ręcznie. Użytkownicy powinni przechowywać ten klucz tylko w systemie uwierzytelniającym. Powinni ukończyć weryfikację przed zamknięciem strony konfiguracji. Kod, który nie przejdzie weryfikacji, może być nieaktualny, błędnie wpisany lub wygenerowany przez aplikację z nieprawidłowym zegarem urządzenia.
Strona rejestracji Keycloak wyświetla kod QR i prosi użytkownika o wprowadzenie kodu z uwierzytelniacza. Obraz przedstawia przykładowy interfejs użytkownika.Aplikacja uwierzytelniająca generuje zmienny kod dla konta. Wyświetlone cyfry stanowią jedynie przykład i nie są użytecznymi danymi uwierzytelniającymi.
6. Przygotuj odzyskiwanie przed wdrożeniem polityki
Użytkownicy potrzebują możliwości odzyskania dostępu w przypadku zgubienia, wymiany lub wyczyszczenia telefonu. Keycloak 26.8 dokumentuje kody uwierzytelniania odzyskiwania jako dodatkowe dane uwierzytelniające, które można włączyć i dodać jako alternatywę w przepływie przeglądania. Jeśli Twoja wersja Keycloak i domena korzystają z tej funkcji, włącz ją i przetestuj celowo. Użytkownicy powinni przechowywać kody odzyskiwania w zatwierdzonym menedżerze haseł lub innej chronionej lokalizacji offline i traktować każdy kod jako poufny. Nie należy przechowywać ich w tej samej aplikacji na telefonie, która przechowuje klucz TOTP.
Jeśli kody odzyskiwania nie są włączone w Twojej domenie, udokumentuj procedurę odzyskiwania prowadzoną przez administratora. Wymagaj weryfikacji tożsamości przed zresetowaniem lub usunięciem poświadczeń OTP. Utrzymuj konto administratora Break-Glass w ramach oddzielnej, ściśle kontrolowanej procedury, aby problem z rejestracją użytkownika nie doprowadził do zablokowania dostępu w całej domenie.
Kody odzyskiwania, jeśli są włączone dla danej domeny, powinny zostać zapisane w bezpiecznym miejscu przed zakończeniem rejestracji przez użytkownika.
7. Przetestuj całą ścieżkę logowania ownCloud
Po rejestracji wyloguj się z konta testowego i zaloguj ponownie na standardowy adres Infinite Scale. Sprawdź, czy przeglądarka dociera do oczekiwanego obszaru Keycloak, akceptuje hasło konta, żąda kodu czasowego i po pomyślnym uwierzytelnieniu odsyła użytkownika do ownCloud. Następnie przetestuj obsługiwane aplikacje klienckie na komputerach stacjonarnych i urządzeniach mobilnych, łącza współdzielone oraz wszelkie narzędzia operacyjne oparte na tym samym dostawcy tożsamości.
Pomyślny test przeglądarki nie dowodzi, że każdy klient lub protokół korzysta z tego samego przepływu. Przepływ przeglądarki w Keycloak może nie obejmować oddzielnego przepływu z bezpośrednim przyznaniem uprawnień, a istniejąca sesja jednokrotnego logowania (SSO) w Keycloak może obsłużyć późniejsze logowanie do ownCloud bez wyświetlania kolejnego monitu o podanie hasła jednorazowego (OTP). Jest to oczekiwane ponowne użycie sesji, a nie dowód na to, że czynnik jest uszkodzony. Jeśli polityka wymaga częstszego stosowania nowego czynnika, należy sprawdzić ustawienia SSO i poziomu uwierzytelniania w Keycloak w ramach przemyślanej polityki sesji.
Oczekiwana ścieżka przeglądarki prosi dostawcę tożsamości o jednorazowy kod, a następnie wraca do interfejsu plików w chmurze. Jest to przykładowy przepływ, a nie wynik testu.
Opcjonalnie: wymagaj zaawansowanego uwierzytelniania wieloskładnikowego (MFA) tylko dla tras chronionych
Niektóre wdrożenia wymagają drugiego czynnika uwierzytelniania tylko wtedy, gdy użytkownicy otwierają poufny zasób. Infinite Scale obsługuje uwierzytelnianie step-up na poziomie trasy poprzez oświadczenia OIDC ACR. W dokumentacji 8.2 OCIS_MFA_ENABLEDwłączono egzekwowanie i OCIS_MFA_AUTH_LEVEL_NAMESokreślono poziom ACR, który oznacza uwierzytelnianie wieloskładnikowe (MFA). Dostawca tożsamości (IDP) musi obsługiwać uwierzytelnianie step-up i wystawić pasującą wartość ACR w tokenie. Keycloak ma konfigurację poziomu uwierzytelniania i ACR dla tego wzorca, ale jego przepływ, żądany poziom i mapowanie tokenów muszą być zgodne z wartością skonfigurowaną w Infinite Scale.
Ten przykład to tylko punkt wyjścia: należy go używać advancedtylko wtedy, gdy Keycloak jest skonfigurowany do zwracania wartości ACR po wymaganym współczynniku. Jeśli żądana jest trasa chroniona bez wymaganego poziomu, Infinite Scale może odmówić dostępu i zwrócić odpowiedź 403 z nagłówkiem X-OCIS-MFA-Required. Podniesienie poziomu trasy różni się od wymagania TOTP przy każdym nowym uwierzytelnianiu przeglądarki Keycloak.
Typowe problemy i ich rozwiązania
Objaw
Co sprawdzić
Nie pojawia się monit OTP
Sprawdź, czy na koncie ukończono rejestrację OTP, czy przepływ przeglądarki wywołuje krok OTP dla skonfigurowanych użytkowników oraz czy istniejąca wcześniej sesja SSO nie wykorzystuje ponownie uwierzytelniania.
Nowego użytkownika nie prosi się o rejestrację
Sprawdź, czy opcja Konfiguruj OTP jest włączona i oznaczona jako domyślna akcja w odpowiednim obszarze. Akcje domyślne dotyczą nowych użytkowników; istniejące konta wymagają przypisania wymaganej akcji.
Kod został odrzucony
Upewnij się, że użytkownik wybrał TOTP, a nie HOTP, i sprawdź zegary urządzenia i serwera. Poproś użytkownika o poczekanie na kolejny interwał kodu i wprowadzenie nowego kodu.
Nieudane logowanie na komputerze stacjonarnym, urządzeniu mobilnym lub za pomocą automatyzacji
Sprawdź, z którego OIDC lub innego procesu uwierzytelniania korzysta klient. Przetestuj każdego obsługiwanego klienta i upewnij się, że zmiana nie polegała na przepływie uwierzytelniania tylko w przeglądarce w przypadku logowania bez przeglądarki.
Użytkownicy są blokowani po zmianie przepływu
Skorzystaj z udokumentowanego procesu odzyskiwania administratora i chronionego konta break-glass. Sprawdź ostatnią zmianę przepływu w domenie przed ponowną zmianą domyślnego przepływu.