Używanie protokołu Kerberos na potrzeby logowania jednokrotnego (SSO) do systemu SAP BW przy użyciu biblioteki gx64krb5
W tym artykule opisano sposób konfigurowania źródła danych sap Business Warehouse (BW) w celu włączenia logowania jednokrotnego (SSO) z usługa Power BI przy użyciu biblioteki gx64krb5.
Ważne
Firma Microsoft umożliwi tworzenie połączeń przy użyciu bibliotek Secure Network Communications (SNC) (takich jak gx64krb5), ale nie zapewni obsługi tych konfiguracji. Ponadto platforma SAP nie obsługuje już biblioteki gx64krb5 dla lokalnych bram danych w usłudze Power BI, a kroki wymagane do skonfigurowania bramy są znacznie bardziej złożone w porównaniu z biblioteką CommonCryptoLib. W związku z tym firma Microsoft zaleca użycie biblioteki CommonCryptoLib. Aby uzyskać więcej informacji, zobacz sap Note 352295. Należy pamiętać, że gx64krb5 nie zezwala na połączenia logowania jednokrotnego z bramy danych do serwerów komunikatów SAP BW; Możliwe są tylko połączenia z serwerami aplikacji SAP BW. To ograniczenie nie istnieje, jeśli używasz biblioteki CommonCryptoLib jako biblioteki SNC. Aby uzyskać informacje na temat konfigurowania logowania jednokrotnego przy użyciu biblioteki CommonCryptoLib, zobacz Konfigurowanie programu SAP BW pod kątem logowania jednokrotnego przy użyciu biblioteki CommonCryptoLib. Użyj biblioteki CommonCryptoLib lub gx64krb5 jako biblioteki SNC, ale nie obu. Nie należy wykonywać kroków konfiguracji dla obu bibliotek.
Uwaga
Konfigurowanie obu bibliotek (sapcrypto i gx64krb5) na tym samym serwerze bramy jest nieobsługiwanym scenariuszem. Nie zaleca się konfigurowania obu bibliotek na tym samym serwerze bramy, co spowoduje połączenie bibliotek. Jeśli chcesz użyć obu bibliotek, należy w pełni oddzielić serwer bramy. Na przykład skonfiguruj gx64krb5 dla serwera A, a następnie sapcrypto dla serwera B. Należy pamiętać, że wszelkie błędy na serwerze A używające biblioteki gx64krb5 nie są obsługiwane, ponieważ gx64krb5 nie jest już obsługiwana przez oprogramowanie SAP i firmę Microsoft.
Ten przewodnik jest kompleksowy; Jeśli zostały już wykonane niektóre z opisanych kroków, możesz je pominąć. Na przykład być może skonfigurowano już serwer SAP BW na potrzeby logowania jednokrotnego przy użyciu biblioteki gx64krb5.
Konfigurowanie biblioteki gx64krb5 na maszynie bramy i serwerze SAP BW
Biblioteka gx64krb5 musi być używana zarówno przez klienta, jak i serwer w celu ukończenia połączenia logowania jednokrotnego za pośrednictwem bramy. Oznacza to, że zarówno klient, jak i serwer muszą używać tej samej biblioteki SNC.
Pobierz gx64krb5.dll z 2115486 SAP Note (wymagany jest użytkownik sap). Upewnij się, że masz co najmniej wersję 1.0.11.x. Ponadto pobierz gsskrb5.dll (32-bitową wersję biblioteki), jeśli chcesz przetestować połączenie logowania jednokrotnego w graficznym interfejsie użytkownika sap przed podjęciem próby nawiązania połączenia z logowaniem jednokrotnym za pośrednictwem bramy (zalecane). Wersja 32-bitowa jest wymagana do testowania za pomocą graficznego interfejsu użytkownika sap, ponieważ graficzny interfejs użytkownika sap jest tylko 32-bitowy.
Umieść gx64krb5.dll w lokalizacji na maszynie bramy, która jest dostępna dla użytkownika usługi bramy. Jeśli chcesz przetestować połączenie logowania jednokrotnego z graficznym interfejsem użytkownika sap, umieść również kopię gsskrb5.dll na maszynie i ustaw zmienną środowiskową SNC_LIB , aby ją wskazać. Zarówno użytkownik usługi bramy, jak i użytkownicy usługi Active Directory (AD), których użytkownik usługi będzie personifikować, muszą mieć uprawnienia do odczytu i wykonywania kopii gx64krb5.dll. Zalecamy przyznanie uprawnień do .dll grupie Uwierzytelnieni użytkownicy. W celach testowych można również jawnie przyznać te uprawnienia zarówno użytkownikowi usługi bramy, jak i użytkownikowi usługi AD, którego używasz do testowania.
Jeśli serwer BW nie został jeszcze skonfigurowany do logowania jednokrotnego przy użyciu gx64krb5.dll, umieść kolejną kopię .dll na maszynie serwera SAP BW w lokalizacji dostępnej dla serwera SAP BW.
Aby uzyskać więcej informacji na temat konfigurowania gx64krb5.dll do użycia z serwerem SAP BW, zobacz dokumentację systemu SAP (wymagany jest użytkownik oprogramowania SAP).
Na maszynach klienckich i serwera ustaw zmienne środowiskowe SNC_LIB i SNC_LIB_64 :
- Jeśli używasz gsskrb5.dll, ustaw zmienną SNC_LIB na ścieżkę bezwzględną.
- Jeśli używasz gx64krb5.dll, ustaw zmienną SNC_LIB_64 na ścieżkę bezwzględną.
Konfigurowanie użytkownika usługi SAP BW i włączanie komunikacji SNC na serwerze BW
Wykonaj tę sekcję, jeśli nie skonfigurowano jeszcze serwera SAP BW na potrzeby komunikacji SNC (na przykład logowania jednokrotnego) przy użyciu biblioteki gx64krb5.
Uwaga
W tej sekcji założono, że użytkownik usługi został już utworzony dla usługi BW i powiązał z nią odpowiednią nazwę SPN (czyli nazwę rozpoczynającą się od sap/).
Nadaj użytkownikowi usługi dostęp do serwera aplikacji SAP BW:
Na maszynie serwera SAP BW dodaj użytkownika usługi do grupy Administrator lokalny. Otwórz program Zarządzanie komputerem i zidentyfikuj grupę administratorów lokalnych dla serwera.
Kliknij dwukrotnie grupę Administrator lokalny, a następnie wybierz pozycję Dodaj , aby dodać użytkownika usługi do grupy.
Wybierz pozycję Sprawdź nazwy , aby upewnić się, że nazwa została wprowadzona poprawnie, a następnie wybierz przycisk OK.
Ustaw użytkownika usługi serwera SAP BW jako użytkownika, który uruchamia usługę serwera SAP BW na maszynie serwera SAP BW:
Otwórz polecenie Uruchom, a następnie wprowadź ciąg Services.msc.
Znajdź usługę odpowiadającą wystąpieniu serwera aplikacji SAP BW, kliknij ją prawym przyciskiem myszy, a następnie wybierz polecenie Właściwości.
Przejdź do karty Logowanie i zmień użytkownika na użytkownika usługi SAP BW.
Wprowadź hasło użytkownika, a następnie wybierz przycisk OK.
W programie SAP Logon zaloguj się do serwera i ustaw następujące parametry profilu przy użyciu transakcji RZ10:
Ustaw parametr profilu snc/identity/as na wartość p:<utworzony użytkownik> usługi SAP BW. Na przykład p:BWServiceUser@MYDOMAIN.COM. Należy pamiętać, że p: poprzedza główną nazwę użytkownika usługi (UPN), w przeciwieństwie do p:CN=, która poprzedza nazwę UPN podczas korzystania z biblioteki CommonCryptoLib jako biblioteki SNC.
Ustaw parametr profilu snc/gssapi_lib na <ścieżkę do gx64krb5.dll na serwerze> BW. Umieść bibliotekę w lokalizacji, do którego może uzyskać dostęp serwer aplikacji SAP BW.
Ustaw następujące dodatkowe parametry profilu, zmieniając wartości zgodnie z potrzebami. Ostatnie pięć opcji umożliwia klientom łączenie się z serwerem SAP BW przy użyciu programu SAP Logon bez skonfigurowania protokołu SNC.
Ustawienie Wartość 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 Ustaw właściwość snc/enable na 1.
Po ustawieniu tych parametrów profilu otwórz konsolę SAP Management Console na maszynie serwera i uruchom ponownie wystąpienie sap BW.
Jeśli serwer nie zostanie uruchomiony, upewnij się, że parametry profilu zostały ustawione poprawnie. Aby uzyskać więcej informacji na temat ustawień parametrów profilu, zobacz dokumentację systemu SAP. Możesz również zapoznać się z sekcją Rozwiązywanie problemów w tym artykule.
Mapowania użytkownika systemu SAP BW na użytkownika usługi Active Directory
Jeśli jeszcze tego nie zrobiono, zamapuj użytkownika usługi AD na użytkownika serwera aplikacji SAP BW i przetestuj połączenie logowania jednokrotnego w programie SAP Logon.
Zaloguj się do serwera SAP BW przy użyciu programu SAP Logon. Uruchom transakcję SU01.
W polu Użytkownik wprowadź użytkownika oprogramowania SAP BW, dla którego chcesz włączyć połączenie logowania jednokrotnego. Wybierz ikonę Edytuj (ikona pióra) w lewym górnym rogu okna logowania SAP.
Wybierz kartę SNC . W polu wejściowym nazwy SNC wprowadź wartość p:<your Active Directory user>@<your domain>. W przypadku nazwy SNC p: musi poprzedzać nazwę UPN użytkownika usługi AD. Należy pamiętać, że w nazwach UPN jest uwzględniana wielkość liter.
Określony użytkownik usługi AD powinien należeć do osoby lub organizacji, dla której chcesz włączyć dostęp za pomocą logowania jednokrotnego do serwera aplikacji SAP BW. Jeśli na przykład chcesz włączyć dostęp do logowania jednokrotnego dla użytkownika testuser@TESTDOMAIN.COM, wprowadź wartość p:testuser@TESTDOMAIN.COM.
Wybierz ikonę Zapisz (obraz dyskietki) w lewym górnym rogu ekranu.
Testowanie logowania za pomocą logowania jednokrotnego
Sprawdź, czy możesz zalogować się do serwera przy użyciu programu SAP Logon za pośrednictwem logowania jednokrotnego jako użytkownik usługi AD, dla którego włączono dostęp za pomocą logowania jednokrotnego:
Jako użytkownik usługi AD, dla którego właśnie włączono dostęp za pomocą logowania jednokrotnego, zaloguj się do maszyny w domenie, na której zainstalowano program SAP Logon. Uruchom program SAP Logon i utwórz nowe połączenie.
Skopiuj pobrany wcześniej plik gsskrb5.dll do lokalizacji na maszynie, do której się zalogowano. Ustaw zmienną środowiskową SNC_LIB na ścieżkę bezwzględną tej lokalizacji.
Uruchom program SAP Logon i utwórz nowe połączenie.
Na ekranie Tworzenie nowego wpisu systemowego wybierz pozycję System określony przez użytkownika, a następnie wybierz przycisk Dalej.
Wypełnij odpowiednie szczegóły na następnym ekranie, w tym serwer aplikacji, numer wystąpienia i identyfikator systemu. Następnie wybierz pozycję Zakończ.
Kliknij prawym przyciskiem myszy nowe połączenie, wybierz pozycję Właściwości, a następnie wybierz kartę Sieć .
W polu Nazwa SNC wprowadź nazwę UPN> użytkownika usługi SAP< BW. Na przykład p:BWServiceUser@MYDOMAIN.COM. Wybierz przycisk OK.
Kliknij dwukrotnie utworzone połączenie, aby spróbować nawiązać połączenie logowania jednokrotnego z serwerem SAP BW.
Jeśli to połączenie powiedzie się, przejdź do następnej sekcji. W przeciwnym razie zapoznaj się z wcześniejszymi krokami w tym dokumencie, aby upewnić się, że zostały one wykonane poprawnie, lub zapoznaj się z sekcją Rozwiązywanie problemów . Jeśli nie możesz nawiązać połączenia z serwerem SAP BW za pomocą logowania jednokrotnego w tym kontekście, nie będzie można nawiązać połączenia z serwerem SAP BW przy użyciu logowania jednokrotnego w kontekście bramy.
Dodawanie wpisów rejestru do maszyny bramy
Dodaj wymagane wpisy rejestru do rejestru maszyny, na którym zainstalowano bramę, oraz do maszyn przeznaczonych do nawiązania połączenia z programu Power BI Desktop. Aby dodać te wpisy rejestru, uruchom następujące polecenia:
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
Dodawanie nowego źródła danych serwera aplikacji SAP BW do usługa Power BI lub edytowanie istniejącego źródła danych
W oknie konfiguracji źródła danych wprowadź nazwę hosta serwera aplikacji SAP BW, numer systemu i identyfikator klienta, tak jak chcesz zalogować się do serwera SAP BW z programu Power BI Desktop.
W polu Nazwa partnera SNC wprowadź wartość p:<SPN zamapowana na użytkownika> usługi SAP BW. Jeśli na przykład nazwa SPN to SAP/BWServiceUser@MYDOMAIN.COM, wprowadź wartość p:SAP/BWServiceUser@MYDOMAIN.COM w polu Nazwa partnera SNC.
W przypadku biblioteki SNC wybierz opcję Niestandardowa i podaj ścieżkę bezwzględną dla GX64KRB5.DLL lub GSSKRB5.DLL na maszynie bramy.
Wybierz pozycję Użyj logowania jednokrotnego za pośrednictwem protokołu Kerberos dla zapytań DirectQuery, a następnie wybierz pozycję Zastosuj. Jeśli połączenie testowe nie powiedzie się, sprawdź, czy poprzednie kroki konfiguracji i konfiguracji zostały wykonane poprawnie.
Uruchamianie raportu usługi Power BI.
Rozwiązywanie problemów
Rozwiązywanie problemów z konfiguracją biblioteki gx64krb5
Jeśli wystąpi którykolwiek z następujących problemów, wykonaj następujące kroki, aby rozwiązać problemy z instalacją biblioteki gx64krb5 i połączeniami logowania jednokrotnego:
Podczas wykonywania kroków konfiguracji gx64krb5 występują błędy. Na przykład serwer SAP BW nie zostanie uruchomiony po zmianie parametrów profilu. Wyświetl dzienniki serwera (... work\dev_w0 na maszynie serwera), aby rozwiązać te błędy.
Nie można uruchomić usługi SAP BW z powodu niepowodzenia logowania. Być może po ustawieniu użytkownika start-as oprogramowania SAP BW podano nieprawidłowe hasło. Sprawdź hasło, logując się jako użytkownik usługi SAP BW na maszynie w środowisku usługi AD.
Występują błędy dotyczące podstawowych poświadczeń źródła danych (na przykład programu SQL Server), które uniemożliwiają uruchomienie serwera. Sprawdź, czy udzielono użytkownikowi usługi dostępu do bazy danych SAP BW.
Zostanie wyświetlony następujący komunikat: (GSS-API) określony element docelowy jest nieznany lub niedostępny. Ten błąd zwykle oznacza, że określono nieprawidłową nazwę SNC. Pamiętaj, aby użyć nazwy UPN użytkownika usługi tylko, a nie p:CN=, aby poprzedzić nazwę UPN użytkownika usługi w aplikacji klienckiej.
Zostanie wyświetlony następujący komunikat: (GSS-API) Podano nieprawidłową nazwę. Upewnij się, że p: jest wartością parametru profilu tożsamości SNC serwera.
Zostanie wyświetlony następujący komunikat: (błąd SNC) nie można odnaleźć określonego modułu. Ten błąd jest często spowodowany umieszczeniem gx64krb5.dll w lokalizacji wymagającej podwyższonego poziomu uprawnień (.). /administrator rights) w celu uzyskania dostępu.
Rozwiązywanie problemów z łącznością bramy
Sprawdź dzienniki bramy. Otwórz aplikację konfiguracji bramy i wybierz pozycję Diagnostyka, a następnie pozycję Eksportuj dzienniki. Najnowsze błędy znajdują się na końcu wszystkich sprawdzanych plików dziennika.
Włącz śledzenie systemu SAP BW i przejrzyj wygenerowane pliki dziennika. Dostępnych jest kilka różnych typów śledzenia systemu SAP BW (na przykład śledzenie CPIC):
a. Aby włączyć śledzenie CPIC, ustaw dwie zmienne środowiskowe: CPIC_TRACE i CPIC_TRACE_DIR.
Pierwsza zmienna ustawia poziom śledzenia, a druga zmienna ustawia katalog plików śledzenia. Katalog musi być lokalizacją, do którą mogą zapisywać członkowie grupy Uwierzytelnieni użytkownicy.
b. Ustaw CPIC_TRACE wartość 3 i CPIC_TRACE_DIR na dowolny katalog, do którego mają być zapisywane pliki śledzenia. Na przykład:
c. Odtwórz problem i upewnij się, że CPIC_TRACE_DIR zawiera pliki śledzenia.
d. Sprawdź zawartość plików śledzenia, aby określić problem z blokowaniem. Na przykład może się okazać, że gx64krb5.dll nie został prawidłowo załadowany lub że użytkownik usługi AD inny niż oczekiwano zainicjował próbę nawiązania połączenia z logowaniem jednokrotnym.
Powiązana zawartość
Aby uzyskać więcej informacji na temat lokalnej bramy danych i trybu DirectQuery, zobacz następujące zasoby: