Collega ownCloud Infinite Scale a Keycloak tramite OIDC.

Spesso gli utenti accedono alla pagina di login di Keycloak, si autenticano e poi vengono reindirizzati alla schermata di login di ownCloud Infinite Scale oppure visualizzano un errore "utente sconosciuto". Le cause più comuni sono un realm issuer non corrispondente, un client web copiato da una versione di esempio diversa o un'identità claim non corrispondente a un account oCIS. Configurate Keycloak come provider OpenID Connect (OIDC) esterno di oCIS, allineate questi tre valori e verificate che il browser e i client possano raggiungere il provider tramite HTTPS.

Questa procedura guidata utilizza host fittizi: cloud.example.comper oCIS e sso.example.comper Keycloak. La configurazione fa riferimento alla documentazione di ownCloud Infinite Scale 8.2; confrontare i nomi con la documentazione della versione installata prima di applicarli. Questa procedura è per Infinite Scale (oCIS), non per ownCloud Server 10.

1. Verifica il realm e l'endpoint di rilevamento

Un provider di identità (IdP) autentica gli utenti per un altro servizio. OpenID Connect è il protocollo di accesso che consente a oCIS di considerare attendibili le informazioni di login e di identità di Keycloak. Un realm è un insieme separato di utenti, client e impostazioni di Keycloak. Scegli il realm che servirà oCIS, quindi identifica il suo URL emittente: per il realm di esempio ocis, è https://sso.example.com/realms/ocis.

Prima di modificare oCIS, aprite il https://sso.example.com/realms/ocis/.well-known/openid-configurationdocumento in un browser. Questo documento di rilevamento OpenID Connect descrive gli endpoint del provider. Verificate che il suo issuervalore corrisponda esattamente all'URL del realm, inclusi schema, host, maiuscole/minuscole e percorso. L'emittente non deve essere la pagina di amministrazione o l'URL di rilevamento più lungo. Il certificato TLS del provider deve essere considerato attendibile dai browser degli utenti e dal server/container oCIS.

Il JSON di rilevamento di OpenID Connect mostra l'emittente https://sso.example.com/realms/ocis nella risposta del realm di Keycloak.
Il documento di rilevamento deve indicare l'esatto emittente del realm configurato in oCIS.

Se l'URL di rilevamento non si carica, risolvere prima eventuali problemi relativi a DNS, routing del proxy inverso, firewall o certificati. Una risposta positiva del browser da sola non dimostra che il container oCIS possa raggiungere Keycloak; verificare anche l'accesso alla rete dalla rete di distribuzione del server. Le regole di rilevamento di OpenID Connect richiedono che l'emittente restituito identifichi lo stesso provider. Consultare le specifiche di rilevamento di OpenID Connect .

2. Associare il client Keycloak all'applicazione web oCIS

Utilizza l' esempio di distribuzione di Keycloak ownCloud aggiornato come punto di partenza e adatta il suo file realm alla tua versione di oCIS. Non mescolare le versioni: l'esempio di composizione corrente utilizza l'ID client web web, mentre le note di configurazione precedenti indicano ocis-web. Keycloak e oCIS devono utilizzare lo stesso ID client.

In Keycloak, apri il realm e il client web selezionati. Fai corrispondere il flusso di accesso e l'ID client all'esempio di ownCloud. Imposta URI di reindirizzamento validi con gli indirizzi di callback esatti richiesti da quel realm, utilizzando l'host HTTPS pubblico. Imposta le origini web solo come richiesto dal modello. Il carattere jolly qui sotto è a scopo illustrativo e non rappresenta una raccomandazione per l'ambiente di produzione: modelli di reindirizzamento generici possono consentire destinazioni indesiderate. Le etichette variano a seconda della versione di Keycloak.

Le impostazioni del client Keycloak, a titolo di esempio, mostrano l'ID del client web e i campi per gli URI di reindirizzamento validi e le origini web.
Utilizza l'URI di reindirizzamento e l'ID client dal modello di realm corrispondente alla tua versione di oCIS; i valori visualizzati sono solo esempi.

Mantieni stabile il nome host pubblico di Keycloak. Se la connessione TLS termina su un proxy inverso, configura il suo nome host pubblico e le intestazioni del proxy attendibile, altrimenti i reindirizzamenti potrebbero utilizzare lo schema o l'host sbagliato; segui le linee guida del proxy inverso di Keycloak . Sostituisci le credenziali dell'amministratore demo prima di esporre Keycloak.

3. Puntare oCIS allo stesso emittente e allo stesso cliente

Aggiungi queste variabili al servizio oCIS nella configurazione di distribuzione, mantenendo inalterate le altre impostazioni e i segreti. L'esempio utilizza URL fittizi e l'ID client di esempio corrente:

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_URLè l'indirizzo oCIS pubblico; l'ID dell'emittente e dell'ID client devono corrispondere esattamente a Keycloak. La riscrittura abilita il percorso di rilevamento utilizzato dai client desktop, Android e iOS. L'esclusione idparresta il provider integrato nelle implementazioni IdP esterne; ometterla se la configurazione utilizza intenzionalmente tale servizio.

L'editor di configurazione elenca OCIS_URL, OCIS_OIDC_ISSUER, PROXY_OIDC_REWRITE_WELLKNOWN e OCIS_EXCLUDE_RUN_SERVICES.
Queste impostazioni oCIS indirizzano l'autenticazione a Keycloak e il rilevamento OIDC al provider esterno.

Applica le modifiche con il normale processo di riavvio della tua distribuzione. Con Docker Compose, esegui il comando docker compose up -ddalla directory compose per ricreare i servizi modificati, quindi esamina i log di oCIS. Utilizza certificati TLS attendibili in produzione. L'esempio di ownCloud contrassegna INSECURE=truequesta opzione come un certificato autofirmato locale; rimuovila o impostala su false su un server esposto a Internet. ownCloud sconsiglia inoltre di utilizzarla PROXY_OIDC_INSECUREin produzione.

4. Decidere come oCIS deve identificare gli utenti

Un claim è un campo di identità OIDC, come sub, preferred_username, o email. oCIS lo utilizza per trovare un account. Per gli utenti esistenti, mappalo all'attributo che già utilizzano: nome utente, email o ID utente. Una mancata corrispondenza può generare il messaggio "utente non trovato" dopo che Keycloak ha accettato l'accesso.

Per creare account al primo accesso, impostarlo PROXY_AUTOPROVISION_ACCOUNTS=truesolo quando necessario e dopo aver abilitato le scritture nel backend utente di oCIS Graph. L'identificativo deve essere univoco, stabile e non deve mai essere riassegnato. ownCloud lo identifica subcome idoneo; utilizzare l'indirizzo email o il nome utente preferito solo se non può essere modificato. Mantenere allineate le attestazioni di creazione e di ricerca:

PROXY_AUTOPROVISION_ACCOUNTS=true
PROXY_AUTOPROVISION_CLAIM_USERNAME=sub
PROXY_USER_OIDC_CLAIM=sub
PROXY_USER_CS3_CLAIM=username

Conferma che Keycloak restituisca la rivendicazione selezionata nel token o nella risposta userinfo. Con il provisioning automatico disattivato, non viene creato un nuovo utente all'accesso; con un backend Graph di sola lettura, il provisioning potrebbe non riuscire. Aggiungi la mappatura di gruppi o ruoli solo dopo che l'accesso funziona. Consulta la documentazione di ownCloud 8.2 relativa al proxy e al provisioning automatico prima di abilitare l'accesso in scrittura o modificare le mappature delle identità.

Verifica il flusso di accesso completo

Apri oCIS in una finestra di navigazione in incognito ed effettua l'accesso. Dovresti raggiungere il realm di Keycloak, autenticarti e tornare allo stesso host oCIS dell'account previsto. Prima di procedere, testa un account esistente. Se il provisioning è abilitato, testa un nuovo utente approvato e verifica che venga creato correttamente con il nome utente desiderato. Disconnettiti e ripeti l'accesso.

