Używanie protokołu Kerberos do logowania jednokrotnego na platformie SAP HANA
W tym artykule opisano sposób konfigurowania źródła danych sap HANA w celu włączenia logowania jednokrotnego z usługa Power BI.
Ważne
Ponieważ oprogramowanie SAP nie obsługuje już biblioteki OpenSSL, firma Microsoft również zaprzestała obsługi. Istniejące połączenia nadal działają, ale nie można już tworzyć nowych połączeń. Zamiast tego użyj biblioteki kryptograficznego SAP (CommonCryptoLib) lub sapcrypto.
Uwaga
Przed podjęciem próby odświeżenia raportu opartego na oprogramowaniu SAP HANA korzystającego z logowania jednokrotnego protokołu Kerberos wykonaj kroki opisane w tym artykule i Skonfiguruj logowanie jednokrotne protokołu Kerberos.
Włączanie logowania jednokrotnego dla platformy SAP HANA
Aby włączyć logowanie jednokrotne dla platformy SAP HANA, wykonaj następujące kroki:
Upewnij się, że na serwerze SAP HANA jest uruchomiona wymagana minimalna wersja, która zależy od poziomu platformy serwera SAP HANA:
Na komputerze bramy zainstaluj najnowszy sterownik SAP HANA ODBC. Minimalna wersja to HANA ODBC w wersji 2.00.020.00 z sierpnia 2017 r.
Upewnij się, że serwer SAP HANA został skonfigurowany na potrzeby logowania jednokrotnego opartego na protokole Kerberos. Aby uzyskać więcej informacji na temat konfigurowania logowania jednokrotnego dla platformy SAP HANA przy użyciu protokołu Kerberos, zobacz Logowanie jednokrotne przy użyciu protokołu Kerberos. Zobacz również linki z tej strony, szczególnie SAP Note 1837331 — HOWTO HANA DBSSO Kerberos/Active Directory.
Zalecamy również wykonanie tych dodatkowych kroków, co może spowodować niewielkie zwiększenie wydajności:
W katalogu instalacyjnym bramy wyszukaj i otwórz ten plik konfiguracji: Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.
FullDomainResolutionEnabled
Wyszukaj właściwość i zmień jej wartość naTrue
.<setting name=" FullDomainResolutionEnabled " serializeAs="String"> <value>True</value> </setting>
Uruchamianie raportu usługi Power BI.
Rozwiązywanie problemów
Ta sekcja zawiera instrukcje dotyczące rozwiązywania problemów z używaniem protokołu Kerberos na potrzeby logowania jednokrotnego (SSO) do platformy SAP HANA w usługa Power BI. Korzystając z tych kroków rozwiązywania problemów, możesz samodzielnie zdiagnozować i rozwiązać wiele problemów, które mogą wystąpić.
Aby wykonać kroki opisane w tej sekcji, należy zebrać dzienniki bramy.
Błąd TLS/SSL (certyfikat)
Ten problem ma wiele objawów.
Podczas próby dodania nowego źródła danych może zostać wyświetlony błąd podobny do następującego:
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."
Podczas próby utworzenia lub odświeżenia raportu może zostać wyświetlony następujący komunikat o błędzie:
Podczas badania mashup[date]*.log zostanie wyświetlony następujący komunikat o błędzie:
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.
Rozwiązanie
Aby rozwiązać ten błąd TLS/SSL, przejdź do połączenia ze źródłem danych, a następnie w sekcji Weryfikowanie certyfikatu serwera wyłącz ustawienie, jak pokazano na poniższej ilustracji:
Po wyłączeniu tego ustawienia zostanie wyświetlony komunikat o błędzie.
Personifikacja
Wpisy dziennika personifikacji zawierają wpisy podobne do:
About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation).
Ważnym elementem w tym wpisie dziennika są informacje wyświetlane po wpisie ImpersonationLevel:
. Każda wartość inna niż Impersonation
pokazuje, że personifikacja nie występuje prawidłowo.
Rozwiązanie
Możesz prawidłowo skonfigurować ImpersonationLevel
, postępując zgodnie z instrukcjami w temacie Udzielanie praw zasad lokalnych konta usługi bramy w bramie.
Po zmianie pliku konfiguracji uruchom ponownie usługę bramy, aby zmiany zaczęły obowiązywać.
Walidacja
Odśwież lub utwórz raport, a następnie zbierz dzienniki bramy. Otwórz najnowszy plik GatewayInfo i sprawdź następujący ciąg: About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation)
. Upewnij się, że ImpersonationLevel
ustawienie zwraca Impersonation
wartość .
Delegowanie
Problemy z delegowaniem zwykle pojawiają się w usługa Power BI jako błędy ogólne. Aby upewnić się, że problem nie jest problemem z delegowaniem, zbierz ślady wireshark i użyj protokołu Kerberos jako filtru. Aby dowiedzieć się więcej na temat programu Wireshark i uzyskać informacje o błędach protokołu Kerberos, zobacz Błędy protokołu Kerberos w przechwytywaniu sieci.
Następujące objawy i kroki rozwiązywania problemów mogą pomóc w rozwiązaniu niektórych typowych problemów.
Problemy z główną nazwą usługi
Jeśli wystąpi następujący błąd: The import [table] matches no exports. Did you miss a module reference?:
podczas badania mashupu[date]*.log występują problemy z główną nazwą usługi (SPN).
Podczas dalszego badania przy użyciu śladów Wireshark zostanie wyświetlony błąd KRB4KDC_ERR_S_PRINCIPAL_UNKOWN
, co oznacza, że nazwa SPN nie została znaleziona lub nie istnieje. Na poniższej ilustracji przedstawiono przykład:
Rozwiązanie
Aby rozwiązać problemy z nazwą SPN, takie jak ten problem, należy dodać nazwę SPN do konta usługi. Aby uzyskać więcej informacji, zobacz dokumentację systemu SAP w temacie Configure Kerberos for SAP HANA database hosts (Konfigurowanie protokołu Kerberos dla hostów baz danych SAP HANA).
Ponadto postępuj zgodnie z instrukcjami rozwiązywania opisanymi w następnej sekcji.
Brak problemów z poświadczeniami
Może nie być wyraźnych objawów związanych z tym problemem. Podczas badania mashup[date]*.log zostanie wyświetlony następujący błąd:
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:
Podczas dalszego badania tego samego pliku zostanie wyświetlony następujący błąd (nieprzydatny):
No credentials are available in the security package
Przechwytywanie śladów Wireshark ujawnia następujący błąd: KRB5KDC_ERR_BADOPTION
.
Zazwyczaj te błędy oznaczają, że można znaleźć plik hdb/hana2-s4-sso2.westus2.cloudapp.azure.com głównej nazwy usługi, ale nie znajduje się w usługach, do których to konto może przedstawić listę poświadczeń delegowanych w okienku Delegowanie na koncie usługi bramy.
Rozwiązanie
Aby rozwiązać problem Brak poświadczeń , wykonaj kroki opisane w temacie Konfigurowanie ograniczonego delegowania protokołu Kerberos. Po poprawnym zakończeniu karta delegowania na koncie usługi bramy odzwierciedla plik Bazy danych HansaWorld (HDB) i w pełni kwalifikowaną nazwę domeny (FQDN) na liście usług, do których to konto może prezentować poświadczenia delegowane.
Walidacja
Wykonanie powyższych kroków powinno rozwiązać problem. Jeśli nadal występują problemy z kerberosem, może wystąpić błędna konfiguracja w bramie usługi Power BI lub na samym serwerze HANA.
Błędy poświadczeń
Jeśli wystąpią błędy poświadczeń, błędy w dziennikach lub śladach ujawniają błędy, które opisują Credentials are invalid
lub podobne błędy. Te błędy mogą manifestować się inaczej po stronie źródła danych połączenia, takiego jak SAP HANA. Na poniższej ilustracji przedstawiono przykładowy błąd:
Symptom 1
W śladach uwierzytelniania platformy HANA mogą zostać wyświetlone wpisy podobne do następującego komunikatu:
[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
Rozwiązanie
Postępuj zgodnie z instrukcjami opisanymi w temacie Ustawianie parametrów konfiguracji mapowania użytkownika na maszynie bramy, nawet jeśli skonfigurowano już usługę Microsoft Entra Connect .
Walidacja
Po zakończeniu walidacji możesz pomyślnie załadować raport w usługa Power BI.
Objaw 2
W śladach uwierzytelniania platformy HANA mogą zostać wyświetlone wpisy podobne do następującego wpisu:
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!
Rozwiązanie
Sprawdź identyfikator zewnętrzny Protokołu Kerberos w obszarze Użytkownik HANA, aby określić, czy identyfikatory są prawidłowo zgodne.
Walidacja
Po rozwiązaniu problemu możesz tworzyć lub odświeżać raporty w usługa Power BI.
Powiązana zawartość
Aby uzyskać więcej informacji na temat lokalnej bramy danych i trybu DirectQuery, zobacz następujące zasoby: