Condividi tramite


Usare Kerberos per l'accesso SSO a SAP HANA

Questo articolo descrive come configurare l'origine dati SAP HANA per abilitare Single Sign-On (SSO) dal servizio Power BI.

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.

Nota

Prima di provare ad aggiornare un report basato su SAP HANA che usa l'accesso Single Sign-On Kerberos, completare i passaggi descritti sia in questo articolo sia in Configurare l'accesso SSO basato su Kerberos.

Abilitare SSO per SAP HANA

Per abilitare l'accesso SSO per SAP HANA, seguire questa procedura:

  1. Verificare che nel server SAP HANA sia in esecuzione la versione minima richiesta. Ciò dipende dal livello della piattaforma del server SAP HANA:

  2. Nel computer gateway installare il driver ODBC SAP HANA più recente. La versione minima è la versione ODBC per HANA 2.00.020.00 di agosto 2017.

  3. Verificare che il server SAP HANA sia stato configurato per il Single Sign-On basato su Kerberos. Per altre informazioni sulla configurazione della funzionalità SSO per SAP HANA con Kerberos, vedere Single Sign-on tramite Kerberos. Vedere anche i collegamenti in tale pagina, in particolare SAP Note 1837331 - HOWTO HANA DBSSO Kerberos/Active Directory.

È consigliabile eseguire anche questi passaggi extra che possono contribuire a migliorare le prestazioni:

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

  2. Cercare la proprietà FullDomainResolutionEnabled e impostarne il valore su 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 di una finestra di errore TLS/SSL per la risoluzione dei problemi di

  • 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 della finestra di errore TLS/SSL disabilitando il certificato.

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 voce ImpersonationLevel:. 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 nel 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 che mostra un errore di nome dell'entità servizio.

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 che mostra un errore di 'Nessuna credenziale'.

In genere, questi errori indicano che è possibile trovare il file SPN hdb/hana2-s4-sso2.westus2.cloudapp.azure.com, 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 HansaWorld Database (HDB) 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 che mostra un errore di credenziali non valido.

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

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 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 su DirectQuery, vedere le risorse seguenti: