Usare Kerberos per l'accesso SSO a SAP HANA
Importante
Poiché SAP non supporta più OpenSSL, Microsoft ha interrotto anche il supporto. Le connessioni esistenti continuano a funzionare, ma non è più possibile creare nuove connessioni. Usare invece SAP Cryptographic Library (CommonCryptoLib) o sapcrypto.
Questo articolo descrive come configurare l'origine dati SAP HANA per abilitare l'accesso Single Sign-On (SSO) dal servizio Power BI.
Nota
Prima di tentare di aggiornare un report basato su SAP HANA che usa l'accesso SSO Kerberos, completare la procedura descritta in questo articolo e Configurare l'accesso SSO Kerberos.
Abilitare l'accesso SSO per SAP HANA
Per abilitare l'accesso SSO per SAP HANA, seguire questa procedura:
Verificare che il server SAP HANA esegua la versione minima richiesta, che dipende dal livello di piattaforma del server SAP HANA:
Nel computer gateway installare il driver ODBC di SAP HANA più recente. La versione minima è HANA ODBC versione 2.00.020.00 da agosto 2017.
Assicurarsi che il server SAP HANA sia stato configurato per l'accesso SSO basato su Kerberos. Per altre informazioni sulla configurazione dell'accesso SSO per SAP HANA tramite Kerberos, vedere Single Sign-On con Kerberos. Vedere anche i collegamenti da tale pagina, in particolare SAP Note 1837331 – HOWTO HANA DBSSO Kerberos/Active Directory.
È anche consigliabile seguire questi passaggi aggiuntivi, che possono produrre un piccolo miglioramento delle prestazioni:
Nella directory di installazione del gateway cercare e aprire questo file di configurazione: Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.
Cercare la proprietà e modificarne il
FullDomainResolutionEnabled
valore inTrue
.<setting name=" FullDomainResolutionEnabled " serializeAs="String"> <value>True</value> </setting>
Eseguire un report di Power BI.
Risoluzione dei problemi
Questa sezione fornisce istruzioni per la risoluzione dei problemi relativi all'uso di Kerberos per l'accesso Single Sign-On (SSO) a SAP HANA nel servizio Power BI. Usando questi passaggi per la risoluzione dei problemi, è possibile diagnosticare automaticamente e correggere molti problemi che potrebbero verificarsi.
Per seguire i passaggi descritti in questa sezione, è necessario raccogliere i log del gateway.
Errore TLS/SSL (certificato)
Questo problema presenta più sintomi.
Quando si tenta di aggiungere una nuova origine dati, è possibile che venga visualizzato un errore simile al seguente:
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 si tenta di creare o aggiornare un report, è possibile che venga visualizzato il messaggio di errore seguente:
Quando si esamina mashup [date]*.log, viene visualizzato il messaggio di errore seguente:
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.
Risoluzione
Per risolvere questo errore TLS/SSL, passare alla connessione all'origine dati e quindi, nella sezione Convalida certificato server disabilitare l'impostazione, come illustrato nell'immagine seguente:
Dopo aver disabilitato questa impostazione, il messaggio di errore non viene più visualizzato.
Rappresentazione
Le voci di log per la rappresentazione contengono voci simili a:
About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation).
L'elemento importante in questa voce di log è costituito dalle informazioni visualizzate dopo la ImpersonationLevel:
voce. Qualsiasi valore diverso da Impersonation
rivela che la rappresentazione non si verifica correttamente.
Risoluzione
È possibile configurare ImpersonationLevel
correttamente seguendo le istruzioni riportate in Concedere i diritti dei criteri locali dell'account del servizio gateway nel gateway.
Dopo aver modificato il file di configurazione, riavviare il servizio gateway per rendere effettiva la modifica.
Convalida
Aggiornare o creare il report e quindi raccogliere i log del gateway. Aprire il file GatewayInfo più recente e controllare la stringa seguente: About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation)
. Assicurarsi che l'impostazione ImpersonationLevel
restituisca Impersonation
.
Delega
I problemi di delega vengono in genere visualizzati nella servizio Power BI come errori generici. Per assicurarsi che il problema non sia un problema di delega, raccogliere le tracce wireshark e usare Kerberos come filtro. Per altre informazioni su Wireshark e per informazioni sugli errori Kerberos, vedere Errori Kerberos nelle acquisizioni di rete.
I sintomi e i passaggi di risoluzione dei problemi seguenti possono aiutare a risolvere alcuni problemi comuni.
Problemi relativi al nome SPN
Se viene visualizzato l'errore seguente: The import [table] matches no exports. Did you miss a module reference?:
durante l'analisi del mashup[date]*.log, si verificano problemi relativi al nome dell'entità servizio (SPN).
Quando si esaminano ulteriormente le tracce di Wireshark, si rivela l'errore KRB4KDC_ERR_S_PRINCIPAL_UNKOWN
, il che significa che il nome SPN non è stato trovato o non esiste. La figura seguente mostra un esempio:
Risoluzione
Per risolvere i problemi relativi al nome SPN, ad esempio questo problema, è necessario aggiungere un nome SPN a un account del servizio. Per altre informazioni, vedere la documentazione di SAP in Configurare Kerberos per gli host di database SAP HANA.
Seguire inoltre le istruzioni di risoluzione descritte nella sezione successiva.
Nessun problema di credenziali
Potrebbero non esserci sintomi chiari associati a questo problema. Quando si esamina mashup [date]*.log, viene visualizzato l'errore seguente:
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 si esamina ulteriormente lo stesso file, viene visualizzato l'errore seguente (non utile):
No credentials are available in the security package
L'acquisizione di tracce Wireshark rivela l'errore seguente: KRB5KDC_ERR_BADOPTION
.
In genere, questi errori indicano che è possibile trovare il file hdb/hana2-s4-sso2.westus2.cloudapp.azure.com SPN, ma non è presente nell'elenco Servizi a cui questo account può presentare credenziali delegate nel riquadro Delega nell'account del servizio gateway.
Risoluzione
Per risolvere il problema Nessuna credenziale , seguire la procedura descritta in Configurare la delega vincolata Kerberos. Una volta completata correttamente, la scheda delega nell'account del servizio gateway riflette il file hdB (HansaWorld Database) e il nome di dominio completo (FQDN) nell'elenco dei servizi a cui questo account può presentare credenziali delegate.
Convalida
Seguire i passaggi precedenti per risolvere il problema. Se si verificano ancora problemi di Kerberos, è possibile che si verifichino errori di configurazione nel gateway Power BI o nel server HANA stesso.
Errori delle credenziali
Se si verificano errori di credenziali, gli errori nei log o nelle tracce espongono errori che descrivono Credentials are invalid
o errori simili. Questi errori possono manifestarsi in modo diverso sul lato origine dati della connessione, ad esempio SAP HANA. L'immagine seguente mostra un errore di esempio:
Sintomo 1
Nelle tracce di autenticazione HANA è possibile che vengano visualizzate voci simili al messaggio seguente:
[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
Risoluzione
Seguire le istruzioni descritte in Impostare i parametri di configurazione del mapping utente nel computer gateway, anche se è già stato configurato il servizio Microsoft Entra Connessione.
Convalida
Dopo aver completato la convalida, è possibile caricare correttamente il report nel servizio Power BI.
Sintomo 2
Nelle tracce di autenticazione HANA è possibile che vengano visualizzate voci simili alla voce seguente:
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!
Risoluzione
Controllare l'ID esterno Kerberos in HANA User (Utente HANA) per determinare se gli ID corrispondono correttamente.
Convalida
Dopo aver risolto il problema, è possibile creare o aggiornare i report nel servizio Power BI.
Contenuto correlato
Per altre informazioni sul gateway dati locale e DirectQuery, vedere le risorse seguenti: