Verwenden Sie Kerberos für SSO bei SAP HANA

Wichtig

Da SAP OpenSSL nicht mehr unterstützt, hat auch Microsoft den Support eingestellt. Ihre vorhandenen Verbindungen funktionieren weiterhin, aber Sie können keine neuen Verbindungen mehr erstellen. Verwenden Sie stattdessen SAP Cryptographic Library oder sapcrypto.

Dieser Artikel beschreibt, wie Sie Ihre SAP HANA-Datenquelle konfigurieren, um Single Sign-On (SSO) vom Power BI-Dienst aus zu ermöglichen.

Hinweis

Bevor Sie versuchen, einen auf SAP HANA basierenden Bericht zu aktualisieren, der Kerberos SSO verwendet, führen Sie beide Schritte in diesem Artikel und die Schritte in Kerberos SSO konfigurieren aus.

Aktivieren von SSO für SAP HANA

Führen Sie die folgenden Schritte aus, um SSO für SAP HANA zu aktivieren:

  1. Vergewissern Sie sich, dass auf dem SAP HANA-Server die erforderliche Mindestversion ausgeführt wird (abhängig von der Plattformebene Ihres SAP HANA-Servers):

  2. Installieren Sie auf dem Gatewaycomputer den aktuellen SAP HANA-ODBC-Treiber. Die Mindestversion ist die HANA-ODBC-Version 2.00.020.00 vom August 2017.

  3. Stellen Sie sicher, dass der SAP HANA-Server für Kerberos-basiertes SSO konfiguriert wurde. Weitere Informationen zum Einrichten von SSO für SAP HANA mit Kerberos finden Sie unter Einmaliges Anmelden mit Kerberos. Sehen Sie sich außerdem die Links auf dieser Seite an – insbesondere den SAP-Hinweis 1837331 (HOWTO HANA DBSSO Kerberos/Active Directory).

Wir empfehlen außerdem, diese zusätzlichen Schritte durchzuführen, die eine geringfügige Verbesserung der Leistung bewirken können:

  1. Suchen Sie im Installationsverzeichnis des Gateways folgende Konfigurationsdatei, und öffnen Sie diese: Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.

  2. Suchen Sie die FullDomainResolutionEnabled Eigenschaft und ändern Sie Ihren Wert zu True.

    <setting name=" FullDomainResolutionEnabled " serializeAs="String">
          <value>True</value>
    </setting>
    
  3. Ausführen eines Power BI-Berichts.

Problembehandlung

Dieser Abschnitt enthält Anleitungen zur Fehlerbehebung bei der Verwendung von Kerberos für Single Sign-On (SSO) bei SAP HANA im Power BI-Dienst. Mithilfe dieser Schritte zur Fehlerbehebung können Sie viele Probleme, denen Sie möglicherweise begegnen, selbst diagnostizieren und beheben.

Um die Schritte in diesem Abschnitt auszuführen, müssen Sie Gatewayprotokolle sammeln.

TLS/SSL-Fehler (Zertifikat)

Dieses Problem weist mehrere Symptome auf.

  • Wenn Sie versuchen, eine neue Datenquelle hinzuzufügen, wird möglicherweise ein Fehler wie die folgende Meldung angezeigt:

    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."
    
  • Wenn Sie versuchen, einen Bericht zu erstellen oder zu aktualisieren, wird möglicherweise die folgende Fehlermeldung angezeigt:

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

  • Wenn Sie Mashup[Datum]*.log untersuchen, sehen Sie die folgende Fehlermeldung:

    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.
    

Lösung

Zum Beheben dieses TLS/SSL-Fehlers wechseln Sie zur Datenquellenverbindung, und deaktivieren Sie dann im Abschnitt Serverzertifikat validieren die Einstellung wie in der folgenden Abbildung dargestellt:

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

Nachdem Sie diese Einstellung deaktiviert haben, wird die Fehlermeldung nicht mehr angezeigt.

Identitätswechsel

Protokolleinträge für Identitätswechsel enthalten Einträge ähnlich dem Folgenden:

About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation).

Das wichtigste Element in diesem Protokolleintrag ist die angezeigte Information nach dem Eintrag ImpersonationLevel: . Jeder andere Wert als Impersonation bedeutet, dass der Identitätswechsel nicht ordnungsgemäß erfolgt.

Lösung

Sie können die Eigenschaft ImpersonationLevel ordnungsgemäß einrichten, indem Sie die Anweisungen unter Erteilen der lokalen Richtlinienrechte auf dem Gateway für das Gateway-Dienstkonto befolgen.

Starten Sie nach dem Ändern der Konfigurationsdatei den Gateway-Dienst neu, damit die Änderung wirksam wird.

Überprüfen

Aktualisieren oder erstellen Sie den Bericht, und sammeln Sie die Gateway-Protokolle. Öffnen Sie die neueste Version der GatewayInfoDatei, und überprüfen Sie die folgende Zeichenfolge: About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation). Stellen Sie sicher, dass die Einstellung ImpersonationLevel Einstellungen-Rückgaben Impersonation aufweist.

