Bezpiecznie wyczyść ostrzeżenie ownCloud Apache .htaccess
Ustaw opcję AllowOverride All tylko dla głównego katalogu internetowego ownCloud, sprawdź aktywny vhost Apache i bezpiecznie przeładuj, aby przywrócić reguły .htaccess.
Użytkownicy często przechodzą na stronę logowania Keycloak, uwierzytelniają się, a następnie wracają do ekranu logowania ownCloud Infinite Scale lub widzą błąd „nieznany użytkownik”. Typowymi przyczynami są: niezgodny wystawca domeny, klient sieciowy skopiowany z innej przykładowej wersji lub oświadczenie tożsamości niezgodne z kontem oCIS. Skonfiguruj Keycloak jako zewnętrznego dostawcę OpenID Connect (OIDC) dla oCIS, dopasuj te trzy wartości i sprawdź, czy przeglądarka i klienci mogą połączyć się z dostawcą przez HTTPS.
W tym przewodniku wykorzystano fikcyjne hosty: cloud.example.comdla oCIS i sso.example.comdla Keycloak. Konfiguracja odwołuje się do dokumentacji ownCloud Infinite Scale 8.2; przed jej zastosowaniem należy porównać nazwy z dokumentacją zainstalowanej wersji. Dotyczy to Infinite Scale (oCIS), a nie ownCloud Server 10.
Dostawca tożsamości (IdP) uwierzytelnia użytkowników w innej usłudze. OpenID Connect to protokół logowania, który pozwala oCIS zaufać danym logowania i tożsamości Keycloak. Domena to oddzielny zestaw użytkowników, klientów i ustawień Keycloak. Wybierz domenę, która będzie obsługiwać oCIS, a następnie zidentyfikuj adres URL jej wystawcy: w przykładowej domenie ocisjest to https://sso.example.com/realms/ocis.
Przed edycją oCIS otwórz go https://sso.example.com/realms/ocis/.well-known/openid-configurationw przeglądarce. Ten dokument OpenID Connect Discovery opisuje punkty końcowe dostawcy. Upewnij się, że jego issuerwartość dokładnie odpowiada adresowi URL domeny, w tym schematowi, hostowi, wielkości liter i ścieżce. Wystawcą nie może być strona administracyjna ani dłuższy adres URL Discovery. Certyfikat TLS dostawcy musi być zaufany przez przeglądarki użytkowników oraz serwer/kontener oCIS.

Jeśli adres URL wykrywania nie zostanie załadowany, należy najpierw rozwiązać problemy z DNS, routingiem odwrotnego proxy, zaporą sieciową lub certyfikatem. Sama pomyślna odpowiedź przeglądarki nie dowodzi, że kontener oCIS może dotrzeć do Keycloak; należy również sprawdzić dostęp sieciowy z sieci wdrożenia serwera. Reguły wykrywania OpenID Connect wymagają, aby zwrócony wystawca identyfikował tego samego dostawcę. Zobacz specyfikację OpenID Connect Discovery .
Użyj przykładowego wdrożenia ownCloud Keycloak jako punktu wyjścia i dopasuj jego plik domeny do swojej wersji oCIS. Nie mieszaj wersji: obecny przykład compose używa identyfikatora klienta webowego web, podczas gdy starsze notatki konfiguracyjne mówią o ocis-web. Keycloak i oCIS muszą używać tego samego identyfikatora klienta.
W Keycloak otwórz wybraną domenę i klienta internetowego. Dopasuj przepływ logowania i identyfikator klienta do przykładu ownCloud. Ustaw prawidłowe identyfikatory URI przekierowania na dokładne adresy wywołania zwrotnego wymagane przez daną domenę, używając publicznego hosta HTTPS. Ustaw tylko źródła internetowe zgodnie z wymaganiami szablonu. Poniższy symbol wieloznaczny ma charakter poglądowy i nie jest zaleceniem produkcyjnym: szerokie wzorce przekierowań mogą dopuszczać niezamierzone miejsca docelowe. Etykiety różnią się w zależności od wersji Keycloak.

Utrzymuj stabilną publiczną nazwę hosta Keycloak. Jeśli TLS kończy się na odwrotnym serwerze proxy, skonfiguruj jego publiczną nazwę hosta i zaufane nagłówki serwera proxy, w przeciwnym razie przekierowania mogą korzystać z niewłaściwego schematu lub hosta. Postępuj zgodnie ze wskazówkami dotyczącymi odwrotnego serwera proxy Keycloak . Zmień dane uwierzytelniające administratora wersji demonstracyjnej przed udostępnieniem Keycloak.
Dodaj te zmienne do usługi oCIS w konfiguracji wdrożenia, zachowując jej pozostałe ustawienia i sekrety. W przykładzie użyto fikcyjnych adresów URL i bieżącego przykładowego identyfikatora klienta:
OCIS_URL=https://cloud.example.com
OCIS_OIDC_ISSUER=https://sso.example.com/realms/ocis
WEB_OIDC_CLIENT_ID=web
PROXY_OIDC_REWRITE_WELLKNOWN=true
OCIS_EXCLUDE_RUN_SERVICES=idp
OCIS_URLto publiczny adres oCIS; identyfikator wystawcy i klienta musi dokładnie odpowiadać identyfikatorowi Keycloak. Przepisanie umożliwia korzystanie ze ścieżki wykrywania używanej przez klientów na komputerach stacjonarnych, Androidzie i iOS. Wykluczenie idpzatrzymuje wbudowanego dostawcę we wdrożeniach zewnętrznych dostawców tożsamości; należy je pominąć, jeśli konfiguracja celowo korzysta z tej usługi.

Zastosuj zmiany podczas standardowego procesu ponownego uruchomienia wdrożenia. W Docker Compose uruchom program docker compose up -dz katalogu compose, aby ponownie utworzyć zmienione usługi, a następnie przejrzyj logi oCIS. Używaj zaufanych certyfikatów TLS w środowisku produkcyjnym. Przykład ownCloud oznacza INSECURE=trueopcję lokalnego certyfikatu z podpisem własnym; usuń ją lub ustaw na fałsz na serwerze z dostępem do internetu. ownCloud również zaleca, aby nie używać go PROXY_OIDC_INSECUREw środowisku produkcyjnym.
Deklaracja to pole tożsamości OIDC, takie jak sub, preferred_usernamelub email. OCIS używa go do znalezienia konta. W przypadku istniejących użytkowników należy je zmapować do atrybutu, którego już używają – nazwy użytkownika, adresu e-mail lub identyfikatora użytkownika. Niezgodność może spowodować komunikat „użytkownik nie został znaleziony” po zaakceptowaniu logowania przez Keycloak.
Aby utworzyć konta przy pierwszym logowaniu, ustaw je PROXY_AUTOPROVISION_ACCOUNTS=truetylko wtedy, gdy jest to zamierzone i po włączeniu zapisu w zapleczu użytkownika oCIS Graph. Identyfikator musi być unikalny, stabilny i nigdy nie może być ponownie przypisywany. OwnCloud identyfikuje subjako odpowiedni; użyj adresu e-mail lub preferowanej nazwy użytkownika tylko wtedy, gdy nie można jej zmienić. Zachowaj zgodność deklaracji utworzenia i wyszukiwania:
PROXY_AUTOPROVISION_ACCOUNTS=true
PROXY_AUTOPROVISION_CLAIM_USERNAME=sub
PROXY_USER_OIDC_CLAIM=sub
PROXY_USER_CS3_CLAIM=username
Potwierdź, że Keycloak zwraca wybrane oświadczenie w odpowiedzi token lub userinfo. Przy wyłączonym automatycznym provisionowaniu nowy użytkownik nie jest tworzony podczas logowania; w przypadku backendu Graph tylko do odczytu provisionowanie może się nie powieść. Dodaj mapowanie grup lub ról dopiero po zalogowaniu. Przed włączeniem dostępu do zapisu lub zmianą mapowania tożsamości zapoznaj się z dokumentacją ownCloud 8.2 dotyczącą proxy i automatycznego provisionowania .
Otwórz oCIS w prywatnym oknie przeglądarki i zaloguj się. Powinieneś dotrzeć do domeny Keycloak, uwierzytelnić się i wrócić na ten sam host oCIS, co oczekiwane konto. Najpierw przetestuj istniejące konto. Jeśli provisioning jest włączony, przetestuj jednego zatwierdzonego nowego użytkownika i potwierdź, że został on utworzony z oczekiwaną nazwą użytkownika. Wyloguj się i zaloguj ponownie.

W przypadku wyszukiwania na komputerze stacjonarnym lub urządzeniu mobilnym otwórz https://cloud.example.com/.well-known/openid-configuration; przepisanie powinno ujawnić informacje o dostawcy Keycloak. Pętla logowania wskazuje na niezgodność hosta przekierowania lub schematu. Odrzucony użytkownik po pomyślnym zalogowaniu wskazuje na brakujące zgłoszenie lub niezgodność PROXY_USER_OIDC_CLAIMmiędzy PROXY_USER_CS3_CLAIM.
Ustaw opcję AllowOverride All tylko dla głównego katalogu internetowego ownCloud, sprawdź aktywny vhost Apache i bezpiecznie przeładuj, aby przywrócić reguły .htaccess.
Włącz aplikację Enterprise Auditing firmy ownCloud, kieruj zdarzenia admin_audit do chronionego pliku dziennika i upewnij się, że rejestrowane są rzeczywiste działania użytkowników.
Wydawca domeny, klient sieciowy i użytkownik Keycloak są zgodne z oświadczeniami, dzięki którym ownCloud Infinite Scale może niezawodnie logować użytkowników za pośrednictwem klientów sieciowych i mobilnych.
Przenieś swoje pliki i udziały wychodzące za pomocą polecenia occ usługi ownCloud, sprawdź, co pozostaje, i zweryfikuj dostęp przed usunięciem starego konta.
Dowiedz się, kiedy indeksy bazy danych ownCloud 10 wymagają uwagi, jak bezpiecznie stosować obsługiwane aktualizacje schematu oraz kiedy lepszym rozwiązaniem jest dostrojenie zapytań lub zmiana bazy danych.
Podłącz udostępniony w sieci dysk Windows lub Samba do ownCloud za pośrednictwem pamięci zewnętrznej, zweryfikuj dane uwierzytelniające i bezpiecznie rozwiąż problemy z niedostępnymi folderami.
Usuń każdą zapisaną wersję pliku ownCloud Server Classic dla jednego konta lub wszystkich użytkowników i odróżnij pełne usunięcie od wygaśnięcia na podstawie okresu przechowywania.
Śledź odmowę połączenia mobilnego ownCloud, sprawdzając we właściwej kolejności adres URL serwera, sieć telefoniczną, punkt końcowy HTTPS i dzienniki serwera.
Zastąp zadania wykonywane na żądanie timerem systemd, który co 15 minut uruchamia polecenie occ system:cron obsługiwane przez ownCloud.
Prześledź żądanie WebDAV przez Apache, Nginx lub odwrotny serwer proxy, a następnie sprawdź, czy synchronizacja ownCloud działa za pomocą uwierzytelnionego testu PROPFIND.