Udostępnij za pośrednictwem


Używanie protokołu Kerberos do logowania jednokrotnego na platformie SAP HANA

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.

W tym artykule opisano sposób konfigurowania źródła danych sap HANA w celu włączenia logowania jednokrotnego z usługa Power BI.

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:

  1. Upewnij się, że na serwerze SAP HANA jest uruchomiona wymagana minimalna wersja, która zależy od poziomu platformy serwera SAP HANA:

  2. Na komputerze bramy zainstaluj najnowszy sterownik SAP HANA ODBC. Minimalna wersja to HANA ODBC w wersji 2.00.020.00 z sierpnia 2017 r.

  3. 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:

  1. W katalogu instalacyjnym bramy wyszukaj i otwórz ten plik konfiguracji: Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.

  2. FullDomainResolutionEnabled Wyszukaj właściwość i zmień jej wartość na True.

    <setting name=" FullDomainResolutionEnabled " serializeAs="String">
          <value>True</value>
    </setting>
    
  3. 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:

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

  • 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:

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

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

Sprawdzanie poprawności

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 Impersonationwartość .

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:

Screenshot showing a service principal name error.

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.

Screenshot showing a 'No credentials error'.

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.

Sprawdzanie poprawności

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:

Screenshot showing an invalid credentials error.

Objaw 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 Połączenie.

Sprawdzanie poprawności

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.

Sprawdzanie poprawności

Po rozwiązaniu problemu możesz tworzyć lub odświeżać raporty w usługa Power BI.

Aby uzyskać więcej informacji na temat lokalnej bramy danych i trybu DirectQuery, zobacz następujące zasoby: