Vai al contenuto principale Passa a contenuto complementare

Creazione e gestione di client OAuth

OAuth è un protocollo di sicurezza standard per l'autorizzazione e la delega. Permette alle applicazioni di terze parti di accedere alle risorse API senza rivelare le credenziali dell'utente finale. Un client OAuth può ottenere un codice di autorizzazione e scambiarlo per un token di accesso utilizzabile per accedere al contenuto Qlik Cloud mediante API.

Client pubblici e confidenziali

OAuth ha due tipi di client, i client pubblici e i client confidenziali, per rendere sicure le autorizzazioni tra un'applicazione (il client) e il server di autorizzazione (Qlik Cloud).

Client pubblici

I client pubblici sono applicazioni che non utilizzano un segreto client perché non possono mantenere la confidenzialità delle credenziali richieste. I client pubblici in Qlik Cloud spesso sono applicazioni front-end, come applicazioni di una sola pagina con analisi incorporate o un'estensione di visualizzazione personalizzata in Qlik Sense, che richiedono informazioni sull'utente finale per supportare il ciclo di vita dell'applicazione.

Vedere : RFC 6749 Sezione 2.1: tipi di client OAuth 2.0t

Qlik Cloud supporta i client confidenziali per le applicazioni web tradizionali (lato server), e i client pubblici per le applicazioni native e a pagina singola che utilizzano tipi di privilegi specifici.

Client confidenziali

I client confidenziali sono applicazioni che mantengono un ID client e un segreto client in modo sicuro senza esporli a soggetti non autorizzati. I client confidenziali possono avere accesso a risorse protette poiché sono in possesso di un segreto client. Un esempio di client confidenziale è un'applicazione web con un backend sicuro che interagisce con le API di Qlik Cloud per organizzare le attività di aggiornamento dei dati o gestire l'accesso degli utenti ai contenuti.

Tipi di concessioni di autorizzazioni

Qlik supporta due tipi di concessioni di autorizzazioni o flussi: Flusso codice di autorizzazione e Flusso codice di autorizzazione con chiave di prova per lo scambio di codici (PKCE). Questi flussi sono molto simili, ma supportano casi d'uso differenti.

Flusso codice di autorizzazione

Le applicazioni web tradizionali sono applicazioni lato server in cui il codice sorgente non è esposto pubblicamente, quindi possono usare il Flusso codice di autorizzazione, che scambia un codice di autorizzazione per un token. Le applicazioni web che usano questo flusso sono lato server perché il segreto client dell'applicazione viene passato al server di autorizzazione durante lo scambio con un token.

Nota informaticaLa condivisione del segreto client pone a rischio la sicurezza del tenant. Non condividere mai il segreto client per mantenere la propria applicazione sicura e privata.

Vedere: Flusso codice di autorizzazione per maggiori dettagli.

Flusso codice di autorizzazione con chiave di prova per lo scambio di codici (PKCE)

Le applicazioni native e a pagina singola non possono conservare un segreto client poiché il loro codice sorgente è accessibile attraverso la decompilazione dell'app o la visualizzazione della sorgente dell'app tramite un browser, rispettivamente. Il PKCE aggiunge un ulteriore livello di protezione sui client pubblici richiedendo all'utente di utilizzare un codice di verifica per ottenere un token di accesso

Vedere: Flusso codice di autorizzazione con chiave di prova per lo scambio di codici (PKCE) per ulteriori informazioni.

Limitazione degli ambiti disponibili per i client OAuth

Gli ambiti OAuth consentono di limitare il grado degli accessi consentiti alle app del client OAuth. Ad esempio, per un token di accesso rilasciato a un'app del client può essere fornito l'accesso a risorse protette o l'accesso di sola lettura.

In Qlik Cloud, gli ambiti forniscono un modo per controllare l'accesso del client alle funzionalità e risorse disponibili. Ogni ambito fornisce un differente livello di accesso. I client che non dispongono di ambiti non potranno accedere ad alcuna risorsa.

Creazione di un client OAuth

I client OAuth sono amministrati dagli amministratori da Console di gestione sulla pagina OAuth.

Con un client OAuth è possibile integrare la propria applicazione client con Qlik Cloud.

Per maggiori informazioni su come creare un client OAuth per la distribuzione e installazione del componente aggiuntivo di Qlik per Microsoft Excel, vedere Creazione di un client OAuth per il componente aggiuntivo di Qlik per Microsoft Excel.

Procedere come indicato di seguito:

  1. In Console di gestione, andare a OAuth.

  2. Fare clic su Crea nuovo.

  3. Selezionare un tipo di client.

    Utilizzare Web per i client confidenziali e App pagina singola o Nativo per i client pubblici.

    Con Web, è possibile selezionare l'opzione Consenti Machine-to-Machine (M2M) per l'accesso al sistema senza interazioni da parte dell'utente.

  4. Nella finestra di dialogo, fornire un nome al client OAuth.

  5. in via opzionale, aggiungere una descrizione.

  6. Selezionare uno degli ambiti disponibili, scorrendo l'elenco o utilizzando il campo di ricerca.

    Ambito Autorizzazione
    user_default Accesso completo all'account e ai contenuti personali
    admin_classic

    Accesso amministratore completo al tenant

    Vedere anche: Distribuzione e amministrazione Qlik Cloud

    Nota informaticanon supportato con App pagina singola e i tipi di client Nativo.
    admin.apps

    Visualizza e gestisce tutte le app nel tenant.

    Vedere anche: Gestione delle app

    Indica un elemento figlio admin.apps:export

    Esporta tutte le app nel tenant

    Vedere anche: Esportazione di app

    Indica un elemento figlio admin.apps:read

    Visualizza tutte le app nel tenant
    admin.automations

    Visualizza e gestisci tutte le automazioni nel tenant

    Vedere anche: Gestione delle automazioni

    Indica un elemento figlio admin.automations:read

    Visualizza tutte le automazioni nel tenant
    admin.spaces

    Visualizza e gestisce tutti gli spazi nel tenant

    Vedere anche: Gestione degli spazi

    Indica un elemento figlio admin.spaces:read

    Visualizza tutti gli spazi nel tenant
    app

    Visualizza e gestisci app personali

    Vedere anche: Gestione delle app

    Indica un elemento figlio apps:export

    Esporta app personali

    Vedere anche: Esportazione di app

    Indica un elemento figlio apps:read

    Visualizza app personali
    automazioni

    Visualizza e gestisci automazioni personali

    Vedere anche: Gestione delle automazioni

    Indica un elemento figlio automations:read

    Visualizza automazioni personali
    automl-experiments Visualizza e gestisci esperimenti ML personali
    automl-distribuzione Visualizza e gestisci distribuzioni ML personali
    identity.e-mail:read

    Visualizza indirizzo e-mail personale

    Vedere anche: Provider di identità

    identity.name:read

    Visualizza nome personale completo
    identity.picture:read

    Visualizza immagine profilo personale

    Vedere anche: Provider di identità

    identity.subject:read

    Visualizza identificatore oggetto utente personale
    spaces.data

    Visualizza e gestisci spazi dati personali

    Vedere anche: Gestione degli spazi

    Indica un elemento figlio spaces.data:read

    Visualizza spazi dati personali
    spaces.managed

    Visualizza e gestisci spazi gestiti personali

    Vedere anche: Gestione degli spazi

    Indica un elemento figlio spaces.managed:read

    Visualizza spazi gestiti personali
    spaces.shared

    Visualizza e gestisci spazi condivisi personali

    Vedere anche: Gestione degli spazi

    Indica un elemento figlio spaces.shared:read

    Visualizza spazi condivisi personali
    offline_access

    Accedi alle risorse in modalità offline

    Nota informaticaNon supportato con App pagina singola.
    Nota informaticaE possibile utilizzare i pulsanti Tutti e Selezionati sopra l'elenco per visualizzare per visualizzare tutti gli ambiti o solo quelli selezionati.
    Nota informaticaL'elenco riportato sopra riflette gli ambiti supportati nella versione iniziale. Un elenco completo di ambiti, incluso qualsiasi ambito aggiunto dopo il rilascio della versione iniziale, è disponibile nel Portale sviluppatore Qlik.
  7. Inserire l'URL di reindirizzamento per l'applicazione client OAuth. Qlik Cloud reindirizzerà l'utente all'applicazione dopo un'autorizzazione riuscita solo se il relativo URL è nell'elenco degli URL di reindirizzamento consentito. Gli URL devono iniziare con https:// a meno che il dominio sia localhost, nel qual caso può iniziare con http://. Le app native possono inoltre usare il formato specifico di collegamento dell'app, ad esempio, exampleapp://.

    Fare clic su Aggiungi per aggiungere l'URL di reindirizzamento all'elenco degli elementi consentiti.

    Nota informaticaÈ possibile aggiungere più di un URL.
  8. Solo App pagina singola: aggiungere una o più origini consentite. L'accesso all'applicazione verrà consentito solamente se l'URL è nell'elenco delle origini consentite.

  9. Fare clic su Crea.

  10. Fare clic su Copia negli appunti per salvare l'ID client e il segreto client per un utilizzo futuro. Archiviare il segreto client in un luogo sicuro. Fare clic su Fine.

    Nota informaticaI client pubblici non possono avere segreti client.
Nota informaticaPer una panoramice dei differenti casi d'uso, vedere Riepilogo dei casi d'uso e dei tipi OAuth che è possibile utilizzare.

Creazione di un client OAuth per il componente aggiuntivo di Qlik per Microsoft Excel

La configurazione di un client OAuth è richiesta per installare il componente aggiuntivo di Qlik per Microsoft Excel. Il componente aggiuntivo viene utilizzato dagli sviluppatori dei report per preparare modelli di report che consentono di controllare l'output dei report tabular dall'app Qlik Sense.

Per fare in modo che OAuth funzioni correttamente nel componente aggiuntivo, èe necessario configurare il client OAuth utilizzando la configurazione esatta mostrata sotto.

Procedere come indicato di seguito:

  1. Nella Console di gestione in Qlik Cloud, andare a OAuth.

  2. Fare clic su Crea nuovo.

  3. Nel menu a comparsa Tipo di client, selezionare App pagina singola. Verranno visualizzati ulteriori campi.

  4. Inserire un Nome. L'opzione Descrizione è facoltativa.

  5. Come minimo, selezionare la casella di controllo per includere l'ambito user_default. È possibile aggiungere anche altri ambiti nella configurazione, ma se non si include user_default, l'installazione non funzionerà.

    Per una descrizione completa di ogni ambito disponibile, vedere Creazione di un client OAuth.

  6. Nel campo Aggiungi URL di reindirizzamento, inserire l'URL del proprio tenant, seguito dalla stringa con valore fisso: /office-add-ins/oAuthLoginSuccess.html

    Il risultato dovrebbe essere il seguente: https://YourServer/office-add-ins/oAuthLoginSuccess.html

  7. Fare clic su Aggiungi.

  8. Nel campo Aggiungi origini consentite, inserire l'URL del tenant e fare clic su Aggiungi.

  9. Fare clic su Crea.

  10. Viene visualizzata la finestra Copia il tuo ID client. È possibile scegliere di copiare l'ID del client negli appunti; oppure, fare clic su Fine per chiudere la finestra

Una volta creato il client OAuth, scaricare il collegamento al file XML manifesto da Console di gestione. Andare alla pagina Impostazioni, quindi andare a Controllo funzionalitàExcelcomponente aggiuntivo nella Console di gestione. Utilizzare il collegamento per distribuire e installare il componente aggiuntivo.

Per maggiori informazioni sulla generazione del file manifesto e sulla distribuzione e installazione del componente aggiuntivo, vedere:

Modifica di un client OAuth

È possibile rinominare un client OAuth, aggiornare la descrizione o gestire gli URL di reindirizzamento.

Procedere come indicato di seguito:

  1. In Console di gestione, andare a OAuth.
  2. Selezionare il client OAuth che si desidera modificare. Fare clic su ..., quindi selezionare Modifica.
  3. Nella finestra di dialogo, modificare le opzioni per il client OAuth come richiesto.
  4. Fare clic su Salva.

Pubblicazione di un client OAuth

I client OAuth creati sono associati automaticamente al tenant che li ha creati. È possibile configurare un client OAuth da condividere e rendere disponibile a tutti gli altri tenant all'interno di una regione. Le applicazioni di terze parti con connessione a Qlik Cloud possono quindi avere lo stesso ID client per tutti i tenant Qlik Cloud. Il proprietario dell'applicazione può effettuare la rotazione dei segreti e aggiornare la configurazione senza interazione da parte di un amministratore tenant. Gli amministratori tenant non dovranno gestire le credenziali né sapere nulla sui dettagli della configurazione.

Per consentire agli altri tenant di connettersi a un client OAuth, deve essere pubblicato.

Procedere come indicato di seguito:

  1. In Console di gestione, andare a OAuth.
  2. Selezionare il client OAuth che si desidera pubblicare. Fare clic su ... e selezionare Pubblica.
  3. Fare clic su Pubblica.

Quando un utente naviga verso un sito web esterno che utilizza Qlik OAuth, gli viene richiesto il nome host del tenant e successivamente anche le credenziali utente, a meno che l'utente non abbia già una sessione SaaS attiva. Il primo accesso con un client OAuth esterno richiede il consenso di un amministratore del tenant. Quando approvato, il nuovo client OAuth viene mostrato in Console di gestione.

Metodo di consenso

Sono disponibili due opzioni per il consenso: Richiesto e Attendibile. Con Richiesto, l'autorizzazione tramite il client OAuth richiederà il consenso ogni volta che viene richiesto un nuovo ambito per l'utente. Con Attendibile, non appare alcun messaggio all'utente. Per i client che non sono stati pubblicati, è possibile utilizzare solo Attendibile. Per i client che sono stati pubblicati, viene sempre utilizzato il metodo di consenso Richiesto.

Nota informaticaPer i client utilizzat come M2M, è necessario impostare il metodo di consenso su Attendibile dopo la creazione del client.

Visualizzazione e copia della configurazione OAuth

Nella sezione OAuth di Console di gestione, selezionare Visualizza configurazione OAuth per visualizzare la configurazione come snippet di codice e un URL da copiare.

Eliminazione di un client OAuth

È possibile eliminare un client OAuth quando non è più necessario, oppure revocarne l'accesso.

Procedere come indicato di seguito:

  1. In Console di gestione, andare a OAuth.

  2. Selezionare il client OAuth che si desidera rimuovere e fare clic su Elimina.

    Nota informaticaÈ possibile rimuovere più di un client OAuth alla volta.
  3. Confermare che si desidera eliminare il client OAuth.

Gestione dei segreti client

Potrebbe essere necessario aggiungere o rimuovere un segreto client se, per esempio, un segreto client viene compromesso o la politica di sicurezza dell'utente richiede di aggiornare periodicamente il segreto client. È possibile anche aggiungere più segreti client per impedire i tempi di inattività nell'applicazione. Ad esempio, è possibile creare un secondo segreto, distribuire il nuovo segreto nella propria applicazione client e poi eliminare il vecchio segreto.

Procedere come indicato di seguito:

  1. In Console di gestione, andare a OAuth.
  2. Selezionare il client OAuth che si desidera gestire. Fare clic su ... quindi selezionare Gestisci segreti.
  3. Nella finestra di dialogo, compiere una delle seguenti operazioni:
    • Per aggiungere un nuovo segreto client, fare clic su Genera un nuovo segreto client.
    • Per rimuovere un segreto client, fare clic su Elimina accanto al segreto client.
  4. Fare clic su Chiudi.

Costruire un'applicazione client OAuth per accedere a Qlik Cloud

Dopo aver registrato un client OAuth con Qlik Cloud, è possibile utilizzare l'ID client associato e il segreto client nella propria applicazione client OAuth. Sono disponibili dei tutorial nella sezione OAuth del Portale sviluppatori per la generazione di applicazioni client usando alcuni dei più popolari linguaggi di codifica.

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!