Solucionar problemas do Kerberos

As sugestões de solução de problemas neste tópico são divididas em questões relacionadas ao SSO (Single sign-on) no servidor e às fontes de dados delegadas.

Consulte também a página wiki da Comunidade do Tableau, Teste de configuração do banco de dados do Kerberos no Linux(O link abre em nova janela).

Logon único no Tableau Server

Em um ambiente do Kerberos SSO, um usuário que faz logon no Tableau Server a partir de um navegador da Web ou do Tableau Desktop poderá ver uma mensagem indicando que o Tableau Server não pode conectá-lo automaticamente (usando o logon único). Em vez disso, ele sugere fornecer um nome e senha de usuário do Tableau Server.

Solução de problemas de logon no computador do cliente

  • Insira o nome de usuário e a senha—para verificar o acesso geral do usuário ao Tableau Server, faça logon ao inserir o nome e senha de usuário.

    Se as credenciais falharem, o usuário pode não ser um usuário no Tableau Server. Para que o Kerberos SSO funcione, o usuário deverá ser capaz de acessar o Tableau Server, além de receber um Ticket Granting Ticket (TGT) do Active Directory (conforme descrito no item TGT nesta lista).

  • Verifique outras credenciais SSO de usuários—Tente conectar ao SSO para Tableau Server usando outras contas de usuário. Se todos os usuários tiverem sido afetados, o problema pode estar na configuração do Kerberos.

  • Use um computador diferente do servidor— o Kerberos SSO não funciona ao fazer logon no Tableau Server do host local. Os clientes devem se conectar de um computador que não seja o computador do Tableau Server.

  • Use um nome do servidor, não o endereço IP—o Kerberos SSO não funciona se você inserir um endereço IP como o nome do Tableau Server. Além disso, o nome do servidor usado para acessar o Tableau Server deve corresponder ao nome usado na configuração do Kerberos (consulte Entrada da tabela principal, abaixo).

  • Confirme que o cliente possui o TGT—o computador do cliente deve ter um TGT (Ticket Granting Ticket) do domínio do Active Directory. A delegação limitada, com um proxy que conceda um tíquete, não é suportada.

    Para confirmar se o computador do cliente é do tipo TGT, faça o seguinte:

    • No Windows, abra um prompt de comando e digite o seguinte: klist tgt

    • No Mac, abra uma janela terminal e digite o seguinte: klist

    O resultado exibirá um TGT para o usuário/domínio que estiver tentando autenticar ao Tableau Server.

    O computador cliente pode não ter um TGT nas seguintes circunstâncias:

    • O computador do cliente está usando uma conexão VPN.

    • O computador do cliente não está unido ao domínio (por exemplo, se for um computador pessoal usado no ambiente de trabalho).

    • O usuário entrou no computador com uma conta local (não-domínio).

    • O computador é um Mac que não está usando o Active Directory como servidor de conta de rede.

  • Confirme a versão e as configurações do navegador—para o logon no navegador da Web, certifique-se de que o navegador é compatível com o Kerberos e, se necessário, se está configurado corretamente.

    • O Internet Explorer (IE) e o Chrome funcionam "sem precisar de uma configuração adicional" no Windows.

    • O Safari funciona "sem precisar de uma configuração adicional" no Mac.

    • É necessária uma configuração adicional para o uso do Firefox.

    Para obter mais informações, consulte Suporte do cliente Tableau para o SSO do Kerberos.

Solução de problemas de erros de logon no servidor

