Zarządzanie zabezpieczeniami aplikacji/oprogramowania pośredniczącego

Ukończone

Duże organizacje mają wielu użytkowników z różnych grup biznesowych, którzy muszą:

  • Zaloguj się do klastra w bezpieczny sposób
  • Wymuszanie zasady najniższych uprawnień (PLOP) w przypadku uzyskiwania dostępu do danych bazowych
  • Rejestruj zdarzenia, które mają znaczenie zabezpieczeń.

Celem zabezpieczeń aplikacji w usłudze HDInsight jest zapewnienie sposobów bezpiecznego uwierzytelniania wielu użytkowników w usłudze HDInsight, wymuszanie praktyki ograniczania praw dostępu dla użytkowników na danych do minimalnych uprawnień, które muszą wykonać swoją pracę, a na koniec rejestrowanie zdarzeń mających znaczenie zabezpieczeń, takich jak logowanie, próba wykonania akcji uprzywilejowanej, modyfikacja ważnego rekordu.

Uwierzytelnianie

Uwierzytelnianie to proces ustanawiania tożsamości prowadzącej do weryfikacji, że użytkownicy są tym, którzy twierdzą, że są. Klastry usługi HDInsight w scenariuszach produkcyjnych zwykle muszą umożliwić wielu użytkownikom z różnych grup biznesowych uwierzytelnianie w klastrze w celu uruchamiania działań, takich jak konfigurowanie, przesyłanie, uruchamianie i monitorowanie obciążeń. Włączenie funkcji "Pakiet enterprise Security" (ESP) podczas tworzenia klastra usługi HDInsight umożliwia dołączanie klastrów do domeny i używanie poświadczeń domeny do uwierzytelniania w klastrze przez użytkowników domeny. Grupy usługi Active Directory mogą służyć do tworzenia grup poszczególnych użytkowników reprezentujących funkcję lub dział w organizacji, a wiele z tych grup można zsynchronizować z klastrem w czasie tworzenia. Klastry muszą mieć administratora klastra domeny i jedną lub wiele grup użytkowników z ograniczonym dostępem. Poniżej przedstawiono reprezentację składników i stron zaangażowanych w proces uwierzytelniania usługi HDInsight.

Proces uwierzytelniania usługi HDInsight

Poniższe składniki w domenie tożsamości przedsiębiorstwa uczestniczą w procesie konfigurowania i uwierzytelniania klastra ESP.

  • Usługa Active Directory systemu Windows Server: kontroler domeny w środowisku lokalnym i przechowuje główną nazwę użytkownika (nazwę UPN) (na przykład: user@Contoso.com) i odpowiednie hasła domeny.
  • Połączenie usługi Active Directory (ad Połączenie): narzędzie firmy Microsoft przeznaczone do konfigurowania tożsamości hybrydowej. Funkcje, takie jak synchronizacja skrótów haseł, mają kluczowe znaczenie w konfigurowaniu esp w usłudze HDInsight.
  • Katalog aktywności platformy Azure (Microsoft Entra ID): usługa zarządzania tożsamościami i dostępem na platformie Microsoft Azure.
  • Microsoft Entra Domain Services (Microsoft Entra Domain Services ): zapewnia zarządzane usługi domenowe, takie jak przyłączenie do domeny, zasady grupy, uproszczony protokół dostępu do katalogów (LDAP) i uwierzytelnianie Kerberos/NTLM, które jest w pełni zgodne z usługą Active Directory systemu Windows Server. Te usługi domenowe są używane bez konieczności wdrażania kontrolerów domeny w chmurze, zarządzania nimi i stosowania poprawek. Usługa Microsoft Entra Domain Services integruje się z istniejącą dzierżawą firmy Microsoft Entra, co umożliwia użytkownikom logowanie się przy użyciu istniejących poświadczeń. Możesz również użyć istniejących grup i kont użytkowników, aby zabezpieczyć dostęp do zasobów, co zapewnia bezproblemowe przenoszenie zasobów lokalnych na platformę Azure.

Usługa HDInsight obsługuje dwa rodzaje scenariuszy uwierzytelniania

  • Gdy skróty haseł są synchronizowane z identyfikatorem Entra firmy Microsoft.
  • Gdy skróty haseł są zachowywane na lokalnych kontrolerach domeny. Należy pamiętać, że użytkownik może zdecydować się na utworzenie klastra usługi HDInsight za pomocą usługi Windows Azure Storage Blob (WASB) lub magazynu USŁUGI ADLS Gen2, a proces uwierzytelniania różni się nieco w każdym z nich. Podczas gdy wszystkie kroki procesu uwierzytelniania wykonywane automatycznie i są abstrahowane od użytkownika, pomaga zrozumieć, na wysokim poziomie sekwencja zdarzeń, które przechodzą do uwierzytelniania użytkownika.

Uwierzytelnianie: gdy skróty haseł są synchronizowane z identyfikatorem Entra firmy Microsoft

Uwierzytelnianie: gdy skróty haseł są synchronizowane z identyfikatorem Entra firmy Microsoft

  1. Użytkownik John Doe uwierzytelnia się w usłudze HDInsight (na przykład Ambari, ssh, Zeppelin itp.) przy użyciu poświadczeń user@contoso.onmicrosoft.com domeny (nazywanych główną nazwą użytkownika lub nazwą UPN) i hasłem. Brama przechowuje nazwę użytkownika i hasło.
  2. Brama usługi HDInsight wysyła nazwę UPN i hasło dostarczone przez użytkownika do identyfikatora Entra firmy Microsoft przy użyciu przepływu poświadczeń hasła właściciela zasobu (ROPC) i żąda żądania dostępu OAuth. Identyfikator entra firmy Microsoft potwierdza tożsamość użytkownika i wystawia token odświeżania zapisany w usłudze poświadczeń, która działa w węźle głównym. W klastrach z kontami magazynu usługi ADLS Gen 2 sterowniki magazynu komunikują się z usługą poświadczeń w celu pobrania tokenu OAuth na potrzeby uwierzytelniania przekazywanego do usługi ADLS.
  3. Następnie brama uwierzytelnia użytkownika za pomocą usług Microsoft Entra Domain Services i otrzymuje bilet Protokołu Kerberos. Następnie brama przekazuje bilet Protokołu Kerberos do węzłów głównych i uwierzytelnia użytkownika w klastrze.

Uwierzytelnianie wieloskładnikowe: jeśli skróty haseł nie są synchronizowane z identyfikatorem Entra firmy Microsoft

Uwaga

Ta konfiguracja jest również nazywana usługą HDInsight Identity Broker (HIB) i obsługuje uwierzytelnianie wieloskładnikowe (MFA). W tej konfiguracji, jeśli skróty haseł nie są synchronizowane z identyfikatorem Entra firmy Microsoft, użytkownik może nadal uwierzytelniać się w bramie.

Gdy skróty haseł nie są synchronizowane z identyfikatorem entra firmy Microsoft

  1. Użytkownik John Doe uruchamia internetową usługę HDInsight, taką jak Ambari lub Zeppelin. Strona przekierowuje użytkownika do interaktywnego ekranu logowania. Klient jest przekierowywany do identyfikatora Entra firmy Microsoft, aby użytkownik uwierzytelniał się przy użyciu nazwy UPN user@contoso.onmicrosoft.com.
  2. Po wprowadzeniu nazwy UPN klient jest przekierowywany do lokalnego serwera usług AD FS, na którym użytkownik wprowadza swoje hasło. Uwierzytelnianie wieloskładnikowe, jeśli jest włączone, jest teraz wykonywane. Po pomyślnym uwierzytelnieniu token OAuth jest wystawiany klientowi.
  3. Klient przedstawia token OAuth bramie usługi HDInsight.
  4. Brama usługi HDInsight używa tokenu OAuth do uzyskania biletu protokołu Kerberos z węzła HIB.
  5. Brama używa biletu Protokołu Kerberos i rejestruje token OAuth w usłudze poświadczeń węzłów głównych i uwierzytelnia się w klastrze.

Uwaga

Jeśli skróty haseł nie są synchronizowane z identyfikatorem Entra firmy Microsoft, użytkownicy domeny nie mogą połączyć się z węzłami głównymi. Tylko lokalny użytkownik SSH będzie mógł wykonywać działania protokołu SSH. Wskazówki dotyczące konfigurowania mechanizmów uwierzytelniania dla obu scenariuszy wyjaśniono w artykule Use ID Broker for credential management (Używanie brokera identyfikatorów na potrzeby zarządzania poświadczeniami).

Autoryzacja

Autoryzacja w usłudze HDInsight dotyczy określania i wymuszania uprawnień użytkownika w źródłowych zestawach danych. Szczegółowa autoryzacja dla określonych akcji i/lub operacji jest dostępna w usługach HDInsight hive, HBase i Kafka oraz jest zarządzana za pośrednictwem platformy Apache Ranger. Ranger zapewnia kontrolę dostępu opartą na rolach, kontrolę dostępu opartą na atrybutach i centralizuje inspekcję dostępu użytkowników i akcji administracyjnych. Zazwyczaj uwierzytelniasz się w usłudze Apache Ranger przy użyciu poświadczeń domeny administratora klastra, a następnie konfigurujesz zasady dla grup z ograniczeniami lub użytkowników w usłudze Ranger. W poniższym przykładzie przedstawiono sposoby tworzenia zasad zakresu w celu ustawienia uprawnień do przykładowej tabeli Hive w usłudze Ranger.

  1. Uruchom narzędzie Apache Ranger przy użyciu adresu URL: https://CLUSTERNAME.azurehdinsight.net/Ranger/. Zastąp ciąg "CLUSTERNAME" nazwą klastra. Użyj administratora domeny klastra i odpowiedniego hasła do logowania.

    Ustawianie uprawnień za pomocą platformy Apache Ranger

  2. Kliknij pozycję Dodaj nowe zasady, aby dodać nowe zasady ranger.

    Dodawanie nowych zasad platformy Ranger

  3. Wypełnij szczegóły zasad następującymi informacjami:

    1. Nazwa zasad: nazwa zasad.
    2. Baza danych: wybierz bazę danych Programu Hive.
    3. Tabela: wybierz tabelę Programu Hive w wybranej bazie danych.
    4. Kolumna Hive: wybierz kolumnę Hive, na której będą stosowane zasady.
    5. Ustaw opcję Rejestrowanie inspekcji na Wartość Tak, aby włączyć rejestrowanie całego dostępu.
    6. Zezwalaj na warunki:
      • Zasady można stosować do użytkowników domeny usługi Active Directory (AD) lub grup domen w sekcji Zezwalaj na warunki. Jeśli chcesz zastosować zasady do wszystkich użytkowników w grupie usługi AD, dodaj tę grupę usługi AD do sekcji Wybierz grupę.
      • Alternatywnie, jeśli chcesz, aby zasady miały zastosowanie do poszczególnych lub wybranych zestawów użytkowników z różnych grup usługi AD, możesz dodać wszystkie identyfikatory poszczególnych domen użytkowników w polu Wybierz użytkownika.
      • Wybierz z zestawu uprawnień na pasku wyboru Uprawnienia.
  4. Przewiń w dół i kliknij pozycję Dodaj.

    Dodawanie zasad

  5. Po skonfigurowaniu tej reguły zostanie wymuszona dla wszystkich użytkowników, którzy zostali włączeni do zasad.

Ustawienia zasad platformy ranger dla Bazy danych HBase i Kafka są opisane w odpowiednich hiperlinkach w sekcji.

Inspekcja

Inspekcja w usłudze HDInsight z perspektywy zabezpieczeń dotyczy rejestrowania i monitorowania żądań uwierzytelniania i autoryzacji, które mają miejsce w okresie eksploatacji klastra, a nawet po usunięciu klastra.

Inspekcja w usłudze HDInsight jest włączona przy użyciu dzienników usługi Azure Monitor i może służyć do uwidocznienia dzienników, które mają kluczowe znaczenie dla zabezpieczeń klastra. Poniżej wymieniono kilka tabel dzienników zawierających informacje krytyczne dla zabezpieczeń klastra.

Nazwa tabeli dziennika Purpose
ranger_audit_logs_CL Dzienniki inspekcji z platformy Apache Ranger w klastrach ESP
log_gateway_audit_CL Dzienniki inspekcji z bramy w celu wyświetlenia pomyślnych i nieudanych prób
log_ambari_audit_CL Dzienniki inspekcji z systemu Ambari
log_auth_CL Dzienniki protokołu SSH dla pomyślnych i zakończonych niepowodzeniem prób

Monitorowanie platformy Azure jest włączone w witrynie Azure Portal przy użyciu kilku kliknięć.

  1. W klastrze usługi HDInsight kliknij pozycję Azure Monitor w bloku po lewej stronie. Wybierz pozycję Integracja usługi Azure Monitor z wartością True, a następnie w obszarze Wybierz obszar roboczy wybierz wstępnie utworzony obszar roboczy usługi Log Analytics z listy rozwijanej.

    Korzystanie z usługi Azure Monitor

  2. Uruchom obszar roboczy usługi Log Analytics i zaimportuj odpowiednie rozwiązania do monitorowania usługi HDInsight odpowiednie dla danego typu klastra. Uruchom rozwiązanie i kliknij pozycję Dzienniki.

    Wyświetlanie dzienników

  3. Tabele dzienników istotne dla zabezpieczeń można znaleźć w sekcji Dzienniki niestandardowe po lewej stronie. Następnie można wykonać zapytanie w celu wyodrębnienia odpowiednich informacji o dostępie.

    Wyświetlanie dzienników niestandardowych