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:

  1. Verificare che il server SAP HANA esegua la versione minima richiesta, che dipende dal livello di piattaforma del server SAP HANA:

  2. 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.

  3. 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:

  1. Nella directory di installazione del gateway cercare e aprire questo file di configurazione: Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.

  2. Cercare la proprietà e modificarne il FullDomainResolutionEnabled valore in True.

    <setting name=" FullDomainResolutionEnabled " serializeAs="String">
          <value>True</value>
    </setting>
    
  3. 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:

    Screenshot of a 'Cannot load model' troubleshooting TLS/SSL error window.

  • 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:

 Screenshot of resolving TLS/SSL error window by disabling the certificate.

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:

Screenshot showing a service principal name error.

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.

Screenshot showing a 'No credentials error'.

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:

Screenshot showing an invalid credentials error.

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.

Per altre informazioni sul gateway dati locale e DirectQuery, vedere le risorse seguenti: