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 quando | Prós | Contras |
Tabela de direitos (recomendado) |
|
|
|
CONTAINS() com extrações |
|
|
|
Representação |
|
|
|
Kerberos |
|
|
|
SQL inicial |
|
|
|