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(O link abre em nova janela) para obter mais informações sobre a CSP.

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 "* unsafe-inline"

OpçãoValor 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(O link abre em nova janela).

content_security_policy.directive.connect_src*

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

Valores válidos para connect_src(O link abre em nova janela).

content_security_policy.directive.script_src*

Especifica fontes válidas para o JavaScrip.

Valores válidos para script_src(O link abre em nova janela).

content_security_policy.directive.style_src* ‘unsafe-inline’

Especifica fontes válidas para planilhas de estilo.

Valores válidos para style_src(O link abre em nova janela).

content_security_policy.directive.img_src* data:

Especifica fontes válidas de imagens e favicons.

Valores válidos para img_src(O link abre em nova janela).

content_security_policy.directive.font_src* data:

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

Valores válidos para font_src(O link abre em nova janela).

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(O link abre em nova janela).

content_security_policy.directive.object_srcdata:

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

Valores válidos para object_src(O link abre em nova janela).

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(O link abre em nova janela).

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(O link abre em nova janela).

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(O link abre em nova janela), execute o comando a seguir:

tsm configuration set -k content_security_policy.directive.worker-src -v "none" --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çãoValor padrão

Descrição

content_security_policy.enforce_enabledfalse

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

content_security_policy.report_only_enabledtrueAdiciona 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.

Se as alterações pendentes exigirem uma reinicialização do servidor, o comando pending-changes apply exibirá um prompt para que você saiba que ocorrerá uma reinicialização. Esse 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. Se as alterações não exigirem uma reinicialização, elas serão aplicadas sem um prompt. 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.

Agradecemos seu feedback!Seu feedback foi enviado. Obrigado!