Como administrador do Tableau Server, você pode registrar um servidor de autorização externo (EAS) para estabelecer uma relação de confiança entre o TTableau Server e o EAS usando o protocolo padrão OAuth 2.0. Ao estabelecer uma relação de confiança, você pode fornecer aos usuários uma experiência de logon único (SSO) para o conteúdo do Tableau inserido em seus aplicativos personalizados por meio do provedor de identidade (IdP) que você já configurou para o Tableau Server. Quando o conteúdo inserido do Tableau é carregado em seu aplicativo personalizado, um fluxo OAuth padrão é usado. Após os usuários fazerem logon com sucesso no IdP, eles entram automaticamente no Tableau Server. Siga as etapas descritas abaixo para registrar seu EAS com o Tableau Server.

Importante:

  • alguns dos procedimentos neste tópico requerem configuração com software e serviços de terceiros. Fizemos o possível para verificar os procedimentos para habilitar o recurso EAS no Tableau Server. No entanto, software e serviços de terceiros podem mudar ou sua organização pode ser diferente. Se você tiver problemas, consulte a documentação de terceiros para obter detalhes e suporte de configuração confiável.
  • Para habilitar a incorporação por meio do EAS, o Tableau Server deve ser configurado para usar SSL para tráfego HTTP.

Observação: se o aplicativo conectado estiver sendo executado em um contêiner, como uma instância do EC2, os relógios do contêiner e do host devem ser definidos como UTC para que o token de sessão seja válido. Se um dos relógios usar um padrão diferente, o aplicativo conectado não será confiável.

Etapa 1: antes de começar

Para registrar um EAS com o Tableau Server , você deve ter um EAS já configurado. Além disso, o EAS deve enviar um token da Web JSON (JWT) válido que contenha as declarações registradas e o cabeçalho listado na tabela abaixo.

Reivindicação Descrição ou valor obrigatório
"kid" (ID da chave) Obrigatório (no cabeçalho). Um identificador de chave exclusivo do provedor de identidade.
"iss" (Emissor) Obrigatório (no cabeçalho ou como uma declaração). URI de emissor exclusivo que identifica o aplicativo de conexão confiável e a chave de assinatura.
"alg "(Algoritmo) Obrigatório (no cabeçalho). Algoritmo de assinatura JWT. Os nomes de algoritmos compatíveis estão listados na página JWSAlgorithm de classe(O link abre em nova janela) na documentação javadoc.io. O algoritmo de assinatura pode ser configurado usando o comando vizportal.oauth.external_authorization_server.blocklisted_jws_algorithms.
"sub" (Assunto) Nome de usuário do usuário autenticado do Tableau Server.
"aud " (Público) O valor deve ser: "tableau "
"exp" (Tempo de expiração) Um JWT válido não deve ter expirado. O tempo de expiração (em UTC) do JWT deve estar dentro do período de validade máximo configurado O período máximo de validade pode ser configurado usando o comando vizportal.oauth.external_authorization_server.max_expiration_period_in_minutes.
"jti" (JWT ID) A declaração ID do JWT fornece um identificador exclusivo para o JWT e diferencia maiúsculas de minúsculas.
"scp" (Escopo)

Os valores com suporte incluem:

"tableau:views:embed "

"tableau:metrics:embed "

Observações:

  • Os valores devem ser passados como um tipo de lista.
  • Para tableau:views:embed, o escopo respeita as permissões dos usuários já configuradas no Tableau Server e permite que eles interajam com as ferramentas na exibição inserida, se disponível na exibição original.
  • Recomendamos que o código de inserção exclua o parâmetro da barra de ferramentas. Para obter mais informações, consulte Problemas conhecidos abaixo.

Observação: as reivindicações JWT acima estão documentadas na seção Nomes de reivindicações registradas(O link abre em nova janela) na documentação distribuída pela organização Internet Engineering Task Force (IETF).

Etapa 2: registrar o EAS com o Tableau Server

Ao registrar o EAS com o Tableau Server, você estabelece uma relação de confiança entre o EAS e o Tableau Server . Isso significa que, quando os usuários acessam o conteúdo do Tableau inserido no aplicativo personalizado, eles são redirecionados para se autenticar com o IdP. O EAS gera o token de autenticação, que é passado ao Tableau Server para verificação. Depois que a relação de confiança é verificada, o acesso ao conteúdo inserido é concedido aos usuários ou

Depois de registrar o EAS, a relação de confiança estabelecida se aplica a todos os sites no Tableau Server.

Observação: alguns EAS são compatíves com a opção de exibir uma caixa de diálogo de consentimento que solicita a aprovação dos usuários para o aplicativo acessar o conteúdo do Tableau. Para garantir a melhor experiência para os usuários, recomendamos que você configure o EAS para consentir automaticamente a solicitação do aplicativo personalizado em nome dos usuários.

  1. Como administrador do Tableau Server, faça logon na interface do usuário na Web do Tableau Server. Para obter mais informações, consulte Fazer logon na interface do usuário na Web do Tableau Services Manager.

  2. Navegue até Identidade e acesso do usuário > Servidor de autorização e faça o seguinte:
    1. Marque a caixa de seleção Habilitar acesso OAuth para conteúdo incorporado .

    2. Na caixa de texto URL do emissor, cole a URL do emissor do EAS.

    3. Clique no botão Salvar alterações pendentes.

  3. Quando terminar, faça o seguinte:
    1. No canto superior direito da página, clique no botão Alterações pendentes.

    2. No canto inferior direito da página, clique no botão Aplicar alterações e reiniciar para interromper e reiniciar o Tableau Server.

  1. Abra um prompt de comando como administrador no nó inicial (onde o TSM está instalado) no cluster.
  2. Execute os seguintes comandos:

    tsm configuration set -k vizportal.oauth.external_authorization.enabled -v true
    tsm configuration set -k vizportal.oauth.external_authorization_server.issuer -v "<issuer_url_of_EAS>"
    tsm restart

Etapa 3: próximas etapas de inserção

Depois de configurar o Tableau Server EAS, você deve adicionar o código inserido ao aplicativo personalizado. Certifique-se de incluir o JWT válido gerado por seu EAS, conforme descrito na Etapa 1, no componente da Web chamado pelo aplicativo personalizado.

Para obter mais informações sobre a inserção de conteúdo do Tableau, consulte um ou ambos os itens a seguir:

Observação: para que os usuários se autentiquem com êxito, ao acessar o conteúdo incorporado, os navegadores devem ser configurados para permitir cookies de terceiros.

Problemas conhecidos

Existem alguns problemas conhecidos no uso de aplicativos conectados que serão abordados em uma versão futura.

  • Recursos da barra de ferramentas: quando o conteúdo incorporado tem o parâmetro da barra de ferramentas definido, nem todos os recursos da barra de ferramentas funcionarão. Para contornar esse problema, recomendamos que você oculte o parâmetro da barra de ferramentas como no exemplo abaixo.

    <tableau-viz id='tab-viz' src='https://<your_server>/t/<your_site>/...'
    	toolbar='hidden'>
    </tableau-viz>

  • Fontes de dados publicadas: as fontes de dados publicadas definidas como Solicitar usuário, para obter credenciais do banco de dados, não serão exibidas. Para contornar esse problema, se possível, recomendamos que os proprietários da fonte de dados incorporem suas credenciais de banco de dados.

Solução de problemas

Quando o conteúdo inserido não consegue ser exibido em seu aplicativo personalizado, você pode usar as ferramentas de desenvolvedor de um navegador, para inspecionar e identificar códigos de erro que podem estar associados com o recurso EAS hablitado no Tableau Server .

Consulte a tabela abaixo para revisar a descrição do código de erro e a resolução potencial.

Código de erro Resumo Descrição Resolução ou explicação potencial
5 SYSTEM_USER_NOT_FOUND Não foi possível encontrar o usuário do Tableau
Para resolver esse problema, verifique se o valor da declaração 'sub' (Assunto) no JWT é "nome de usuário" para o Tableau Server autenticado. Este valor diferencia maiúsculas de minúsculas.
16 LOGIN_FAILED Falha no logon Esse erro normalmente é causado por um dos seguintes problemas de reivindicação no JWT:
10081 COULD_NOT_RETRIEVE_IDP_METADATA Endpoint de metadados EAS ausente Para resolver esse problema, verifique se o EAS está configurado corretamente e se o emissor correto está sendo chamado.
10082 AUTHORIZATION_SERVER_ISSUER_NOT_SPECIFIED Emissor ausente Para resolver esse problema, verifique se o emissor correto está sendo chamado. Para alterar a URL do emissor, você pode usar o comando vizportal.oauth.external_authorization_server.issuer
10083 BAD_JWT O cabeçalho JWT contém problemas Esse erro normalmente é causado por um dos seguintes problemas com o cabeçalho JWT:
  • As declarações de 'secret key' (Kid) ou 'clientId' (Emissor) estão faltando no cabeçalho JWT. Para resolver esse problema, certifique-se de que essas informações estejam incluídas.
  • O JWT não está assinado ou criptografado. O Tableau não oferece suporte a JWTs não assinados ou criptografados.
10084 JWT_PARSE_ERROR JWT contém problemas

Para resolver o problema, verifique o seguinte:

  • O valor 'aud' (Público) referenciado no JWT usa o valor "tableau". Este valor diferencia maiúsculas de minúsculas.
  • O 'aud' (Público), 'sub' (Assunto) e 'jti' (ID do JWT) estão incluídos no JWT.
10085 COULD_NOT_FETCH_JWT_KEYS O JWT não conseguiu encontrar as chaves

Não foi possível encontrar o segredo.

Para resolver esse problema, verifique se o emissor correto está sendo chamado. Para alterar a URL do emissor, você pode usar o comando vizportal.oauth.external_authorization_server.issuer

10087 BLOCKLISTED_JWS_ALGORITHM_USED_TO_SIGN Problema com o algoritmo de assinatura JWT

Para resolver o problema, você pode remover o algoritmo de assinatura. Para obter mais informações, consulte vizportal.oauth.external_authorization_server.blocklisted_jws_algorithms.

10088 RSA_KEY_SIZE_INVALID Problema com requisitos de assinatura JWT Para resolver esse problema, verifique com o EAS ou IdP se o JWT está sendo assinado com um tamanho de chave RSA de 2048.
10091 JTI_ALREADY_USED JWT exclusivo necessário

O JWT já foi usado no processo de autenticação. Para resolver esse problema, o EAS ou IdP deve gerar um novo JWT.

Agradecemos seu feedback!