Risoluzione dei problemi relativi a errori 404 di incorporamento firmato, autorizzazioni e accesso ai contenuti

Quando un utente tenta di accedere ai contenuti incorporati, potrebbe visualizzare il seguente messaggio di errore:

Impossibile trovare la dashboard richiesta. Non esiste oppure non disponi dell'autorizzazione per visualizzarla.

Questa pagina spiega come risolvere il problema ed evitarlo in futuro, risparmiando tempo e frustrazione a sviluppatori e utenti.

Risolvere il problema

Il messaggio di errore ti fornisce i passaggi successivi da seguire per verificare. In sostanza, l'URL di incorporamento firmato ha creato e autenticato correttamente l'utente di incorporamento, ma si è verificato uno dei seguenti problemi:

  • Il percorso dei contenuti non è valido.
  • Le autorizzazioni e l'accesso ai contenuti specificati nell'URL di incorporamento non consentono all'utente che esegue l'incorporamento di visualizzare i contenuti incorporati.

Lo strumento di convalida degli URI di incorporamento nella pagina Incorpora della sezione Piattaforma del riquadro Amministrazione è uno strumento comunemente utilizzato per la risoluzione dei problemi relativi agli URL di incorporamento. Tuttavia, poiché lo strumento di convalida verifica solo che l'URL di incorporamento sia valido e possa completare il passaggio di autenticazione, puoi seguire i seguenti passaggi per la risoluzione dei problemi per verificare quale dei due problemi si verifica:

  1. Verifica che il percorso dei contenuti sia corretto.
  2. Verificare l'esistenza dei contenuti.
  3. Verifica le autorizzazioni dell'URL di incorporamento.
  4. Verifica l'accesso ai contenuti dell'utente.

1. Verifica che il percorso dei contenuti sia corretto

Utilizza questo metodo per determinare se il percorso dei contenuti è danneggiato. A seconda del metodo utilizzato per generare l'URL incorporato firmato, la posizione in cui viene specificato il percorso dei contenuti può variare. Nella maggior parte degli script è presente una sezione che definisce il percorso. Ad esempio, per incorporare una dashboard con il nome 123, devi utilizzare il percorso /embed/dashboards/123.

Utilizza gli esempi nella sezione URL di incorporamento della pagina della documentazione sull'incorporamento firmato per verificare che il percorso sia definito correttamente.

Se utilizzi l'endpoint API Create Signed Embed Url per generare l'URL, il parametro URL target per la stessa dashboard sarà simile al seguente:

https://instance_name.looker.com<:optional_port>/dashboards/123

Verifica che il percorso sia definito correttamente nello script di generazione dell'URL di incorporamento.

2. Verificare che i contenuti esistano

Dopo aver verificato che il percorso dei contenuti sia definito correttamente, chiedi a un amministratore di confermare che i contenuti esistono in quel percorso. Per impostazione predefinita, gli amministratori ignorano le restrizioni di accesso ai contenuti e alle autorizzazioni che potrebbero impedire, ad esempio, a uno sviluppatore di visualizzare i contenuti. Se un amministratore non riesce a vedere i contenuti in quel percorso, significa che non esistono in quel percorso.

Se l'amministratore riesce a vedere i contenuti in quel percorso, è probabile che all'utente che ha eseguito l'embed non siano state concesse le autorizzazioni o l'accesso ai contenuti corretti. Per determinare se è così, un amministratore può trovare l'utente nella pagina Utenti del riquadro Amministrazione e selezionare l'opzione Sudo in linea.

L'impersonificazione di un altro utente consente agli amministratori di vedere ciò che vede l'utente con le autorizzazioni, l'accesso ai contenuti e gli attributi utente assegnati. Se, durante l'esecuzione di sudo come utente di incorporamento, l'amministratore non riesce più a vedere i contenuti, dovrai eseguire ulteriori passaggi per risolvere i problemi relativi alle autorizzazioni e all'accesso ai contenuti dell'utente.

Dopo aver verificato che i contenuti esistono e che l'utente che li ha incorporati non può vederli, i passaggi successivi consistono nel controllare le autorizzazioni dell'URL di incorporamento e l'accesso ai contenuti dell'utente. Se queste autorizzazioni non sono configurate correttamente, l'utente potrebbe non riuscire a visualizzare i contenuti incorporati.

3. Verifica le autorizzazioni dell'URL di incorporamento

Questo passaggio successivo ti consente di determinare se le autorizzazioni specificate nell'URL di incorporamento non consentono all'utente che esegue l'incorporamento di visualizzare i contenuti incorporati. Le autorizzazioni in Looker sono additive e per consentire agli utenti di visualizzare i contenuti è necessaria una combinazione di molte autorizzazioni. Ad esempio, quando visualizza una dashboard definita dall'utente incorporata, un utente che esegue l'incorporamento deve disporre almeno delle autorizzazioni access_data, see_looks e see_user_dashboards . Per questo passaggio, verifica le autorizzazioni concesse agli utenti per l'inserimento in un'iframe nella definizione dell'URL e determina se mancano le dipendenze di qualsiasi autorizzazione. Quindi, controlla i ruoli assegnati all'utente nell'URL di incorporamento.

