Gerenciar extensões de painel no Tableau Server

As extensões de painel são aplicativos da Web executados em áreas personalizadas do painel e podem interagir com o restante do painel usando a API de extensões do Tableau(Link opens in a new window). As extensões de painel dão aos usuários a capacidade de interagir com dados de outros aplicativos diretamente do Tableau.

Observação: é necessário ser um administrador de servidor para habilitar as extensões de painel no servidor ou para bloquear extensões específicas de serem executadas. É necessário ser um administrador de servidor para adicionar extensões à lista segura e controlar o tipo de dados que as extensões podem acessar. Além disso, o administrador de servidor pode configurar se os usuários no site verão prompts ao adicionar ou exibir extensões em um painel. Para obter informações sobre a segurança de extensão e as opções de implantação recomendadas, consulte Segurança de extensão - Práticas recomendadas para implantação.

Para obter informações sobre o uso de extensões de painel no Tableau, consulte Usar extensões de painel(Link opens in a new window).

Antes de executar as extensões no Tableau Server

O Tableau oferece suporte para dois tipos de extensões de painel: extensões habilitadas para rede, que podem ser hospedadas em servidores Web localizados dentro ou fora da rede local e têm acesso total à Web, e extensões de área restrita, que são executadas em um ambiente protegido sem acesso a qualquer outro recurso ou serviço na Web.

As extensões de área restrita são hospedadas pelo Tableau e empregam padrões W3C, como a Política de segurança de conteúdo (CSP), para garantir que a extensão não possa fazer chamadas de rede fora do Tableau Server de hospedagem. Uma extensão de área restrita pode consultar dados no painel, mas não pode enviar esses dados para fora da área restrita. As extensões de área restrita são compatíveis com o Tableau 2019.4 e posteriores. Por padrão, as extensões de área restrita podem ser executadas se as extensões estiverem ativadas para o site.

As extensões de painel habilitadas para rede são aplicativos Web e podem ser executadas em qualquer computador configurada como servidor Web. Isso inclui computadores locais, computadores em seu domínio e sites de terceiros. Como as extensões habilitadas para rede podem ser hospedadas em sites de terceiros e ter acesso aos dados no painel, é necessário permitir as extensões confiáveis. Consulte Testar a segurança das extensões habilitadas para rede.

