Freigeben über


Verwenden von Kerberos für SSO (Single Sign-On, Einmaliges Anmelden) bei SAP BW mithilfe von gx64krb5

In diesem Artikel wird beschrieben, wie Sie Ihre SAP Business Warehouse (BW)-Datenquelle konfigurieren, um einmaliges Anmelden (Single Sign-On, SSO) aus dem Power BI-Dienst mithilfe von gx64krb5 zu aktivieren.

Wichtig

Microsoft ermöglicht Ihnen das Erstellen von Verbindungen mithilfe von SNC-Bibliotheken (secure Network Communications) (z. B. gx64krb5), bietet jedoch keine Unterstützung für diese Konfigurationen. SAP bietet ebenso keine Unterstützung für gx64krb5-Bibliotheken für lokale Datengateways in Power BI mehr, und die zur Konfiguration für das Gateway erforderlichen Schritte sind im Vergleich mit CommonCryptoLib deutlich komplexer. Daher empfiehlt Microsoft, stattdessen CommonCryptoLib zu verwenden. Weitere Informationen finden Sie im SAP-Hinweis 352295. Beachten Sie auch, dass gx64krb5 keine SSO-Verbindungen vom Datengateway zu SAP BW-Nachrichtenservern zulässt. Es sind nur Verbindungen mit SAP BW-Anwendungsservern möglich. Diese Einschränkung entfällt, wenn Sie CommonCryptoLib als SNC-Bibliothek verwenden. Informationen zum Konfigurieren von SSO unter Verwendung von CommonCryptoLib finden Sie unter Konfigurieren von SAP BW für SSO mithilfe von CommonCryptoLib. Sie sollten CommonCryptoLib oder gx64krb5 als SNC-Bibliothek verwenden, keinesfalls beides. Führen Sie nicht die Konfigurationsschritte für beide Bibliotheken aus.

Hinweis

Das Konfigurieren beider Bibliotheken(sapcrypto und gx64krb5) auf demselben Gatewayserver ist ein nicht unterstütztes Szenario. Es wird nicht empfohlen, beide Bibliotheken auf demselben Gatewayserver zu konfigurieren, da es zu einer Mischung aus Bibliotheken führt. Wenn Sie beide Bibliotheken verwenden möchten, trennen Sie den Gatewayserver vollständig. Konfigurieren Sie z. B. gx64krb5 für Server A und sapcrypto für Server B. Beachten Sie dabei, dass Fehler auf Server A, der gx64krb5 verwendet, nicht unterstützt werden, da gx64krb5 von SAP und Microsoft nicht mehr unterstützt wird.

Dieser Leitfaden ist sehr umfassend gestaltet. Sollten Sie einige dieser Schritte bereits ausgeführt haben, können Sie sie überspringen. Beispielsweise haben Sie möglicherweise bereits Ihren SAP BW-Server für SSO mithilfe von gx64krb5 konfiguriert.

Einrichten von gx64krb5 auf dem Gatewaycomputer und dem SAP BW-Server

