Creating and managing OAuth clients | Guida di Qlik Cloud
Vai al contenuto principale Passa a contenuto complementare

Creating and managing OAuth clients

OAuth è un protocollo di sicurezza per l'autorizzazione e la delega. Consente alle applicazioni di terze parti di accedere alle risorse API senza divulgare le credenziali dell'utente finale. Un client OAuth richiede un codice di autorizzazione, lo scambia con un token di accesso e utilizza il token per accedere ai contenuti di Qlik Cloud tramite le API.

OAuth client types

Un client OAuth è un'applicazione web o un software che richiede l'accesso alle risorse in Qlik Cloud per conto di un utente. OAuth definisce due tipi di client, client pubblici e client riservati, per proteggere l'autorizzazione tra un'applicazione (il client) e il server di autorizzazione (Qlik Cloud).

Qlik Cloud supporta client riservati per applicazioni web tradizionali (lato server) e client pubblici per applicazioni native e a pagina singola utilizzando flussi di autorizzazione specifici.

Per le specifiche ufficiali di OAuth 2.0 sui tipi di client, vedere RFC 6749 Section 2.1: OAuth 2.0 Client Types.

Public clients

I client pubblici sono applicazioni che non utilizzano il segreto del client perché non possono mantenere la riservatezza delle credenziali richieste. In Qlik Cloud, questi includono applicazioni frontend come le applicazioni a pagina singola (SPA) con analisi integrate o estensioni di visualizzazione personalizzate in Qlik Sense che richiedono l'autenticazione dell'utente.

Confidential clients

I client riservati possono archiviare in modo sicuro un ID client e un segreto del client e utilizzarli per l'autenticazione con il server di autorizzazione. Questi client possono accedere a risorse protette perché possiedono il segreto del client.

Esempio: un'applicazione web con un backend sicuro che interagisce con le API di Qlik Cloud per gestire l'accesso degli utenti o orchestrare le attività di aggiornamento dei dati.

OAuth authorization flows

Qlik supporta due flussi di autorizzazione (tipi di concessione):

  • Flusso del codice di autorizzazione: per client riservati.

  • Flusso del codice di autorizzazione con Proof Key for Code Exchange (PKCE): per client pubblici.

Authorization code flow

Questo flusso viene utilizzato dalle applicazioni lato server in cui il codice sorgente non è esposto pubblicamente. Comporta lo scambio di un codice di autorizzazione con un token di accesso, con il segreto del client utilizzato per l'autenticazione. Le applicazioni web che utilizzano questo flusso devono essere lato server perché il segreto del client viene passato al server di autorizzazione durante lo scambio del token.

Nota informaticaNon condividere mai pubblicamente il segreto del client, poiché compromette la sicurezza del tenant. Mantenerlo sicuro e privato.

Per ulteriori informazioni sul flusso del codice di autorizzazione, vedere la documentazione ufficiale di OAuth 2.0: Authorization Code Flow.

Authorization code flow with PKCE

Le applicazioni native e a pagina singola non possono archiviare in modo sicuro un segreto del client perché il loro codice sorgente può essere decompilato o ispezionato in un browser. PKCE migliora la sicurezza richiedendo l'uso di un verificatore di codice per ottenere un token di accesso.

Per ulteriori informazioni sull'autorizzazione con PKCE, vedere la documentazione ufficiale di OAuth 2.0: Authorization Code Flow with Proof Key for Code Exchange (PKCE).

OAuth scopes and permissions

Gli ambiti OAuth definiscono il livello di accesso concesso alle applicazioni client OAuth. Ad esempio, un token di accesso può consentire l'accesso completo alle risorse o limitarlo all'accesso in sola lettura. In Qlik Cloud, gli ambiti controllano l'accesso del client alle funzionalità e alle risorse disponibili. Senza ambiti, i client non possono accedere ad alcuna risorsa.

Nota informatica

Le credenziali API forniscono accesso programmatico diretto a Qlik Cloud e non sono limitate ai flussi di lavoro disponibili nell'interfaccia utente. Assegnare i ruoli e gli ambiti OAuth utilizzando il principio del privilegio minimo. Trattare gli account di servizio e le credenziali API con lo stesso livello di attenzione delle credenziali di amministratore. Per ulteriori informazioni, vedere Controllo degli accessi API e limiti di attendibilità.

Available OAuth scopes

La tabella elenca gli ambiti disponibili e le relative autorizzazioni associate:

Creating OAuth clients

Gli amministratori del tenant gestiscono i client OAuth nel centro attività Amministrazione nella pagina OAuth. Con un client OAuth, è possibile integrare l'applicazione client con Qlik Cloud per accedere alle risorse in modo sicuro.

Limits on OAuth clients

Si applicano i seguenti limiti:

  • Massimo 5 URL di reindirizzamento per client.

  • Massimo 5 origini consentite per client.

  • Massimo 5 segreti del client per client.

  • Massimo 200 client OAuth per tenant.

Steps to create an OAuth client

Procedere come indicato di seguito:

  1. Nel centro attività Amministrazione, andare su OAuth.

  2. Fare clic su Crea nuovo.

  3. Selezionare un tipo di client:

    • Web per client riservati.

    • App a pagina singola o Nativo per client pubblici.

    • Incorporamento anonimo per client pubblici.

  4. Nella finestra di dialogo, inserire un nome per il client OAuth.

  5. Facoltativamente, aggiungere una descrizione.

  6. Selezionare uno qualsiasi degli ambiti disponibili scorrendo o utilizzando il campo di ricerca.

    Nota di suggerimentoUtilizzare i pulsanti Tutti e Selezionati per visualizzare tutti gli ambiti o solo quelli selezionati.
  7. Inserire uno o più URL di reindirizzamento per l'applicazione client OAuth (massimo 5). Quindi fare clic su Aggiungi per aggiungere l'URL di reindirizzamento alla lista consentita.

    • L'URL di reindirizzamento è il punto in cui il server di autorizzazione invia il browser dell'utente dopo aver eseguito correttamente l'autenticazione e concesso l'autorizzazione all'applicazione client. Ad esempio, https://www.exampleapp.com/oauth/callback, dove /oauth/callback gestisce i callback di autenticazione dal provider OAuth.

    • Qlik Cloud reindirizzerà l'utente all'applicazione dopo un'autorizzazione riuscita solo se il suo URL è presente nella lista consentita degli URL di reindirizzamento.

    • Gli URL devono iniziare con https:// a meno che il dominio non sia localhost, nel qual caso può iniziare con http://. Le applicazioni native possono anche utilizzare il formato di collegamento specifico dell'applicazione, ad esempio exampleapp://.

  8. Per i tipi di client Web o App a pagina singola, specificare una o più origini consentite (massimo 5).

    • L'accesso all'applicazione verrà concesso solo se l'URL viene aggiunto all'elenco delle origini consentite.

  9. Per il tipo di client Web, è possibile abilitare una delle seguenti opzioni per l'accesso automatizzato al sistema senza interazione dell'utente:

    • Consenti Machine-to-Machine (M2M): abilita la comunicazione da sistema a sistema senza il coinvolgimento dell'utente.

    • Consenti rappresentazione utente M2M: consente all'applicazione di autenticarsi per conto degli utenti, agendo come loro durante il processo di autenticazione.

  10. Per il tipo di client Web, selezionare una o entrambe le opzioni in Metodo di autenticazione:

    • Segreto del client (predefinito)

    • JWT chiave privata, un'opzione più sicura che autentica il client utilizzando una coppia di chiavi pubblica/privata anziché un segreto condiviso.

      • Quando si seleziona JWT chiave privata, viene visualizzato il campo Chiave pubblica. Inserire la chiave pubblica dell'applicazione di terze parti nel formato JSON Web Key (JWK). La chiave privata rimane con l'applicazione per firmare i JWT. Per ulteriori informazioni sul formato della chiave pubblica, vedere Creare una coppia di chiavi pubblica/privata per la firma dei JWT sul Qlik Developer Portal.

        Nota informaticaLa chiave pubblica dipende dai requisiti del provider di identità. Se la chiave pubblica dell'applicazione di terze parti ha un formato diverso, utilizzare uno strumento di terze parti per convertirla in JWK.
  11. Fare clic su Crea.

  12. Fare clic su Copia negli appunti per salvare l'ID client e il segreto del client per un uso successivo. Archiviare il segreto del client in modo sicuro.

    Nota informaticaI client pubblici non hanno un segreto del client.
  13. Fare clic su Fine.

OAuth clients for specific use cases

Per i casi d'uso dei client OAuth, fare riferimento alle seguenti risorse:

Creating OAuth clients for Qlik add-ins for Microsoft Office

La configurazione di un client OAuth è richiesta per installare i componenti aggiuntivi Qlik per Microsoft Office. I componenti aggiuntivi sono usati dagli sviluppatori di report per preparare modelli di report per il reporting in-applicazione con Qlik Cloud.

Per fare in modo che OAuth funzioni correttamente nei componenti aggiuntivi, è necessario configurare il client OAuth utilizzando la configurazione esatta mostrata sotto.

Procedere come indicato di seguito:

  1. Nel centro attività Amministrazione, in Qlik Cloud, andare a Impostazioni.

  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 Available OAuth scopes.

  6. Nel campo Aggiungi URL di reindirizzamento, inserire l'URL del Qlik Cloud tenant, seguito da questa stringa fissa: /office-add-ins/oAuthLoginSuccess.html

    Il risultato dovrebbe essere simile a questo: https://<tenant or alias hostname>.<region>.qlikcloud.com/office-add-ins/oAuthLoginSuccess.html. Ad esempio: http://example-company-123.us.qlikcloud.com/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

Dopo aver creato il client OAuth, ottenere il collegamento al XML manifesto aggiornato dal centro attività Amministrazione. Andare alla pagina Impostazioni e selezionare la scheda Email e report. Nella sezione Condivisione e report, selezionare i componenti aggiuntivi Qlik per Microsoft Office. Utilizzare il collegamento fornito per distribuire e installare il componente aggiuntivo.

Per ulteriori informazioni sulla generazione del file manifest, nonché sulla distribuzione e l'installazione di un componente aggiuntivo, vedere:

Creating an OAuth client for anonymous embeds of application content

Per incorporare i contenuti dell'applicazione per l'accesso anonimo utilizzando qlik-embed, è necessario creare un client OAuth con un tipo specificamente progettato per questo caso d'uso.

Nota informatica Questa funzionalità è disponibile solo con una sottoscrizione a Qlik Anonymous Access. Per ulteriori informazioni, vedere Sottoscrizioni a Qlik Anonymous Access.

Procedere come indicato di seguito:

  1. Nel centro attività Amministrazione, andare alla sezione OAuth.

  2. Fare clic su Crea nuovo.

  3. Nel menu a discesa Tipo di client, selezionare Incorporamento anonimo.

  4. Inserire un Nome e facoltativamente una Descrizione per il client OAuth.

  5. In Origini consentite, inserire ogni origine che è necessario autorizzare. Questi sono i domini che accederanno al tenant Qlik Cloud per recuperare le informazioni per le analisi integrate.

    Fare clic su Aggiungi dopo aver inserito ogni URL.

  6. Al termine, fare clic su Crea.

  7. Fare clic su Copia negli appunti per salvare l'ID client per un uso successivo. Sarà necessario quando il contenuto dell'applicazione viene incorporato con qlik-embed.

  8. Fare clic su Fine.

Editing OAuth clients

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

Procedere come indicato di seguito:

  1. Nel centro attività Amministrazione, andare su OAuth.
  2. Individuare il client OAuth che si desidera modificare.
  3. Fare clic su Altro e quindi selezionare Modifica.
  4. Modificare le opzioni del client OAuth come richiesto.
  5. Fare clic su Salva.

Deleting OAuth clients

È possibile eliminare un client OAuth quando non è più necessario o per revocare l'accesso.

Procedere come indicato di seguito:

  1. Nel centro attività Amministrazione, andare su OAuth.

  2. Selezionare uno o più client OAuth che si desidera rimuovere, quindi fare clic su Elimina.

  3. Confermare l'eliminazione.

Publishing OAuth clients

I client OAuth sono inizialmente associati al tenant che li ha creati. Tuttavia, è possibile configurare un client OAuth in modo che sia condiviso tra più tenant all'interno della stessa regione. Ciò consente alle applicazioni di terze parti di utilizzare lo stesso ID client in diversi tenant di Qlik Cloud.

I proprietari dell'applicazione possono ruotare i segreti e aggiornare la configurazione senza l'interazione di un amministratore del tenant. Gli amministratori del tenant non devono gestire le credenziali o essere a conoscenza di alcun dettaglio di configurazione per il client pubblicato.

Per consentire ad altri tenant di connettersi a un client OAuth, è necessario pubblicarlo.

Procedere come indicato di seguito:

  1. Nel centro attività Amministrazione, andare su OAuth.
  2. Individuare il client OAuth che si desidera pubblicare.
  3. Fare clic su Altro accanto al client e selezionare Pubblica.
  4. Fare clic su Pubblica per confermare.

Una volta pubblicato, il client OAuth diventa disponibile per l'uso esterno da parte di altri tenant. Quando un utente visita un sito web esterno che utilizza questo client OAuth, gli verrà richiesto di inserire il nome host del tenant e le credenziali utente, a meno che non abbia già una sessione SaaS attiva.

L'accesso iniziale richiederà il consenso di un amministratore del tenant. Una volta approvato, il client OAuth apparirà nel centro attività Amministrazione del tenant.

Consent methods

Per impostazione predefinita, Qlik Cloud richiede il consenso agli utenti durante l'autenticazione. Per semplificare il processo, in particolare per le applicazioni attendibili, è possibile impostare il metodo di consenso su "Attendibile", che salta la richiesta di consenso.

Esistono due opzioni per il consenso:

  • Obbligatorio: all'utente viene richiesto il consenso ogni volta che il client OAuth richiede un nuovo ambito. Questo metodo garantisce l'approvazione esplicita dell'utente per ogni livello di accesso.

  • Attendibile: all'utente non viene richiesto il consenso. Questa opzione è disponibile solo per i client non pubblicati. Per i client pubblicati, il metodo di consenso è sempre Obbligatorio per mantenere la sicurezza su più tenant.

Nota informaticaPer i client utilizzati come Machine-to-Machine (M2M), il metodo di consenso deve essere modificato in Attendibile dopo la creazione del client.

Changing the consent method

Per modificare il metodo di consenso per un client OAuth, procedere come segue:

  1. Nel centro attività Amministrazione, andare su OAuth.
  2. Sul client OAuth, fare clic su Altro e selezionare Modifica metodo di consenso.
  3. Selezionare Obbligatorio o Attendibile e quindi fare clic su Modifica metodo di consenso.

Viewing and copying the OAuth configuration

Nella sezione OAuth del centro attività Amministrazione, selezionare Visualizza configurazione OAuth per visualizzare i dettagli di autenticazione per il tenant Qlik Cloud. Verrà visualizzato uno snippet di codice con endpoint e impostazioni OAuth, nonché un URL che è possibile copiare per l'uso in applicazioni esterne.

È possibile utilizzare questa configurazione per integrare Qlik Cloud con applicazioni di terze parti, automatizzare l'accesso alle API o configurare l'autenticazione per le analisi integrate.

Managing client secrets

Se un segreto del client è compromesso o la politica di sicurezza richiede aggiornamenti periodici, è possibile aggiungere o rimuovere segreti. Per evitare tempi di inattività, è possibile aggiungere più segreti del client (massimo 5), aggiornare l'applicazione client e quindi rimuovere il vecchio segreto.

Adding a client secret

Procedere come indicato di seguito:

  1. Nel centro attività Amministrazione, andare su OAuth.
  2. Individuare il client OAuth.
  3. Fare clic su Altro e selezionare Gestisci segreti.
  4. Fare clic su Genera un nuovo segreto del client.
  5. Copiare il segreto del client e l'ID client e archiviarli in modo sicuro.

    Nota informaticaNon sarà possibile accedere al segreto del client in un secondo momento.
  6. Fare clic su Chiudi.

Removing a client secret

Procedere come indicato di seguito:

  1. Nel centro attività Amministrazione, andare su OAuth.
  2. Individuare il client OAuth.
  3. Fare clic su Altro e selezionare Gestisci segreti.
  4. Fare clic su Elimina accanto al segreto del client.
  5. Fare clic su Chiudi.

More about OAuth clients

Next steps: Building OAuth client applications

Dopo aver registrato un client OAuth con Qlik Cloud, è possibile creare applicazioni client OAuth per accedere ai contenuti di Qlik Cloud. Utilizzare l'ID client e il segreto del client associati nell'applicazione.

Per una guida dettagliata, vedere i tutorial nella sezione Panoramica di OAuth del Qlik Developer Portal. Questi tutorial illustrano come creare applicazioni client utilizzando i linguaggi di programmazione più diffusi.

Organization-level OAuth clients

Oltre ai client OAuth specifici del tenant, è possibile utilizzare client OAuth a livello di organizzazione. In qualità di proprietario dell'account di servizio (SAO), è possibile creare e gestire questi client. I client OAuth a livello di organizzazione forniscono l'accesso alle informazioni del tenant in tutti i tenant negli abbonamenti.

Per ulteriori informazioni, vedere Gestione dei client OAuth in My Qlik.

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 – ti pregiamo di farcelo sapere!