Se você não puder resolver o problema do computador cliente, suas próximas etapas serão solucionar o problema no computador que está executando o Tableau Server. O administrador pode usar a ID de solicitação para localizar a tentativa de logon nos logs do Apache no Tableau Server.

  • Arquivos de log—Verifique se o error.log do Apache apresenta um erro com a data e hora exatos da falha na tentativa de login.

  • Entrada da tabela principal – Se a entrada error.log exibir a mensagem "Não há entrada de tabela principal correspondente a HTTP/<servername>.<domain>.<org>@”, por exemplo:

    [Fri Oct 24 10:58:46.087683 2014] [:error] [pid 2104:tid 4776] [client 10.10.1.62:56789] gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, No key table entry found matching HTTP/servername.domain.com@)

    Esse erro é o resultado de uma incompatibilidade entre quaisquer dos seguintes:

    • URL do Tableau Server - A URL usada pelo computador cliente para acessar o servidor.

      Este é o nome a ser inserido no Tableau Desktop ou na barra de endereço do navegador. Pode ser um shortname (http://servername) ou um nome de domínio totalmente qualificado (http://servername.domain.com)

    • Pesquisa de DNS reverso para o endereço IP servidor.

      Esta função procura por um nome DNS usando um endereço IP.

      No prompt de comando, digite:

      ping servername

      com o endereço IP que foi retornado ao fazer o ping no servidor, faça um tipo de pesquisa de DNS reverso:

      nslookup <ip address>

      O comando nslookup retornará informações de rede do endereço IP. Na porção Resposta não autoritativa da resposta, verifique se o nome de domínio totalmente qualificado (FQDN) corresponde aos valores configurados a seguir: 

      • O arquivo .keytab do Kerberos

      • Service Principal Name (SPN) para o servidor

      Para obter mais informações sobre a configuração desses valores, consulte Saiba mais sobre os requisitos do Keytab..

Verificar script de configuração do Kerberos

Talvez seja necessário modificar o comando ktpass usado para gerar o arquivo keytab para variáveis de ambiente. Revise as etapas de solução de problemas no artigo da Base de dados de conhecimento, Não é possível gerar o script de configuração do Kerberos para o Tableau Server(O link abre em nova janela).

Logon único da fonte de dados:

Falhas de acesso à fonte de dados delegada

Verifique os arquivos de registro vizqlserver para "workgroup-auth-mode":

Procure "workgroup-auth-mode" nos arquivos log. Será exibida a mensagem "o kerberos-impersonate" não está "como tal".

Configuração de vários domínios da delegação do Kerberos

O Tableau Server tem a capacidade de delegar usuários de outros domínios do Active Directory. Se o seu banco de dados usa o MIT Kerberos, é necessário ajustar o seu principal do Kerberos para o mapeamento de usuário de banco de dados. Especificamente, será necessário atualizar krb5.conf com regras para cada escopo do Kerberos dos quais os usuários irão se conectar. Use a marca auth_to_local na seção [realms] para mapear os nomes principais aos nomes de usuário local.

Por exemplo, considere um usuário, EXAMPLE\jsmith, cujo Principal do Kerberos é jsmith@EXAMPLE.LAN. Neste caso, o Tableau Server especificará um usuário delegado, jsmith@EXAMPLE. O Tableau Server usará o alias de domínio herdado do Active Directory como Escopo do Kerberos.

O banco de dados de destino podem já ter uma regra, como a seguinte, para mapear o usuário, jsmith@EXAMPLE.LAN, ao usuário do banco de dados, jsmith.

EXAMPLE.LAN = {
   RULE:[1:$1@$0](.*@EXAMPLE.LAN)s/@.*//
   DEFAULT
}

Para suportar a delegação, é necessário adicionar outra regra para mapear o jsmith@EXAMPLE para uma fonte de dados do usuário:

EXAMPLE.LAN = {
   RULE:[1:$1@$0](.*@EXAMPLE.LAN)s/@.*//
   RULE:[1:$1@$0](.*@EXAMPLE)s/@.*//
   DEFAULT
}

Consulte o tópico de Documentação do MIT Kerberos, krb5.conf(O link abre em nova janela), para obter mais informações.

Delegação restrita em domínios cruzados

Em alguns cenários com domínios cruzados, onde o KDC executa em um servidor Windows anterior ao Windows 2012, a delegação pode falhar. Erros que podem ocorrer:

  • Interfaces de rede do SQL Server: o sistema não consegue entrar em contato com um controlador de domínio para enviar a solicitação de autenticação. Tente novamente mais tarde.
  • Cliente nativo do SQL Server: não foi possível gerar o contexto SSPI.
  • O controlador de domínio retorna: KRB-ERR-POLICY error with a status STATUS_CROSSREALM_DELEGATION_FAILURE (0xc000040b).

Domínios cruzados refere-se a um cenário em que o Tableau Server é executado em um domínio diferente da fonte de dados com contas de serviço diferentes. Por exemplo:

  • O Tableau Server executa no DomínioA na conta de serviço do DomínioA.
  • O SQL Server executa no DomínioB na conta de serviço do DomínioB.

A delegação limitada tradicional só funciona se os dois servidores estão no mesmo domínio. O usuário pode vir de outros domínios.

Se os erros apontados acima ocorrem, então, para habilitar esse cenário, o administrador do Active Directory deve remover qualquer delegação limitada tradicional que esteja configurada na conta de delegação. É possível remover delegações com as ferramentas de gerenciamento do Active Directory ou ao remover os valores associados à propriedade do Active Directory, msDS-AllowedToDelegateTo.

Se desejar preservar uma delegação existente em domínio simples com a delegação em domínios cruzados, configure as duas pelo uso de uma delegação limitada com base em recursos.

Para obter mais informações sobre o Kerberos e a delegação restrita, consulte o tópico da Microsoft Visão geral da delegação restrita do Kerberos(O link abre em nova janela).

Criação na Web

Há dois cenários de criação na Web que não são compatíveis com a delegação do Kerberos: "Conectar a dados na Web" e "Criar fontes de dados na Web". O recurso ainda não é compatível com a delegação. Especificamente, se você criar uma fonte de dados que usa Kerberos na criação na Web, a fonte de dados usará a autenticação da conta de serviço Run As. Se quiser usar a delegação do Kerberos para criar uma fonte de dados, você deve publicar com o Tableau Desktop. Para obter mais informações sobre a conta de serviço Run As, consulte Habilitar o acesso à conta de serviço do Kerberos.

Agradecemos seu feedback!Seu feedback foi enviado. Obrigado!