Die gx64krb5-Bibliothek muss sowohl vom Client als auch vom Server verwendet werden, damit eine SSO-Verbindung über das Gateway hergestellt werden kann, d. h. Client und Server müssen die gleiche SNC-Bibliothek verwenden.

  1. Laden Sie „gx64krb5.dll“ aus dem SAP-Hinweis 2115486 herunter (S-User von SAP erforderlich). Stellen Sie sicher, dass Sie mindestens über Version 1.0.11.x verfügen. Laden Sie außerdem „gsskrb5.dll“ (die 32-Bit-Version der Bibliothek) herunter, wenn Sie die SSO-Verbindung in der SAP-GUI testen möchten, bevor Sie die SSO-Verbindung über das Gateway versuchen (empfohlen). Die 32-Bit-Version ist für das Testen mit der SAP-GUI erforderlich, da die SAP-GUI nur als 32-Bit-Version verfügbar ist.

  2. Platzieren Sie „gx64krb5.dll“ an einem Speicherort auf Ihrem Gatewaycomputer, auf den der Gatewaydienstbenutzer zugreifen kann. Wenn Sie die SSO-Verbindung mithilfe der SAP-GUI testen möchten, speichern Sie auch eine Kopie von „gsskrb5.dll“ auf dem Computer, und legen Sie die Umgebungsvariable SNC_LIB so fest, dass sie darauf verweist. Sowohl der Gatewaydienstbenutzer als auch die Active Directory-Benutzer (AD), deren Identität der Dienstbenutzer annimmt, benötigen Lese- und Ausführungsberechtigungen für die Kopie von „gx64krb5.dll“. Es wird empfohlen, der Gruppe „Authentifizierte Benutzer“ Berechtigungen für die DLL zu erteilen. Zu Testzwecken können Sie diese Berechtigungen auch explizit sowohl dem Gatewaydienstbenutzer als auch dem AD-Benutzer erteilen, den Sie zum Testen verwenden.

  3. Wenn Ihr BW-Server noch nicht mithilfe von „gx64krb5.dll“ für SSO konfiguriert wurde, legen Sie eine weitere Kopie der DLL-Datei auf Ihrem SAP BW-Servercomputer an einem Speicherort ab, auf den der SAP BW-Server zugreifen kann.

    Weitere Informationen zum Konfigurieren von „gx64krb5.dll“ für die Verwendung mit einem SAP BW-Server finden Sie in der SAP-Dokumentation (S-User erforderlich).

  4. Legen Sie auf dem Client- und Servercomputer die Umgebungsvariablen SNC_LIB und SNC_LIB_64 fest:

    • Wenn Sie „gsskrb5.dll“ verwenden, legen Sie die Variable SNC_LIB auf den absoluten Pfad von „gsskrb5.dll“ fest.
    • Wenn Sie „gx64krb5.dll“ verwenden, legen Sie die Variable SNC_LIB_64 auf den absoluten Pfad von „gx64krb5.dll“ fest.

Konfigurieren eines SAP BW-Dienstbenutzers und Aktivieren der SNC-Kommunikation auf dem BW-Server

Bearbeiten Sie diesen Abschnitt, wenn Sie Ihren SAP BW-Server noch nicht für die SNC-Kommunikation (beispielsweise SSO) mithilfe von gx64krb5 konfiguriert haben.

Hinweis

In diesem Abschnitt wird davon ausgegangen, dass Sie bereits einen Dienstbenutzer für BW erstellt und einen passenden SPN daran gebunden haben (d. h. einen Namen, der mit SAP/ beginnt).

  1. Gewähren Sie dem Dienstbenutzer Zugriff auf Ihren SAP BW-Anwendungsserver:

    1. Fügen Sie auf dem SAP BW-Servercomputer den Dienstbenutzer zur lokalen Administratorgruppe hinzu. Öffnen Sie hierzu das Programm Computerverwaltung, und ermitteln Sie die Gruppe der lokale Administratoren für Ihren Server.

      Programm „Computerverwaltung“

    2. Doppelklicken Sie auf die Gruppe "Lokaler Administrator", und wählen Sie "Hinzufügen" aus, um Den Dienstbenutzer zur Gruppe hinzuzufügen.

    3. Wählen Sie Namen überprüfen aus, um sicherzustellen, dass Sie den Namen korrekt eingegeben haben. Klicken Sie dann auf OK.

  2. Legen Sie den Dienstbenutzer des SAP BW-Servers als den Benutzer fest, der den SAP BW-Serverdienst auf dem SAP BW-Servercomputer startet:

    1. Öffnen Sie Ausführen, und geben Sie dann Services.msc ein.

    2. Suchen Sie den Dienst, der der Instanz Ihres SAP BW-Anwendungsservers entspricht, klicken Sie mit der rechten Maustaste darauf, und wählen Sie dann Eigenschaften aus.

      Screenshot: „Dienste“ mit hervorgehobener Option „Eigenschaften“

    3. Wechseln Sie zur Registerkarte "Anmelden ", und ändern Sie den Benutzer in Ihren SAP BW-Dienstbenutzer.

    4. Geben Sie das Kennwort des Benutzers ein, und wählen Sie dann "OK" aus.

  3. Melden Sie sich über SAP Logon bei Ihrem Server an, und legen Sie mithilfe der Transaktion RZ10 die folgenden Profilparameter fest:

    1. Legen Sie den Profilparameter snc/identity/as auf p:<von Ihnen erstellter SAP BW-Dienstbenutzer> fest. Beispielsweise p:BWServiceUser@MYDOMAIN.COM. Beachten Sie, dass p: vor dem Benutzerprinzipalnamen des Dienstbenutzers (UPN) steht, im Gegensatz zu p:CN=, das dem UPN vorausgeht, wenn Sie CommonCryptoLib als SNC-Bibliothek verwenden.

    2. Legen Sie den Profilparameter snc/gssapi_lib auf den <Pfad zu gx64krb5.dll auf dem BW-Server> fest. Platzieren Sie die Bibliothek an einem Ort, auf den der SAP BW-Anwendungsserver zugreifen kann.

    3. Legen Sie außerdem die folgenden zusätzlichen Profilparameter fest, deren Wert Sie nach Bedarf ändern können. Die letzten fünf Optionen ermöglichen es Clients, über SAP Logon eine Verbindung mit dem SAP BW-Server herzustellen, ohne dass SNC konfiguriert ist.

      Einstellung Wert
      snc/data_protection/max 3
      snc/data_protection/min 1
      snc/data_protection/use 9
      snc/accept_insecure_cpic 1
      snc/accept_insecure_gui 1
      snc/accept_insecure_r3int_rfc 1
      snc/accept_insecure_rfc 1
      snc/permit_insecure_start 1
    4. Legen Sie die Eigenschaft snc/enable auf 1 fest.

  4. Nachdem Sie diese Profilparameter festgelegt haben, öffnen Sie auf dem Servercomputer die SAP-Verwaltungskonsole, und starten Sie die SAP BW-Instanz neu.

    Sollte der Server nicht starten, vergewissern Sie sich, dass Sie die Profilparameter korrekt festgelegt haben. Weitere Informationen zu den Einstellungen für die Profilparameter finden Sie in der SAP-Dokumentation. Sie können auch den Abschnitt Problembehandlung im vorliegenden Artikel zurate ziehen.

Zuordnen eines SAP BW-Benutzers zu einem Active Directory-Benutzer

Falls noch nicht geschehen, ordnen Sie einen AD-Benutzer einem SAP BW Application Server-Benutzer zu, und testen Sie die SSO-Verbindung in DER SAP-Anmeldung.

  1. Melden Sie sich mit SAP Logon bei Ihrem SAP BW-Server an. Führen Sie die Transaktion SU01 aus.

  2. Geben Sie für User (Benutzer) den SAP BW-Benutzer ein, für den Sie SSO-Verbindungen aktivieren möchten. Klicken Sie im linken oberen Bereich des SAP Logon-Fensters auf das Bearbeitungssymbol (Stift).

    Screenshot: SAP BW-Bildschirm für die Benutzerwartung

  3. Wählen Sie die Registerkarte SNC aus. Geben Sie im Eingabefeld „SNC name“ (SNC-Name) die Zeichenfolge p:<Ihr Active Directory-Benutzer>@<Ihre Domäne> ein. Für den SNC-Namen muss p: dem UPN des AD-Benutzers vorangestellt sein. Für den UPN muss die Groß-/Kleinschreibung beachtet werden.

    Der von Ihnen angegebene AD-Benutzer sollte der Person oder Organisation angehören, für die Sie den SSO-Zugriff auf den SAP BW Application Server aktivieren möchten. Wenn Sie beispielsweise dem Benutzer testuser@TESTDOMAIN.COM SSO-Zugriff gewähren möchten, geben Sie p:testuser@TESTDOMAIN.COM ein.

    Screenshot: SAP BW-Bildschirm für die Benutzerwartung

  4. Klicken Sie im linken oberen Bereich des Bildschirms auf das Speichersymbol (Diskette).

Testen der Anmeldung über SSO

Vergewissern Sie sich, dass Sie sich mit DER SAP-Anmeldung über SSO als AD-Benutzer anmelden können, für den Sie den SSO-Zugriff aktiviert haben:

  1. Melden Sie sich als AD-Benutzer, für den Sie nur den SSO-Zugriff aktiviert haben, bei einem Computer in Ihrer Domäne an, auf dem SAP-Anmeldung installiert ist. Starten Sie SAP Logon, und erstellen Sie eine neue Verbindung.

  2. Kopieren Sie die zuvor heruntergeladene gsskrb5.dll Datei an einen Speicherort auf dem Computer, bei dem Sie sich angemeldet haben. Legen Sie die Umgebungsvariable SNC_LIB auf den absoluten Pfad dieses Speicherorts fest.

  3. Starten Sie DIE SAP-Anmeldung, und erstellen Sie eine neue Verbindung.

  4. Wählen Sie im Fenster Neuen Systemeintrag erstellen die Option Vom Benutzer angegebenes System und dann Weiter aus.

    Screenshot: Neuen Systemeintrag erstellen

  5. Geben Sie auf dem nächsten Bildschirm die entsprechenden Details (einschließlich Anwendungsserver, Instanznummer und System-ID) ein. Wählen Sie Fertig stellen aus.

  6. Klicken Sie mit der rechten Maustaste auf die neue Verbindung, wählen Sie Eigenschaften und anschließend die Registerkarte Netzwerk aus.

  7. Geben Sie im Feld SNC-Name den Wert p:<UPN des SAP BW-Dienstbenutzers> ein. Beispielsweise p:BWServiceUser@MYDOMAIN.COM. Klicken Sie auf OK.

    Screenshot: Eigenschaften des Systemeintrags

  8. Doppelklicken Sie auf die Verbindung, die Sie gerade erstellt haben, um eine SSO-Verbindung mit dem SAP BW-Server herzustellen.

    Wenn die Verbindung erfolgreich hergestellt werden kann, fahren Sie mit dem nächsten Abschnitt fort. Gehen Sie andernfalls die vorherigen Schritt in dieser Dokumentation erneut durch, um sicherzustellen, dass diese ordnungsgemäß durchgeführt wurden. Alternativ können Sie den Abschnitt zur Problembehandlung zurate ziehen. Wenn Sie in diesem Kontext keine SSO-Verbindung mit dem SAP BW-Server herstellen können, können Sie auch im Gatewaykontext keine SSO-Verbindung mit dem SAP BW-Server herstellen.

Hinzufügen von Registrierungseinträgen zum Gatewaycomputer

Fügen Sie die erforderlichen Einträge zur Registrierung des Computers hinzu, auf dem das Gateway installiert ist, sowie zu den Computern, die für die Verbindung von Power BI Desktop vorgesehen sind. Führen Sie zum Hinzufügen dieser Registrierungseinträge die folgenden Befehle aus:

  • REG ADD HKLM\SOFTWARE\Wow6432Node\SAP\gsskrb5 /v ForceIniCredOK /t REG_DWORD /d 1 /f

  • REG ADD HKLM\SOFTWARE\SAP\gsskrb5 /v ForceIniCredOK /t REG_DWORD /d 1 /f

Hinzufügen einer neuen Datenquelle vom Typ „SAP BW-Anwendungsserver“ zum Power BI-Dienst oder Bearbeiten einer vorhandenen Datenquelle

  1. Geben Sie im Fenster für die Konfiguration der Datenquelle genau wie bei der Anmeldung beim SAP BW-Server über Power BI Desktop den Hostnamen, die Systemnummer und die Client-ID des SAP BW-Anwendungsservers ein.

  2. Geben Sie im Feld Name des SNC-Partners den p:<SPN ein, den Sie Ihrem SAP BW-Dienstbenutzer zugeordnet haben> . Wenn der SPN beispielsweise SAP/BWServiceUser@MYDOMAIN.COM lautet, geben Sie p:SAP/BWServiceUser@MYDOMAIN.COM in das Feld SNC Partner Name ein.

  3. Wählen Sie für die SNC-Bibliothek die Option Benutzerdefiniert aus, und geben Sie den absoluten Pfad GX64KRB5.DLL oder GSSKRB5.DLL auf dem Gatewaycomputer an.

  4. Aktivieren Sie SSO über Kerberos für DirectQuery-Abfragen verwenden, und wählen Sie Anwenden aus. Wenn die Testverbindung nicht erfolgreich ist, überprüfen Sie, dass das Setup und die Konfigurationsschritte ordnungsgemäß durchgeführt wurden.

  5. Ausführen eines Power BI-Berichts.

Problembehandlung

Problembehandlung der gx64krb5-Konfiguration

Falls eines der nachfolgend aufgeführten Probleme mit der gx64krb5-Installation oder mit SSO-Verbindungen auftritt, gehen Sie wie folgt vor:

  • Beim Ausführen der Schritte für das gx64krb5-Setup kommt es zu Fehlern. Beispielsweise kann es vorkommen, dass der SAP BW-Server nicht gestartet wird, nachdem die Profilparameter geändert wurden. Zeigen Sie die Serverprotokolle („…work\dev_w0“ auf dem Servercomputer) an, um diese Fehler zu beheben.

  • Der SAP BW-Dienst kann aufgrund eines Anmeldefehlers nicht gestartet werden. Möglicherweise haben Sie das falsche Kennwort angegeben, als Sie den start-as-Benutzer für SAP BW eingerichtet haben. Überprüfen Sie das Kennwort, indem Sie sich als SAP BW-Dienstbenutzer auf einem Computer in Ihrer AD-Umgebung anmelden.

  • Sie erhalten Fehler bei zugrunde liegenden Datenquellenanmeldeinformationen (z. B. SQL Server), die verhindern, dass der Server gestartet wird. Vergewissern Sie sich, dass Sie dem Dienstbenutzer Zugriff auf die SAP BW-Datenbank erteilt haben.

  • Sie erhalten die folgende Meldung: (GSS-API) Das angegebene Ziel ist unbekannt oder nicht erreichbar. Dieser deutet üblicherweise darauf hin, dass Sie den falschen SNC-Namen angegeben haben. Vergewissern Sie sich, dass Sie in der Clientanwendung dem UPN des Dienstbenutzers nur p: und nicht p:CN= vorangestellt haben.

  • Sie erhalten die folgende Meldung: (GSS-API) Es wurde ein ungültiger Name angegeben. Vergewissern Sie sich, dass der Wert p: als SNC-Identitätsprofilparameters des Servers angegeben ist.

  • Sie erhalten die folgende Meldung: (SNC-Fehler) Das angegebene Modul wurde nicht gefunden. Dieser Fehler wird häufig dadurch verursacht, dass „gx64krb5.dll“ an einem Speicherort angelegt wird, auf den nur mit erhöhten Rechten (../Administratorrechten) zugegriffen werden kann.

Behandeln von Problemen mit der Gatewaykonnektivität

  1. Überprüfen Sie die Gatewayprotokolle. Öffnen Sie die Gatewaykonfigurationsanwendung, und wählen Sie "Diagnose" und dann " Protokolle exportieren" aus. Die neuesten Fehler befinden sich jeweils am Ende einer Protokolldatei.

    Lokales Datengateway mit hervorgehobener Diagnose

  2. Aktivieren Sie die SAP BW-Ablaufverfolgung, und überprüfen Sie die generierten Protokolldateien. Es sind verschiedene Arten von SAP BW-Ablaufverfolgungen verfügbar (z. B. CPIC-Ablaufverfolgung):

    a. Legen Sie zum Aktivieren der CPIC-Ablaufverfolgung zwei Umgebungsvariablen fest:CPIC_TRACE und CPIC_TRACE_DIR.

    Mit der ersten Variablen wird die Ablaufverfolgungsebene festgelegt, die zweite Variable gibt das Verzeichnis für die Ablaufverfolgungsdatei an. Bei dem Verzeichnis muss es sich um einen Speicherort handeln, in den Mitglieder der Gruppe „Authentifizierte Benutzer“ schreiben können.

    b. Legen Sie CPIC_TRACE auf 3 und CPIC_TRACE_DIR auf das Verzeichnis fest, in das die Ablaufverfolgungsdateien geschrieben werden sollen. Zum Beispiel:

    CPIC-Ablaufverfolgung

    c. Reproduzieren Sie das Problem, und stellen Sie sicher, dass CPIC_TRACE_DIR Ablaufverfolgungsdateien enthält.

    d. Untersuchen Sie die Inhalte der Ablaufverfolgungsdateien, um das Problem zu ermitteln. Sie können beispielsweise feststellen, dass gx64krb5.dll nicht ordnungsgemäß geladen wurde oder dass ein AD-Benutzer nicht ordnungsgemäß geladen wurde oder dass ein AD-Benutzer anders als der, den Sie erwartet haben, den SSO-Verbindungsversuch initiiert hat.

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