Il ruolo di un utente di incorporamento può essere creato in due modi: con le autorizzazioni e l'accesso all'insieme di modelli nell'URL di incorporamento firmato o con i gruppi a cui è assegnato un utente, se a questi gruppi sono associati ruoli. I ruoli creati in uno di questi due modi sono additivi, come i ruoli nell'ambiente Looker standard. Controlla il gruppo o i gruppi a cui è assegnato l'utente di incorporamento nelle specifiche dell'URL (e i ruoli ereditati del gruppo o dei gruppi).

Suggerimento: mantieni le autorizzazioni degli utenti di incorporamento e le informazioni di accesso al modello in un'unica posizione (l'assegnazione del ruolo di un gruppo di Looker o una specifica dell'URL di incorporamento firmato) per ridurre il numero di variabili aggiuntive da controllare durante la risoluzione dei problemi degli utenti. Ad esempio, se un'azienda utilizza i ruoli associati agli ID gruppo per assegnare le autorizzazioni utente di incorporamento, oltre a definire le autorizzazioni nello script firmato, le informazioni utente di incorporamento vengono archiviate sia in Looker sia nell'applicazione principale (tramite script URL firmato), anziché in una o nell'altra. A volte, gli amministratori di Looker che gestiscono i ruoli per gli utenti di incorporamento non hanno accesso allo script di generazione dell'URL di incorporamento nell'applicazione principale e non possono risolvere i problemi in modo completo. In questo caso, può essere utile passare un array vuoto per i parametri di autorizzazioni e modelli e controllare i ruoli esclusivamente tramite le assegnazioni ai gruppi.

Successivamente, verifica che i ruoli e le autorizzazioni specificati o ereditati siano assegnati correttamente all'utente individuandolo nella pagina Utenti del riquadro Amministrazione e selezionando Visualizza.

Tieni presente che gli utenti embed non hanno accesso a tutte le autorizzazioni di un normale utente di Looker. Consulta l'elenco completo delle autorizzazioni di incorporamento nella pagina della documentazione relativa all'incorporamento firmato.

4. Verificare l'accesso dell'utente ai contenuti

Dopo aver verificato che l'utente che esegue l'embed abbia le autorizzazioni e le assegnazioni dei ruoli corrette, devi controllare l'accesso ai contenuti dell'utente. Per farlo, verifica le seguenti informazioni:

  • In quale cartella vengono salvati i contenuti incorporati?
  • L'utente di incorporamento o il gruppo a cui è assegnato ha accesso (View or Manage, Edit) a questa cartella?

Il modo più rapido per verificare in quale cartella sono salvati i contenuti è visualizzarli nell'ambiente Looker normale e trovare il nome della cartella nell'intestazione dei contenuti. Dopo aver navigato fino alla cartella, seleziona l'icona a forma di ingranaggio nell'angolo in alto a destra in Gestisci accesso. Puoi determinare rapidamente se un problema di accesso ai contenuti sta causando l'errore 404 concedendo all'utente di incorporamento specifico View l'accesso alla cartella.

Se all'utente di incorporamento (o al gruppo a cui è stato assegnato con ID gruppo di incorporamento firmati) non è stato concesso l'accesso, non potrà visualizzare i contenuti salvati nella cartella. A questo punto, gli amministratori (o gli utenti non amministratori a cui sono state concesse autorizzazioni Manage Access, Edit per la cartella) possono apportare modifiche alle impostazioni di accesso ai contenuti per aggiungere l'utente o il gruppo di utenti che eseguiranno l'embed.

Un problema comune può verificarsi quando una dashboard è stata duplicata ed è presente in più cartelle. Ogni copia di una dashboard ha un ID univoco, quindi assicurati che la dashboard incorporata abbia lo stesso ID della dashboard a cui gli utenti si aspettano di accedere. Puoi verificare l'ID nell'URL della dashboard, nel seguente formato:

~/embed/dashboards/<specific_content_id>

Sistemi chiusi

I sistemi chiusi rappresentano un caso speciale per quanto riguarda il controllo dell'accesso ai contenuti. Un sistema chiuso isola i contenuti salvati per i singoli gruppi. L'implementazione di un sistema chiuso è spesso consigliata come best practice per ogni deployment Powered By Looker (analisi integrate). Il vantaggio principale di questo sistema è che rimuove completamente il gruppo Tutti gli utenti, imposta tutte le cartelle personali come private e impedisce agli utenti di vedere altri utenti o i loro contenuti nell'istanza (a meno che tutti gli utenti non condividano un gruppo). In questo modo viene creata un'istanza multi-tenant per più client in modo che non possano accedere ai contenuti o alle informazioni di altri utenti, a meno che non venga loro concesso esplicitamente l'accesso.

Verifica che l'utente di incorporamento interessato faccia parte dei gruppi Looker corretti; in caso contrario, non potrà visualizzare i contenuti della sua organizzazione.

Se vuoi attivare un sistema chiuso per la tua istanza, contatta un esperto delle vendite di Google Cloud o apri una richiesta di assistenza.