Política de segurança de conteúdo

O Tableau Server oferece suporte ao padrão da Política de segurança de conteúdo (CSP). A CSP tem como objetivo ser uma camada adicional de segurança contra script entre sites e outros ataques de Web mal intencionados. A CSP foi implementada como um cabeçalho de resposta HTTP que permite especificas de onde recursos externos, como scripts e imagens, podem ser carregados com segurança.

Consulte o site do Mozilla para obter mais informações sobre a CSP.

Observação: se o Tableau Server estiver configurado para usar o SAML para autenticação de usuário, não habilite a CSP. A execução da CSP no Tableau Server com SAML não é compatível.

Configurar e habilitar a CSP

A CSP foi configurada e habilitada usando o comando Opções do tsm configuration set. Se estiver executando o Tableau Server em uma implantação distribuída, execute estes comandos no nó inicial no cluster. A configuração será aplicada no cluster após executar o tsm pending-changes apply.

Etapa 1: definir diretivas padrão

O Tableau Server inclui o conjunto de diretivas padrão na tabela abaixo.

Para definir uma diretiva, use a seguintes sintaxe do tsm:

tsm configuration set -k content_security_policy.directive.<directive_name> -v <value>

Por exemplo, para definir a diretiva connect_src, execute o comando a seguir:

tsm configuration set -k content_security_policy.directive.connect_src -v 'http://example.com'

Opção Valor padrão

Descrição

content_security_policy.directive.default_src ‘none’

Serve como um fallback para as diretivas de recuperação.

Valores válidos para default_src.

content_security_policy.directive.connect_src *

Restringe as URLs que podem ser carregadas usando interfaces de script.

Valores válidos para connect_src.

content_security_policy.directive.script_src *

Especifica fontes válidas para o JavaScrip.

Valores válidos para script_src.

content_security_policy.directive.style_src * ‘unsafe-inline’

Especifica fontes válidas para planilhas de estilo.

Valores válidos para style_src.

content_security_policy.directive.img_src * data:

Especifica fontes válidas de imagens e favicons.

Valores válidos para img_src.

content_security_policy.directive.font_src * data:

Especifica fontes válidas para fontes carregadas usando @font-face.

Valores válidos para font_src.

content_security_policy.directive.frame_src * data:

Especifica fontes válidas para contextos de navegação aninhados em carregamento usando elementos como <frame> e <iframe>.

Valores válidos para frame_src.

content_security_policy.directive.object_src data:

Especifica fontes válidas para os elementos <object>, <embed> e <applet>.

Valores válidos para object_src.

content_security_policy.directive.report_uri /vizql/csp-report

Instrui o agente de usuário a relatar tentativas de violação à CSP. Esses relatórios de violação consistem de documentos JSON enviados por meio de uma solicitação do HTTP POST ao URI especificado.

Valores válidos para report_uri.

Etapa 2: acrescentar diretivas adicionais (opcional)

As diretivas padrão incluídas com o Tableau Server são um subconjunto de diretivas sustentadas pela CSP.

Para obter uma lista completa de diretivas CSP suportadas, vá até https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Headers/Content-Security-Policy.

Você pode adicionar diretivas ao conjunto padrão existente ao adicionar a nova diretiva no namespace content_security_policy.directive. Note que é necessário incluir o parâmetro --force-keys ao adicionar novas diretivas. A sintaxe é a seguinte:

tsm configuration set -k content_security_policy.directive.<new_directive_name> -v <value> --force-keys

Por exemplo, para adicionar a diretiva worker-src, execute o comando a seguir:

tsm configuration set -k content_security_policy.directive.worker-src -v ' http://*.example.com' --force-keys

Etapa 3: especificar diretivas apenas de relatórios (opcional)

É possível configurar a CPS para relatar algumas diretivas e impor outras. Ao definir content_security_policy.enforce_enabled como true, todas as diretivas são impostas (mesmo se content_security_policy.report_only_enable também estiver definido como true).

Para especificar diretivas como "apenas relatório" e não impostas, adicione-as ao namespace report_only_directive. Note que é necessário incluir o parâmetro --force-keys ao adicionar novas diretivas. A sintaxe é a seguinte:

tsm configuration set -k content_security_policy.report_only_directive.<directive_name> -v <value> --force-keys

Por exemplo, para relatar somente a diretiva script_src , execute o comando a seguir:

tsm configuration set -k content_security_policy.report_only_directive.script_src -v ' http://*.example.com' --force-keys

Etapa 44: habilitar a CSP no Tableau Server

Depois de configurar as diretivas, habilite a CSP no Tableau Server.

As opções a seguir são usadas para habilitar o modo imposição ou somente relatar nas diretivas definidas

Opção Valor padrão

Descrição

content_security_policy.enforce_enabled false

Adiciona um cabeçalho CSP em todas as solicitações, para que a violação seja imposta pelo navegador.

content_security_policy.report_only_enabled true Adiciona um cabeçalho CSP em todas as solicitações, para que as violações sejam gravadas nos logs vizql-client, mas não sejam impostas pelo navegador.

Para habilitar a imposição das diretivas CSP especificadas, execute o seguinte comando

tsm configuration set -k content_security_policy.enforce_enabled -v true

Etapa 5: executar o comando tsm pending-changes apply

Ao concluir a configuração da CSP, execute tsm pending-changes apply.

O comando pending-changes apply exibe um prompt para informar que reiniciará o Tableau Server se o servidor estiver em execução. O prompt será exibido mesmo que o servidor esteja parado, porém, nesse caso, não há reinicialização. Cancele o prompt com a opção --ignore-prompt, mas isso não altera o comportamento de reinicialização. Para obter mais informações, consulte tsm pending-changes apply.

Exibir relatório CSP

Para exibir as violações de CSP de uma determinada visualização em um navegador que inclui ferramentas de desenvolvedor. Este exemplo usa o navegador Chrome.

  1. Carregue uma visualização teste com as violações que estão hospedadas na implantação do Tableau Server onde você configurou a CSP.

  2. Insira CTRL+Shift+I para abrir as ferramentas do desenvolvedor no Chrome.

  3. Clique na guia Rede.

  4. No campo Filtro, insira csp-report, e clique em Localizar todos.

    • Se não houver violações, a pesquisa não retornará relatórios da CSP.

    • Se houver violações, clique na guia Cabeçalhos no painel de resultados e role até a parte inferior para exibir a Carga de solicitação.

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