Solução de problemas de 404s de incorporação assinada, permissões e acesso ao conteúdo

Quando um usuário tenta acessar conteúdo incorporado, ele pode ver a seguinte mensagem de erro:

Não foi possível encontrar o painel solicitado. Ela não existe ou você não tem permissão de visualização.

Esta página aborda como solucionar esse erro e evitá-lo no futuro, economizando tempo e frustração de desenvolvedores e usuários.

Solução de problemas do erro

A mensagem de erro informa as próximas etapas a serem verificadas. Essencialmente, o URL de incorporação assinado criou e autenticou o usuário incorporado, mas uma das duas coisas deu errado:

  • O caminho para o conteúdo está corrompido.
  • As permissões e o acesso ao conteúdo especificados no URL incorporado não permitem que o usuário incorporado visualize o conteúdo.

O validador de URI incorporado na página Incorporar, na seção Plataforma do painel Administrador, é uma ferramenta muito usada para resolver problemas de URLs de incorporação. No entanto, como o validador apenas verifica se o URL de incorporação é válido e só consegue concluir a etapa de autenticação, siga estas etapas para confirmar qual dos dois problemas está ocorrendo:

  1. Verifique se o caminho do conteúdo está correto.
  2. Verifique se o conteúdo existe.
  3. Verifique as permissões do URL de incorporação.
  4. Verifique o acesso do usuário ao conteúdo.

1. Verificar se o caminho do conteúdo está correto

Use esse método para determinar se o caminho para o conteúdo está corrompido. Dependendo do método usado para gerar o URL de incorporação assinado, o local em que o caminho do conteúdo é especificado pode variar. Na maioria dos scripts, há uma seção que define o caminho. Por exemplo, para incorporar um painel com o nome 123, use o caminho /embed/dashboards/123.

Use os exemplos na seção URL de incorporação da página de documentação da Incorporação assinada para confirmar que o caminho está definido corretamente.

Se você estiver usando o endpoint de API Create Signed Embed Url para gerar o URL, o parâmetro URL de destino para o mesmo painel vai ficar assim:

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

Verifique se o caminho está definido corretamente no script de geração do URL de incorporação.

2. Verificar se o conteúdo existe

Depois de verificar se o caminho do conteúdo está definido corretamente, peça a um administrador para confirmar que o conteúdo existe nesse caminho. Por padrão, os administradores ignoram as restrições de permissões e acesso ao conteúdo que podem impedir um desenvolvedor de ver o conteúdo, por exemplo. Se um administrador não conseguir acessar o conteúdo no caminho, ele não existe.

Se o administrador conseguir acessar o conteúdo nesse caminho, é provável que as permissões ou o acesso correto não tenham sido concedidos ao usuário incorporado. Para determinar se esse é o caso, um administrador pode encontrar o usuário na página Usuários do painel Administrador e selecionar a opção Sudo in-line.

Fazer isso permite que os administradores vejam o que o usuário vê com as permissões, o acesso ao conteúdo e os atributos do usuário. Se, ao executar o sudo como usuário incorporado, o administrador não puder mais ver o conteúdo, você precisará tomar outras medidas para solucionar problemas de permissões e de acesso ao conteúdo do usuário.

Depois de confirmar que o conteúdo existe e que o usuário incorporado não consegue vê-lo, as próximas etapas são verificar as permissões do URL de incorporação e o acesso ao conteúdo do usuário. Se configurado incorretamente, pode impedir que o usuário veja o conteúdo incorporado.

3. Verificar as permissões do URL de incorporação

Esta próxima etapa permite determinar se as permissões especificadas no URL incorporado não permitem que o usuário incorporado visualize o conteúdo incorporado. As permissões no Looker são aditivas, e uma combinação de muitas permissões é necessária para que os usuários visualizem o conteúdo. Por exemplo, ao visualizar um painel incorporado definido pelo usuário, no mínimo um usuário incorporado precisa das permissões access_data, see_looks e see_user_dashboards para visualizá-lo. Para esta etapa, verifique novamente as permissões concedidas para incorporar usuários na definição do URL e determine se as dependências da permissão estão ausentes. Em seguida, verifique os papéis atribuídos ao usuário no URL de incorporação.

O papel de um usuário incorporado pode ser criado de duas maneiras: com as permissões e o acesso definido de modelo no URL de incorporação assinado ou com os grupos aos quais um usuário é atribuído, se esses grupos tiverem algum papel associado a eles. Os papéis criados de qualquer uma dessas duas maneiras são aditivos, da mesma forma que os papéis no ambiente normal do Looker. Verifique os grupos a que o usuário incorporado foi atribuído nas especificações do URL e nos papéis herdados do grupo ou dos grupos.

Dica:manter as permissões dos usuários e informações de acesso ao modelo incorporadas em um só lugar (seja uma atribuição de função de um grupo do Looker ou uma especificação de URL de incorporação assinado) reduz o número de variáveis extras que você precisa verificar ao resolver problemas do usuário. Por exemplo, se uma empresa aproveita os papéis associados a IDs de grupo ao atribuir permissões de incorporação de usuários, além de definir permissões no script assinado, as informações incorporadas do usuário são armazenadas no Looker e no aplicativo pai (via script de URL assinado), e não em um ou outro. Às vezes, os administradores do Looker que gerenciam papéis para usuários incorporados não têm acesso ao script de geração do URL de incorporação no aplicativo pai e não conseguem resolver completamente. Nesse caso, pode ser útil transmitir uma matriz vazia para os parâmetros de permissões e modelos e controlar os papéis exclusivamente por meio de atribuições de grupo.

Em seguida, para confirmar se as funções e permissões especificadas ou herdadas foram atribuídas corretamente a ele, procure o usuário na página Usuários no painel Administrador e selecione Visualizar.

É importante observar que os usuários de incorporação não têm acesso a todas as permissões que um usuário normal do Looker tem. Confira a lista completa de permissões de incorporação na página de documentação de Incorporação assinada.

4. Verificar o acesso do usuário ao conteúdo

Depois de confirmar que o usuário incorporado tem as permissões e atribuições de função corretas, é necessário verificar o acesso do usuário ao conteúdo. Para isso, verifique as seguintes informações:

  • Em que pasta o conteúdo incorporado é salvo?
  • O usuário incorporado ou o grupo ao qual ele foi atribuído tem acesso (View or Manage, Edit) a essa pasta?

A maneira mais rápida de confirmar em qual pasta o conteúdo está salvo é acessar o conteúdo no ambiente normal do Looker e encontrar o nome da pasta no cabeçalho. Depois de navegar até essa pasta, selecione o ícone de engrenagem no canto superior direito em Gerenciar acesso. É possível determinar rapidamente se um problema de acesso ao conteúdo está causando o erro 404 concedendo ao usuário incorporado específico acesso View à pasta.

Se o usuário incorporado (ou o grupo a que foi atribuído com IDs do grupo de incorporação assinado) não tiver recebido acesso, ele não poderá ver o conteúdo que foi salvo na pasta. Os administradores (ou não administradores que receberam permissões Manage Access, Edit para a pasta) podem fazer alterações nas configurações de acesso ao conteúdo para adicionar o usuário ou o grupo de usuários incorporado.

Uma complicação comum pode ocorrer quando um dashboard é duplicado e existe em várias pastas. Cada cópia de um dashboard tem um ID exclusivo. Portanto, verifique se o dashboard que está sendo incorporado tem o mesmo ID que o dashboard que os usuários esperam acessar. É possível verificar o ID no URL do dashboard, no seguinte formato:

~/embed/dashboards/<specific_content_id>

Sistemas fechados

Os sistemas fechados são um caso especial quando se trata de verificar o acesso ao conteúdo. Um sistema fechado coloca em silos o conteúdo de grupos individuais. A implementação de um sistema fechado geralmente é uma prática recomendada para todas as implantações do Powered By Looker (análise incorporada). O principal benefício desse sistema é que ele remove completamente o grupo Todos os usuários, define todas as pastas pessoais como particulares e impede que os usuários vejam outros usuários ou o conteúdo deles na instância (a menos que todos os usuários compartilhem um grupo). Isso cria efetivamente uma instância multilocatária para vários clientes, de modo que eles não possam acessar o conteúdo ou as informações de outros usuários, a menos que tenham acesso explícito.

Confirme se o usuário incorporado afetado faz parte dos grupos corretos do Looker. Caso contrário, ele não poderá visualizar o conteúdo da organização.

Se você quiser ativar um sistema fechado para sua instância, entre em contato com um especialista em vendas do Google Cloud ou abra uma solicitação de suporte.