Segurança em nível de linha no banco de dados

Se sua organização já criou a segurança em nível de linha (RLS) em um banco de dados, você poderá usar uma das seguintes técnicas para tirar proveito da RLS existente. Para utilizar os modelos de segurança do banco de dados, são necessárias conexões em tempo real. Além disso, essas técnicas provavelmente não estão disponíveis no Tableau Cloud; o nome de usuário do Tableau para Tableau Cloud é um endereço de e-mail exclusivo, que normalmente não é a identidade do usuário no lado do banco de dados.

Não é necessariamente mais fácil ou melhor implementar um modelo de RLS integrada, em comparação a criá-la tendo em mente o Tableau. Geralmente, essas técnicas são utilizadas quando uma organização já investiu nessas tecnologias e querem aproveitar o investimento.

Observação: para obter informações sobre as alternativas que você pode usar para implementar a segurança em nível de linha no Tableau, consulte Visão geral das opções de segurança em nível de linha no Tableau.

Representação (Microsoft SQL Server)

O Microsoft SQL Server (e alguns sistemas relacionados) pode ser configurado de modo que os usuários do banco de dados tenham acesso apenas a exibições com filtros de RLS incorporados, utilizando Tabelas de junção de segurança ou exibições criadas pelo DBA. O Tableau pode tirar proveito disso usando um conceito chamado “representação”.

Ao publicar uma fonte de dados do Tableau que contém uma conexão MS SQL Server para o Tableau Server, há duas opções de autenticação disponíveis para tirar proveito da representação. O menu visualizado dependerá do logon no SQL Server, se você usou a autenticação de rede ou digitou as credenciais de nome de usuário/senha.

Para ativar a filtragem de RLS para qualquer usuário que possa acessar a fonte de dados publicada no Tableau Server, a conta do AD Run-As ou as credenciais inseridas do SQL Server devem ter permissão para EXECUTE AS para todos os usuários do Tableau no banco de dados que acessará o painel ou a fonte de dados. Todos os usuários do Tableau devem existir no servidor do banco de dados como usuários, com direitos SELECT para as exibições às quais você está tentando se conectar (e aplicar a RLS). Consulte Requisitos de representação para obter a lista abrangente de requisitos.

Kerberos e delegação restrita

A delegação restrita no Tableau Server que usa o Kerberos opera de forma semelhante à representação na medida em que permite que o Tableau Server use as credenciais do Kerberos da exibição de uma pasta de trabalho ou da exibição para executar uma consulta em nome do visualizador, portanto, se a RLS for configurada no banco de dados, o visualizador da pasta de trabalho verá somente os dados dele.

Para ver a lista abrangente de bancos de dados em que a delegação do Kerberos é suportada, consulte Habilitar a Delegação do Kerberos. É necessário o Active Directory; o computador em que o Tableau Server está instalado deve ser associado ao domínio do Active Directory. O método de autenticação(O link abre em nova janela) especificado ao publicar a fonte de dados deve ser as credenciais de visualizador.

Observe que o kerberos pode ser utilizado para a RLS ao usar o Microsoft Analysis Services.

Fonte de dados multidimensional OLAP

As conexões da Fonte de dados multidimensional OLAP no Tableau não têm o equivalente a um filtro de fonte de dados, que é necessário para o método de RLS baseado na tabela de direitos no Tableau ou acesso à função USERNAME(). Por essas razões, o Kerberos e a delegação restrita consistem em uma abordagem recomendada para a RLS com os bancos de dados OLAP, o que permite que o Tableau utilize a filtragem de usuário que já foi implementada no lado do Servidor OLAP.

Se os usuários que visualizam o painel não fizerem parte do domínio, será possível a abordagem manual para criar filtros de usuário. No entanto, como o Conjunto de filtros de usuário gerado não pode ser adicionado como um filtro de fonte de dados e, em vez disso, existirá na divisória Filtros, é importante que a funcionalidade de edição na Web e pasta de trabalho de download não seja permitida para as exibições publicadas que utilizam esse método.

Delegação SAML e SAP HANA

Se o Tableau Server for configurado para usar Configurar SSO para SAP HANA para proporcionar uma experiência de logon único, as credenciais de visualizador serão usadas para executar a consulta como esse usuário, o que ocorrerá de acordo com a segurança aplicada no nível de usuário. O método de autenticação(O link abre em nova janela) especificado ao publicar a fonte de dados deve ser as credenciais de visualizador.

SQL inicial para impor uma sessão específica do usuário (Oracle VPD)

O SQL inicial permite especificar um comando SQL que é executado quando há uma conexão com o banco de dados com a finalidade de configurar tabelas temporárias para uso durante a sessão ou de configurar um ambiente de dados personalizado.

Para o Oracle VPD, você pode configurar uma sessão específica para um usuário, executando um procedimento armazenado ou uma função específica para definir o contexto da conexão com o banco de dados para corresponder ao nome de usuário do Tableau:

begin
DBMS_SESSION.SET_IDENTIFIER([TableauServerUser]);
end;

Os mesmos requisitos de alto nível são válidos para usá-lo no RLS e na representação; o DBA deve configurar o VPD e todos os usuários associados para existir no banco de dados.

No MS SQL Server, é possível impor um comando EXECUTE AS (no entanto, é semelhante ao que o Tableau já faz com a representação):

EXECUTE AS USER = [TableauServerUser] WITH NO REVERT;

Observação: se a fonte de dados for inserida e um usuário tiver permissões para editar na Web ou baixar a pasta de trabalho, a RLS não existe pois o SQL inicial que a impõe pode ser facilmente removido. A fonte de dados deve ser publicada separadamente, em vez de ser inserida na pasta de trabalho.

Matriz de comparação para métodos de segurança em nível de linha

MétodoÚtil quandoPrósContras
Tabela de direitos (recomendado)
  • Existe um conceito de direitos no banco de dados
  • A organização está configurando a Segurança em nível de linha pela primeira vez
  • Fácil de testar, atualizar, manter e dimensionar
  • Funciona para conexões em tempo real e extrações na versão 2018.3+
  • Requer a criação e a manutenção da tabela de direitos
  • Pode exigir a seleção e a criação de chaves apropriadas para otimizar o desempenho
CONTAINS() com extrações
  • Implementação de RLS em extrações antes da versão 2018.3
  • Permite que você aproveite a eficiência da extração
  • Requer o mapeamento de todos os usuários em uma única coluna
  • Difícil de voltar para conexões em tempo real devido ao cálculo da cadeia de caracteres
Representação
  • Cada usuário que acessar os dados existirá como um usuário no SQL Server (geralmente implantações internas)
  • A segurança é tratada e mantida em um só lugar - o banco de dados
  • Exige que cada pessoa que acessar a exibição exista como um usuário no SQL Server
  • Só funciona para o Microsoft SQL Server
Kerberos
  • Todos os bancos de dados necessárias são configuradas para a delegação do Kerberos e a RLS é configurada no banco de dados (geralmente implantações internas)
  • O nome do visualizador é exibido nos registros de acesso para o banco de dados
  • A segurança é tratada e mantida no banco de dados
  • O Tableau deve ser configurado para usar LDAP - Active Directory
  • O Tableau Server deve estar associado ao domínio do AD
  • Cada usuário deve existir no domínio do AD
SQL inicial
  • O banco de dados oferece suporte ao SQL inicial e a RLS é configurada no lado do banco de dados
  • Permite a transmissão dos parâmetros do Tableau no tempo de carregamento
  • A conexão dedicada que não pode ser compartilhada com outros usuários
  • Os usuários devem existir no banco de dados para executar a consulta como usuário
  • Nem todos os bancos de dados oferecem suporte ao SQL inicial
  • Possíveis implicações de desempenho devido ao compartilhamento restrito em cache
Agradecemos seu feedback!Seu feedback foi enviado. Obrigado!