Por segurança, é possível usar as configurações das extensões de painel no Tableau Server para controlar e limitar aquelas que podem ser executadas.

  • Por padrão, as extensões de área restrita podem ser executadas se as extensões estiverem ativadas para o site.

  • Por padrão, as extensões habilitadas para rede não serão permitidas, a menos que tenham sido explicitamente adicionadas à lista de permissões.

  • Por padrão, apenas as extensões que usam o protocolo HTTPS são permitidas, o que garante um canal codificado para envio e recebimento de dados (a única exceção é para http://localhost).

  • Se a extensão habilitada para rede exigir dados completos (acesso aos dados subjacentes), ela não poderá ser executada no Tableau Server, a não ser que você a adicione à lista de permissões e conceda acesso aos dados completos.

Controlar as extensões de painel e o acesso aos dados

Os administradores de servidor podem controlar uma configuração global para permitir extensões em todos os sites do servidor. Os administradores do servidor também podem adicionar extensões, incluindo extensões de área restrita, à lista de bloqueio global para impedir que sejam executadas (consulte Bloquear extensões específicas). Por padrão, todas as extensões de área restrita são ativadas no servidor, mas os administradores de site podem optar por substituir o padrão e proibir extensões de área restrita para o site.

Alterar a configuração global que habilita as extensões no servidor

  1. Para alterar essa configuração do servidor, vá até Gerenciar todos os sites > Configurações > Extensões. Se o servidor tiver apenas um site único, os controles globais aparecerão na página de configurações do site.

  2. Em Extensões de painel, marque ou desmarque a caixa de seleção Permitir que usuários executem extensões neste servidor . Se essa opção não estiver selecionada, as extensões não terão permissão para serem executadas. Essa configuração global substitui as configurações Permitir que usuários executem extensões neste site para cada site.

Alterar as configurações padrão de um site

Os administradores do servidor podem controlar se as extensões são ativadas para o site e se as extensões de área restrita são permitidas no site. Ou seja, se as extensões forem ativadas no servidor, as configurações padrão do site permitem que extensões de área restrita sejam executadas no site, contanto que a extensão não seja bloqueada especificamente no servidor. As configurações padrão do site permitem que extensões habilitadas para rede sejam executadas se constarem na lista de permissões do site. Extensões individuais de Sandbox também podem ser adicionadas à lista de permissões, se as extensões de Sandbox não forem permitidas por padrão.

  1. Para alterar essas configurações de site, vá até Configurações > Extensões.

  2. Em Extensões de painel, configure estas opções:

    • Permitir que usuários executem extensões neste site
    • Permitir que extensões de área restrita sejam executadas, a menos que sejam bloqueadas especificamente por um administrador do servidor

Os administradores de servidor podem adicionar ou remover extensões habilitadas para rede e de Sandbox da lista de permissões de um site. Ao adicionar uma extensão à lista segura, é possível controlar a permissão de acesso os dados completos. Consulte Adicionar extensões à lista segura e configurar prompts de usuário

Identificar uma extensão

Como um aplicativo da Web, uma extensão está associada a uma URL. Use essa URL para testar e verificar a extensão. Além disso, use a URL para adicionar a extensão à lista segura e permitir acesso aos dados completos ou à lista de bloqueio para negar acesso.

Se você tiver um arquivo de manifesto da extensão (.trex), um arquivo XML que define as propriedades da extensão, você poderá encontrar a URL do elemento <source-location>.

                    
<source-location>
    <url>https://www.example.com/myExtension.html</url>
</source-location>

				
                

Se você tiver adicionado a extensão ao painel, você poderá encontrar a URL nas propriedades da extensão. No menu Mais opções, clique em Sobre.

A caixa de diálogo Sobre lista o nome e autor da extensão, o site do autor e a URL da extensão.

Adicionar extensões à lista segura e configurar prompts de usuário

Para garantir que os usuários possam usar extensões habilitadas para rede confiáveis, você pode adicioná-las à lista de permissões do site. Além disso, você também pode adicionar extensões de sandbox à lista de permissões, se as extensões de sandbox não forem habilitadas por padrão no site.

Na lista segura, você pode conceder ou não acesso da extensão aos dados completos. Por padrão, ao adicionar uma extensão à lista de permissões, a extensão só tem acesso aos dados resumidos (ou agregados). Além disso, é possível controlar se os usuários verão um prompt pedindo que permitam o acesso da extensão aos dados. Você pode querer adicionar uma extensão à lista segura (uma extensão de sandbox, por exemplo) apenas para que possa configurar se os usuários verão ou não o prompts. Ao ocultar o prompt de usuários, a extensão poderá ser executada imediatamente.

  1. Vá até Configurações > Extensões.

  2. Em Habilitar extensões específicas, adicione a URL da extensão. Consulte Identificar uma extensão.

  3. Escolha Permitir ou Negar à extensão Acesso aos dados completos.

    O acesso aos dados completos é o acesso aos dados subjacentes na exibição, não apenas aos dados de resumo ou agregados. O acesso aos dados completos também inclui informações sobre as fontes de dados, como os nomes das conexões, campos e tabelas. Na maioria dos casos, se tiver adicionando uma extensão à lista segura para que possa ser executada, você também deverá permitir que ela tenha acesso aos dados completos, se necessário. Antes de adicionar extensões à lista segura, certifique-se de Testar a segurança das extensões habilitadas para rede.

  4. Escolha Mostrar ou Ocultar os Prompts do usuário.

    Os usuários veem os prompts por padrão ao adicionar uma extensão a um painel ou ao interagir com uma exibição que possui uma extensão. O prompt apresenta detalhes da extensão aos usuários, além de se ela possui acesso aos dados completos. O prompt dá aos usuários a capacidade de permitir ou negar que a extensão seja executada. Você pode ocultar esse prompt de usuários, permitindo que a extensão seja executada imediatamente.

Bloquear extensões específicas

A política global padrão permite todas as extensões de área restrita e extensões habilitadas para rede que constam na lista de permissões de um site. Os administradores de servidor podem impedir que extensões específicas sejam executadas ao adicioná-las à lista de bloqueio do servidor. Se uma extensão estiver na lista de bloqueio global, ela substituirá qualquer configuração da extensão na lista segura de um site.

  1. Para adicionar uma extensão à lista de bloqueio do servidor, vá até Gerenciar todos os sites > Configurações > Extensões. Em instalações de site único, a lista de bloqueio está na página de configuração Extensões do site.

  2. Em Bloquear extensões específicas, adicione a URL da extensão. Consulte Identificar uma extensão.

Testar a segurança das extensões habilitadas para rede

As extensões de painel são aplicativos da Web que interagem com dados no Tableau usando a API de extensões. As extensões de painel habilitadas para rede podem ser hospedadas nos servidores Web dentro ou fora do domínio, fazer chamadas de rede e ter acesso a recursos na Internet. Por causa disso e das possíveis vulnerabilidades, como script entre sites, você deve testar e verificar extensões de painel habilitadas para rede antes que os usuários as apliquem nos painéis do Tableau Desktop e antes que você permita extensões no Tableau Server.

Examinar os arquivos de origem

As extensões de painel são aplicativos da Web e incluem vários arquivos HTML, CSS e JavaScript, além de um arquivo de manifesto XML (*.trex) que define as propriedades na extensão. Em muitos casos, o código de uma extensão de painel está disponível publicamente no GitHub e pode ser examinado ou baixado lá. No arquivo de manifesto (*.trex), você pode encontrar o local de origem ou URL que indica onde a extensão está hospedada, o nome do autor, além do site ou empresa do autor para entrar em contato e obter suporte. O elemento <source-location> especifica a URL, o elemento <author> especifica o nome da empresa e o site a ser contatado para suporte (website="SUPPORT_URL"). O site é o link Obter suporte que o usuário vê na caixa de diálogo Sobre da extensão.

Muitas extensões de painel fazem referência a bibliotecas JavaScript externas, como a biblioteca jQuery ou as bibliotecas de API para terceiros. Valide que a URL das bibliotecas externas aponta para um local confiável da biblioteca. Por exemplo, se o conector fizer referência à biblioteca jQuery, certifique-se de que ela esteja em um site que é considerado padrão e seguro.

Todas as extensões devem usar o protocolo HTTPS (https://) para hospedar suas extensões. Examine os arquivos de origem da extensão para garantir que as referências a bibliotecas externas que também estejam usando o HTTPS ou estejam hospedadas no mesmo site da extensão. A única exceção à solicitação do HTTPS é se a extensão estiver hospedada no mesmo computador com o Tableau (http://localhost).

Na medida do possível, tente entender o que o código está fazendo. Em particular, tente entender como o código está criando solicitações para os sites externos e quais informações são enviadas na solicitação. Verifique se algum dado fornecido pelo usuário está validado a impedir o script entre sites.

Entenda o acesso aos dados

A API de extensões do Tableau fornece métodos que podem acessar os nomes de tabelas ativas e campos na fonte de dados, as descrições de resumo das conexões da fonte de dados e os dados subjacentes em um painel. Se uma extensão utiliza algum desses métodos em uma exibição, o desenvolvedor da extensão deve declarar que a extensão requer permissão a dados completos no arquivo de manifesto (.trex). A declaração se parece com o seguinte.

                    
<permissions>
   <permission>full data</permission>
</permissions>
                

O Tableau usa essa declaração para fornecer um prompt aos usuário no momento da execução, que oferece a opção de permitir ou não o acesso. Se a extensão usar algum desses quarto métodos sem declarar uma permissão de dados completos no arquivo de manifesto, ela carregará, mas as chamadas do método falharão.

Para obter informações sobre como uma extensão acessa os dados a partir do painel e dos métodos JavaScript usados, consulte Acesso aos dados subjacentes(Link opens in a new window) na API de extensões do Tableau. Para entender melhor o que a extensão pode obter sobre os dados, é possível usar a extensão de painel de amostra DataSources(Link opens in a new window) (disponível no Repositório GitHub da API de extensões do Tableau(Link opens in a new window)) para ver quais dados são expostos quando o método getDataSourcesAsync() é chamado.

Testar a extensão em um ambiente isolado

Se possível, teste a extensão de painel em um ambiente que esteja isolado do seu ambiente de produção e de computadores de usuário. Por exemplo, adicione uma extensão de painel a uma lista segura em um computador de teste ou máquina virtual que esteja executando uma versão do Tableau Server que não é usada para a produção.

Monitorar o tráfego criado pela extensão de painel

Ao testar uma extensão de painel habilitada para rede, use uma ferramenta como Fiddler(Link opens in a new window), Charles HTTP proxy(Link opens in a new window) ou Wireshark(Link opens in a new window) para examinar as solicitações e respostas feitas pela extensão. Certifique-se de que entendeu qual conteúdo a extensão está exigindo. Examine o tráfego para garantir que a extensão não esteja lendo os dados ou o código que não são diretamente relacionados à finalidade da extensão.

Agradecemos seu feedback! Ocorreu um erro ao enviar o feedback. Tente novamente ou envie-nos uma mensagem.