Usar Kerberos para SSO para SAP HANA
Este artigo descreve como configurar sua fonte de dados do SAP HANA para habilitar o logon único (SSO) do serviço do Power BI.
Importante
Como o SAP não suporta mais OpenSSL, a Microsoft também descontinuou seu suporte. Suas conexões existentes continuam funcionando, mas você não pode mais criar novas conexões. Em vez disso, use SAP Cryptographic Library (CommonCryptoLib) ou sapcrypto.
Nota
Antes de tentar atualizar um relatório baseado no SAP HANA que usa Kerberos SSO, conclua as etapas neste artigo e Configure Kerberos SSO.
Habilitar o SSO para SAP HANA
Para habilitar o SSO para SAP HANA, execute as seguintes etapas:
Verifique se o servidor SAP HANA está executando a versão mínima necessária, que depende do nível da plataforma do servidor SAP HANA:
No computador gateway, instale o driver SAP HANA ODBC mais recente. A versão mínima é HANA ODBC versão 2.00.020.00 de agosto de 2017.
Verifique se o servidor SAP HANA foi configurado para SSO baseado em Kerberos. Para obter mais informações sobre como configurar o SSO para SAP HANA usando Kerberos, consulte Logon único usando Kerberos. Veja também os links dessa página, particularmente SAP Note 1837331 – HOWTO HANA DBSSO Kerberos/Ative Directory.
Também recomendamos seguir estas etapas extras, que podem gerar uma pequena melhoria de desempenho:
No diretório de instalação do gateway, procure e abra este arquivo de configuração: Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.
Procure a
FullDomainResolutionEnabled
propriedade e altere seu valor paraTrue
.<setting name=" FullDomainResolutionEnabled " serializeAs="String"> <value>True</value> </setting>
Execute um relatório do Power BI.
Resolver problemas
Esta seção fornece instruções para solucionar problemas usando Kerberos para logon único (SSO) para SAP HANA no serviço Power BI. Usando estas etapas de solução de problemas, você pode autodiagnosticar e corrigir muitos problemas que você pode estar enfrentando.
Para seguir as etapas nesta seção, você precisa coletar logs de gateway.
Erro TLS/SSL (certificado)
Este problema tem vários sintomas.
Quando você tenta adicionar uma nova fonte de dados, você pode ver um erro como a seguinte mensagem:
Unable to connect: We encountered an error while trying to connect to. Details: "We could not register this data source for any gateway instances within this cluster. Please find more details below about specific errors for each gateway instance."
Quando tenta criar ou atualizar um relatório, poderá ver a seguinte mensagem de erro:
Quando você investiga o Mashup[date]*.log, você vê a seguinte mensagem de erro:
A connection was successfully established with the server, but then an error occurred during the login process and the certificate chain was issued by an authority that is not trusted.
Resolução
Para resolver esse erro TLS/SSL, vá para a conexão da fonte de dados e, na seção Validar Certificado do Servidor, desative a configuração, conforme mostrado na imagem a seguir:
Depois de desativar essa configuração, a mensagem de erro não será mais exibida.
Falsificação de identidade
As entradas de log para representação contêm entradas semelhantes a:
About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation).
O elemento importante nesta entrada de log são as informações exibidas após a ImpersonationLevel:
entrada. Qualquer valor diferente de Impersonation
revela que a representação não está ocorrendo corretamente.
Resolução
Você pode configurar ImpersonationLevel
corretamente seguindo as instruções em Conceder direitos de política local à conta de serviço do gateway no gateway.
Depois de alterar o arquivo de configuração, reinicie o serviço de gateway para que a alteração entre em vigor.
Validação
Atualize ou crie o relatório e, em seguida, colete os logs do gateway. Abra o arquivo GatewayInfo mais recente e verifique a seguinte cadeia de caracteres: About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation)
. Certifique-se de que a ImpersonationLevel
configuração retorna Impersonation
.
Delegação
Os problemas de delegação geralmente aparecem no serviço do Power BI como erros genéricos. Para garantir que o problema não seja um problema de delegação, colete rastreamentos do Wireshark e use Kerberos como filtro. Para saber mais sobre o Wireshark e obter informações sobre erros Kerberos, consulte Erros Kerberos em capturas de rede.
Os seguintes sintomas e etapas de solução de problemas podem ajudar a solucionar alguns problemas comuns.
Questões do SPN
Se você vir o seguinte erro: The import [table] matches no exports. Did you miss a module reference?:
ao investigar o Mashup[date]*.log, você está enfrentando problemas de nome principal de serviço (SPN).
Quando você investiga mais usando rastreamentos do Wireshark, revela o erro KRB4KDC_ERR_S_PRINCIPAL_UNKOWN
, o que significa que o SPN não foi encontrado ou não existe. A imagem a seguir mostra um exemplo:
Resolução
Para resolver problemas de SPN como esse, você deve adicionar um SPN a uma conta de serviço. Para obter mais informações, consulte a documentação do SAP em Configurar Kerberos para hosts de banco de dados SAP HANA.
Além disso, siga as instruções de resolução descritas na próxima seção.
Sem problemas de credenciais
Pode não haver sintomas claros associados a esse problema. Quando você investiga o Mashup[date]*.log, você vê o seguinte erro:
29T20:21:34.6679184Z","Action":"RemoteDocumentEvaluator/RemoteEvaluation/HandleException","HostProcessId":"1396","identity":"DirectQueryPool","Exception":"Exception:\r\nExceptionType: Microsoft.Mashup.Engine1.Runtime.ValueException, Microsoft.MashupEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\r\nMessage:
Quando você investiga o mesmo arquivo, o seguinte erro (inútil) aparece:
No credentials are available in the security package
A captura de vestígios do Wireshark revela o seguinte erro: KRB5KDC_ERR_BADOPTION
.
Normalmente, esses erros significam que o arquivo SPN hdb/hana2-s4-sso2.westus2.cloudapp.azure.com pode ser encontrado, mas não está na lista Serviços para os quais essa conta pode apresentar credenciais delegadas no painel Delegação na conta de serviço Gateway.
Resolução
Para resolver o problema Sem credenciais, siga as etapas descritas em Configurar delegação restrita de Kerberos. Quando concluída corretamente, a guia delegação na conta de serviço do gateway reflete o arquivo HansaWorld Database (HDB) e o FQDN (nome de domínio totalmente qualificado) na lista de Serviços aos quais essa conta pode apresentar credenciais delegadas.
Validação
Seguir as etapas anteriores deve resolver o problema. Se você ainda tiver problemas de Kerberos, poderá ter uma configuração incorreta no gateway do Power BI ou no próprio servidor HANA.
Erros de credenciais
Se você tiver erros de credenciais, os erros nos logs ou rastreamentos expõem erros que descrevem Credentials are invalid
ou erros semelhantes. Esses erros podem se manifestar de forma diferente no lado da fonte de dados da conexão, como o SAP HANA. A imagem a seguir mostra um exemplo de erro:
Sintoma 1
Nos rastreamentos de autenticação HANA, você pode ver entradas semelhantes à seguinte mensagem:
[Authentication|manager.cpp:166] Kerberos: Using Service Principal
Name johnny@contoso.com@CONTOSO.COM with name type: GSS_KRB5_NT_PRINCIPAL_NAME
[Authentication|methodgssinitiator.cpp:367] Got principal name:
johnny@contoso.com@CONTOSO.COM
Resolução
Siga as instruções descritas em Definir parâmetros de configuração de mapeamento de usuário na máquina do gateway, mesmo que você já tenha configurado o serviço Microsoft Entra Connect .
Validação
Depois de concluir a validação, você pode carregar com êxito o relatório no serviço do Power BI.
Sintoma 2
Nos rastreamentos de autenticação HANA, você pode ver entradas semelhantes à seguinte entrada:
Authentication ManagerAcceptor.cpp(00233) : Extending list of expected
external names by johnny@CONTOSO.COM (method: GSS) Authentication
AuthenticationInfo.cpp(00168) : ENTER getAuthenticationInfo
(externalName=johnny@CONTOSO.COM) Authentication AuthenticationInfo.cpp(00237) :
Found no user with expected external name!
Resolução
Verifique o ID externo Kerberos em Usuário HANA para determinar se os IDs correspondem corretamente.
Validação
Depois de resolver o problema, você pode criar ou atualizar relatórios no serviço do Power BI.
Conteúdos relacionados
Para obter mais informações sobre o gateway de dados local e o DirectQuery, consulte os seguintes recursos:
- What is an on-premises data gateway? (O que é um gateway de dados no local?)
- DirectQuery no Power BI
- Fontes de dados suportadas pelo DirectQuery
- DirectQuery e SAP Business Warehouse (BW)
- DirectQuery e SAP HANA