Accanto all'elenco dei file nel cloud, che comprende Documenti, Foto, Progetti e Cartelle condivise, compare un modulo di accesso.
Dopo l'autenticazione avvenuta con successo, il browser dovrebbe tornare all'interfaccia di archiviazione dei file nel cloud.

Per il rilevamento su desktop o dispositivi mobili, aprire https://cloud.example.com/.well-known/openid-configuration; la riscrittura dovrebbe esporre le informazioni del provider di Keycloak. Un ciclo di accesso indica un host di reindirizzamento o una mancata corrispondenza dello schema. Un utente rifiutato dopo un accesso riuscito indica una rivendicazione mancante o una mancata corrispondenza tra PROXY_USER_OIDC_CLAIMe PROXY_USER_CS3_CLAIM.

Lascia un commento

Elimina in modo sicuro l'avviso relativo al file .htaccess di ownCloud Apache

Elimina in modo sicuro l'avviso relativo al file .htaccess di ownCloud Apache

Imposta AllowOverride All solo per la directory principale del sito web di ownCloud, verifica il vhost Apache attivo e riavvia il sito in modo sicuro per ripristinare le regole .htaccess.

Configura il controllo degli accessi di ownCloud Enterprise e verifica i registri.

Abilita l'app Enterprise Auditing di ownCloud, instrada gli eventi admin_audit a un file di registro protetto e verifica che vengano registrate le azioni reali degli utenti.

Collega ownCloud Infinite Scale a Keycloak tramite OIDC.

Collega ownCloud Infinite Scale a Keycloak tramite OIDC.

Allineare l'emittente del realm, il client web e le attestazioni utente di Keycloak consente a ownCloud Infinite Scale di autenticare gli utenti in modo affidabile su client web e mobile.

Spostare i file di ownCloud a un nuovo proprietario senza perdere le condivisioni

Trasferisci i file di tua proprietà e le cartelle condivise in uscita con il comando occ di ownCloud, scopri cosa rimane e verifica l'accesso prima di eliminare il vecchio account.

Velocizza le query di ownCloud 10 gestendo gli indici in modo sicuro

Scopri quando gli indici del database di ownCloud 10 necessitano di attenzione, come applicare in modo sicuro gli aggiornamenti dello schema supportati e quando l'ottimizzazione delle query o una modifica del database rappresentano la soluzione migliore.

Montare una condivisione SMB/CIFS in ownCloud senza utilizzare un mount Linux

Collega una condivisione di rete Windows o Samba a ownCloud tramite l'archiviazione esterna, verifica le credenziali e risolvi in ​​modo sicuro i problemi relativi alle cartelle inaccessibili.

Elimina in modo sicuro le versioni dei file di ownCloud con il comando occ

Elimina in modo sicuro le versioni dei file di ownCloud con il comando occ

Rimuovere tutte le versioni dei file di ownCloud Server Classic memorizzate per un singolo account o per tutti gli utenti, e distinguere tra eliminazione completa e scadenza basata sulla conservazione.

Connessione mobile ownCloud rifiutata? Verifica URL e raggiungibilità

Connessione mobile ownCloud rifiutata? Verifica URL e raggiungibilità

Per individuare la causa di un rifiuto di connessione mobile di ownCloud, verifica l'URL del server, la rete telefonica, l'endpoint HTTPS e i log del server nell'ordine corretto.

Esegui in modo affidabile i processi in background di ownCloud con un timer Systemd

Sostituisci le esecuzioni dei processi su richiesta con un timer systemd che esegue il comando occ system:cron supportato da ownCloud ogni 15 minuti.

Ripristina la sincronizzazione WebDAV di ownCloud individuando il percorso interrotto

Traccia la richiesta WebDAV attraverso Apache, Nginx o un proxy inverso, quindi verifica che la sincronizzazione di ownCloud funzioni con un test PROPFIND autenticato.