Delegierung

Delegierungsprobleme werden im Power BI-Dienst in der Regel als generische Fehler angezeigt. Um auszuschließen, dass es sich um ein Delegierungsproblem handelt, erfassen Sie Wireshark-Überwachungen, und verwenden Sie Kerberos als Filter. Weitere Informationen zu Wireshark und Kerberos-Fehlern finden Sie unter Kerberos-Fehler in Netzwerkerfassungen.

Die folgenden Symptome und Problembehandlungsschritte helfen bei der Behebung einiger häufiger Probleme.

SPN-Probleme

Wenn bei der Untersuchung von Mashup[Datum]*.log folgender Fehler angezeigt wird: The import [table] matches no exports. Did you miss a module reference?:, liegen Probleme mit dem Dienstprinzipalnamen (SPN) vor.

Wenn Sie dies mithilfe von Wireshark-Überwachungen weiter untersuchen, finden Sie den Fehler KRB4KDC_ERR_S_PRINCIPAL_UNKOWN. Dies bedeutet, dass der SPN nicht gefunden wurde oder nicht vorhanden ist. Die folgende Abbildung zeigt ein Beispiel:.

Screenshot showing a service principal name error.

Lösung

Um Probleme beim Dienstprinzipalnamen (Service Principal Name, SPN) wie dieses zu beheben, müssen Sie einem Dienstkonto einen SPN hinzufügen. Weitere Informationen finden Sie in der SAP-Dokumentation unter Konfigurieren von Kerberos für SAP HANA-Datenbankgastgeber.

Befolgen Sie außerdem die Im nächsten Abschnitt beschriebenen Lösungsanweisungen.

Keine Probleme mit Anmeldeinformationen

Für dieses Problem gibt es möglicherweise keine eindeutigen Symptome. In der Datei Mashup[Datum]*.log wird der folgende Fehler angezeigt:

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:

Wenn Sie dieselbe Datei weiter untersuchen, wird der folgende (nicht hilfreiche) Fehler angezeigt:

No credentials are available in the security package

Die Erfassung von Wireshark-Überwachungen offenbart den folgenden Fehler: KRB5KDC_ERR_BADOPTION.

Screenshot showing a 'No credentials error'.

In der Regel bedeuten diese Fehler, dass die SPN-Datei hdb/hana2-s4-sso2.westus2.cloudapp.azure.com gefunden wurde, sich aber nicht im Bereich Delegierung für das Gateway-Dienstkonto in den Diensten befindet, für die dieses Konto delegierte Anmeldeinformationen vorweisen kann.

Lösung

Zum Beheben des Problems mit fehlenden Anmeldeinformationen führen Sie die in Konfigurieren der eingeschränkten Kerberos-Delegierung beschriebenen Schritte aus. Nach der ordnungsgemäßen Ausführung werden auf der Registerkarte „Delegierung“ des Gateway-Dienstkontos die HDB-Datei (HansaWorld-Datenbank) und der FQDN (vollqualifizierter Domänenname) in der Liste Dienste, für die dieses Konto delegierte Anmeldeinformationen verwenden kann angezeigt.

Überprüfen

Das Befolgen der vorangegangenen Schritte sollte das Problem beheben. Wenn Sie weiterhin Kerberos-Probleme haben, liegt möglicherweise eine Fehlkonfiguration im Power BI-Gateway oder im HANA-Server selbst vor.

Fehler bei Anmeldeinformationen

Wenn Fehler bei den Anmeldeinformationen auftreten, enthalten die Protokolle oder Überwachungen Fehlermeldungen, die Credentials are invalid oder ähnliche Fehler beschreiben. Diese Fehler können sich auf der Datenquellenseite der Verbindung, z. B. in SAP HANA, unterschiedlich manifestieren. Die folgende Abbildung zeigt eine Beispielfehlermeldung:

Screenshot showing an invalid credentials error.

Symptom 1

In den HANA-Authentifizierungsüberwachungen finden Sie möglicherweise Einträge ähnlich der folgenden Nachricht:

[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

Lösung

Führen Sie die in Festlegen von Konfigurationsparametern für die Benutzerzuordnung auf dem Gatewaycomputer beschriebenen Anweisungen aus, auch wenn der Microsoft Entra Connect-Dienst bereits konfiguriert ist.

Überprüfen

Nachdem Sie die Validierung abgeschlossen haben, können Sie den Bericht erfolgreich im Power BI-Dienst laden.

Symptom 2

In den HANA-Authentifizierungsüberwachungen finden Sie möglicherweise Einträge ähnlich dem folgenden:

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!

Lösung

Überprüfen Sie die externe Kerberos-ID unter HANA Benutzerum festzustellen, ob die IDs übereinstimmen.

Überprüfen

Nachdem Sie das Problem behoben haben, können Sie Berichte im Power BI-Dienst erstellen oder aktualisieren.

Weitere Informationen zum lokalen Datengateway und zu DirectQuery finden Sie in den folgenden Ressourcen: