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.

In questa pagina viene spiegato come risolvere questo errore ed evitarlo in futuro, facendo risparmiare tempo e frustrazione a sviluppatori e utenti.

Risolvere l'errore

Il messaggio di errore 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 verso i contenuti non funziona.
  • 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 dell'URI incorporato disponibile nella pagina Incorpora nella sezione Piattaforma del riquadro Amministrazione è uno strumento comunemente utilizzato per risolvere i problemi relativi agli URL di incorporamento. Tuttavia, poiché lo strumento di convalida verifica solo che l'URL di incorporamento sia valido e possa completare la fase di autenticazione, puoi seguire questi passaggi di risoluzione dei problemi per confermare quale dei due problemi si sta verificando:

  1. Verifica che il percorso dei contenuti sia corretto.
  2. Verifica che i contenuti esistano.
  3. Verifica le autorizzazioni dell'URL per l'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 ai contenuti non funziona. A seconda del metodo utilizzato per generare l'URL di incorporamento 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, utilizzerai il percorso /embed/dashboards/123.

Utilizza gli esempi nella sezione URL per l'incorporamento della pagina della documentazione 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 incorporato.

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 e autorizzazioni ai contenuti che potrebbero impedire, ad esempio, a uno sviluppatore di vederli. Se un amministratore non riesce a vedere i contenuti in quel percorso, significa che non esistono in quel percorso.

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

Il sudoing di un altro utente consente agli amministratori di vedere ciò che l'utente vede in base alle autorizzazioni, all'accesso ai contenuti e agli attributi utente che ha fornito. 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 per l'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, controlla le autorizzazioni concesse all'incorporamento degli utenti nella definizione dell'URL e determina se mancano le dependencies delle autorizzazioni. 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, allo stesso modo dei ruoli nel normale ambiente Looker. Controlla il gruppo o i gruppi a cui è assegnato l'utente incorporato nelle specifiche dell'URL (e i ruoli ereditati dal gruppo o dai gruppi).

Suggerimento: mantieni le autorizzazioni degli utenti di incorporamento e le informazioni di accesso al modello in un unico posto (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 sfrutta i ruoli associati agli ID gruppo quando assegnando autorizzazioni utente incorporate, oltre a definire le autorizzazioni nel script firmato, le informazioni utente incorporate vengono archiviate sia in Looker che nell'elemento padre dell'applicazione (tramite script URL firmato), piuttosto che in una o nell'altra applicazione. 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 completamente i problemi. In questo caso, può essere utile passare un array vuoto per le autorizzazioni e modella i parametri e controllare i ruoli esclusivamente attraverso le assegnazioni di gruppo.

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

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

4. Verificare l'accesso ai contenuti dell'utente

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 sono salvati i contenuti incorporati?
  • L'utente di incorporamento o il gruppo a cui è assegnato l'utente di incorporamento ha accesso (View or Manage, Edit) a questa cartella?

Il modo più rapido per verificare in quale cartella vengono salvati i contenuti è visualizzarli nel normale ambiente Looker e trovare il nome della cartella nell'intestazione dei contenuti. Dopo aver navigato alla cartella, seleziona l'icona a forma di ingranaggio nell'angolo in alto a destra sotto 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 sono un caso speciale per controllare l'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 si crea un'istanza multi-tenant per più client in modo che non possa accedere alle istanze di altri utenti contenuti o informazioni, a meno che non venga 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.