Używaj tożsamości zarządzanych platformy Azure w Unity Catalog, aby uzyskać dostęp do magazynu.
W tym artykule opisano sposób używania tożsamości zarządzanych platformy Azure do nawiązywania połączenia z kontenerami magazynu w imieniu użytkowników Unity Catalog.
Co to są tożsamości zarządzane platformy Azure?
Usługę Unity Catalog można skonfigurować tak, aby używała tożsamości zarządzanej platformy Azure w celu uzyskiwania dostępu do kontenerów magazynu w imieniu użytkowników Unity Catalog. Tożsamości zarządzane zapewniają tożsamość aplikacji do użycia podczas nawiązywania połączenia z zasobami obsługującymi uwierzytelnianie identyfikatora Entra firmy Microsoft.
Możesz używać tożsamości zarządzanych w Unity Catalog, aby obsługiwać dwa główne przypadki użycia:
- Jako tożsamość do łączenia się z zarządzanymi kontami magazynu metadanych (gdzie przechowywane są tabele zarządzane).
- W roli tożsamości do łączenia się z innymi zewnętrznymi kontami magazynu (czy to w przypadku dostępu opartego na plikach, czy uzyskiwania dostępu do istniejących zestawów danych za pośrednictwem tabel zewnętrznych).
Konfigurowanie Unity Catalog przy użyciu tożsamości zarządzanej ma następujące zalety w porównaniu z konfigurowaniem Unity Catalog przy użyciu zasady usługi:
Tożsamości zarządzane nie wymagają utrzymywania poświadczeń ani cyklicznej wymiany tajnych danych.
Jeśli obszar roboczy usługi Azure Databricks jest wdrażany we własnej sieci wirtualnej (nazywanej również iniekcją sieci wirtualnej) i używasz zapory magazynu do ochrony konta usługi Azure Data Lake Storage Gen2, możesz użyć tożsamości zarządzanej, aby połączyć obszar roboczy z tym kontem. Zobacz (Zalecane w przypadku obszarów roboczych z wstrzykniętą siecią wirtualną) Konfigurowanie zaufanego dostępu do usługi Azure Storage na podstawie tożsamości zarządzanej.
Uwaga
Nie można użyć zapory magazynu w standardowym wdrożeniu usługi Azure Databricks.
Konfigurowanie tożsamości zarządzanej dla Unity Catalog
Aby skonfigurować tożsamość zarządzaną dla katalogu Unity, należy najpierw utworzyć łącznik dostępu dla usługi Azure Databricks na platformie Azure. Domyślnie łącznik dostępu zostanie wdrożony przy użyciu tożsamości zarządzanej przypisanej przez system. Zamiast tego możesz dołączyć tożsamość zarządzaną przypisaną przez użytkownika. Następnie przyznasz zarządzanej tożsamości dostęp do konta usługi Azure Data Lake Storage Gen2 i użyjesz konektora dostępu podczas tworzenia metastore Unity Catalog lub poświadczeń magazynu.
Wymagania
Użytkownik platformy Azure lub jednostka usługi, który tworzy łącznik dostępu, musi:
- Być współautorem lub właścicielem grupy zasobów platformy Azure.
Użytkownik platformy Azure lub jednostka usługi, który przyznaje tożsamość zarządzaną do konta magazynu, musi:
- Być właścicielem lub użytkownikiem z rolą RBAC platformy Azure administratora dostępu użytkowników na koncie magazynu.
Krok 1. Tworzenie łącznika dostępu dla usługi Azure Databricks
Łącznik dostępu dla usługi Azure Databricks to zasób platformy Azure, który umożliwia łączenie tożsamości zarządzanych z kontem usługi Azure Databricks. Każdy łącznik dostępu dla usługi Azure Databricks może zawierać tożsamość zarządzaną przypisaną przez system, co najmniej jedną tożsamość zarządzaną przypisaną przez użytkownika lub obie te tożsamości.
Zaloguj się w witrynie Azure Portal jako współautor lub właściciel grupy zasobów.
Kliknij pozycję + Utwórz lub Utwórz nowy zasób.
Wyszukaj Access Connector dla usługi Azure Databricks i wybierz go.
Kliknij pozycję Utwórz.
Na karcie Podstawowe zaakceptuj, wybierz lub wprowadź wartości dla następujących pól:
- Subskrypcja: jest to subskrypcja platformy Azure, w której zostanie utworzony łącznik dostępu. Wartość domyślna to subskrypcja platformy Azure, której obecnie używasz. Może to być dowolna subskrypcja w dzierżawie.
- Grupa zasobów: jest to grupa zasobów platformy Azure, w której zostanie utworzony łącznik dostępu.
- Nazwa: wprowadź nazwę wskazującą przeznaczenie łącznika.
- Region: powinien to być ten sam region co konto magazynu, z którym zostanie nawiązane połączenie.
Kliknij przycisk Dalej, wprowadź tagi, a następnie kliknij przycisk Dalej.
Na karcie Tożsamość Zarządzana utwórz tożsamości zarządzane w następujący sposób:
- Aby użyć tożsamości zarządzanej przypisanej przez system, ustaw stan na w
- Aby dodać tożsamości zarządzane przypisane przez użytkownika, kliknij pozycję + Dodaj i wybierz co najmniej jedną tożsamość zarządzaną przypisaną przez użytkownika.
Kliknij pozycję Przejrzyj i utwórz.
Po wyświetleniu komunikatu Weryfikacja przekazana kliknij przycisk Utwórz.
Po zakończeniu wdrażania kliknij przycisk Przejdź do zasobu.
Zanotuj identyfikator zasobu.
Identyfikator zasobu ma format:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
Krok 2. Udzielanie tożsamości zarządzanej dostępu do konta magazynu
Aby przyznać uprawnienia w tym kroku, musisz mieć rolę Właściciela lub Administratora dostępu użytkownika RBAC w usłudze Azure na swoim koncie magazynu.
- Zaloguj się do konta usługi Azure Data Lake Storage Gen2.
- Przejdź do Access Control (IAM), kliknij + Dodaji wybierz Dodaj przypisanie roli.
- Wybierz rolę współautora danych obiektu blob usługi Storage, a następnie kliknij pozycję Dalej.
- W obszarze Przypisz dostęp dowybierz zarządzaną tożsamość .
- Kliknij +Wybierz członków, a następnie wybierz albo łącznik Access connector dla Azure Databricks, albo przypisaną użytkownikowi tożsamość zarządzaną.
- Wyszukaj nazwę łącznika lub tożsamość przypisaną przez użytkownika, wybierz ją, a następnie kliknij pozycję Przejrzyj i przypisz.
Alternatywnie możesz ograniczyć dostęp do konta magazynu, przyznając zarządzanej tożsamości dostęp do określonego kontenera. Wykonaj te same kroki powyżej, ale przyznaj rolę Delegator obiektów blob usługi Storage na koncie magazynu oraz rolę Współautor danych obiektu blob usługi Storage w kontenerze.
Krok 3. Udzielanie tożsamości zarządzanej dostępu do zdarzeń dotyczących plików
Udzielanie tożsamości zarządzanej dostępu do zdarzeń plików umożliwia usłudze Azure Databricks subskrybowanie powiadomień o zdarzeniach plików emitowanych przez dostawców chmury. Dzięki temu przetwarzanie plików jest bardziej wydajne. Aby przyznać uprawnienia w tym kroku, musisz mieć rolę Właściciela lub Administratora dostępu użytkownika w ramach RBAC Azure na swoim koncie magazynu.
- Zaloguj się do konta usługi Azure Data Lake Storage Gen2.
- Przejdź do Kontrola dostępu (IAM), kliknij + Dodaj, a następnie wybierz Dodaj przypisanie roli.
- Wybierz rolę współautora danych kolejki usługi usługi Storage, a następnie kliknij pozycję Dalej.
- W obszarze Przypisz dostęp dowybierz tożsamość zarządzaną.
- Kliknij +Wybierz członkówi wybierz łącznik dostępu dla usługi Azure Databricks lub tożsamość zarządzaną przypisaną przez użytkownika .
- Wyszukaj nazwę łącznika lub tożsamość przypisaną przez użytkownika, wybierz ją, a następnie kliknij pozycję Przejrzyj i przypisz.
Krok 4. Udzielanie usłudze Azure Databricks dostępu do konfigurowania zdarzeń plików w Twoim imieniu
Uwaga
Ten krok jest opcjonalny, ale zdecydowanie zalecany. Jeśli nie przyznasz usłudze Azure Databricks dostępu do konfigurowania zdarzeń plików w Twoim imieniu, musisz ręcznie skonfigurować zdarzenia plików dla każdej lokalizacji. Jeśli tego nie zrobisz, będziesz mieć ograniczony dostęp do krytycznych funkcji, które usługa Databricks może wydać w przyszłości.
Ten krok umożliwia usłudze Azure Databricks automatyczne konfigurowanie zdarzeń plików. Aby przyznać uprawnienia w tym kroku, musisz mieć rolę właściciela lub administratora dostępu użytkowników w ramach RBAC platformy Azure zarówno dla swojej tożsamości zarządzanej, jak i dla grupy zasobów, w której znajduje się konto usługi Azure Data Lake Storage Gen2.
- Postępuj zgodnie z instrukcjami w Krok 3. Udzielanie tożsamości zarządzanej dostępu do zdarzeń plików i przypisywanie współautora konta magazynu wraz z rolą współautora danych kolejki usługi Storage do tożsamości zarządzanej.
- Przejdź do grupy zasobów platformy Azure, w ramach którego znajduje się twoje konto usługi Azure Data Lake Storage Gen2.
- Przejdź do Access Control (IAM), kliknij + Dodaji wybierz Dodaj przypisanie roli.
- Wybierz rolę EventGrid EventSubscription Contributor i kliknij Dalej.
- W obszarze Przypisz dostęp do, zaznacz Zarządzana tożsamość .
- Kliknij pozycję +Wybierz członkówi wybierz łącznik Access dla usługi Azure Databricks lub tożsamości zarządzanej przypisanej przez użytkownika.
- Wyszukaj nazwę łącznika lub tożsamość przypisaną przez użytkownika, wybierz ją, a następnie kliknij pozycję Przejrzyj i przypisz.
Użyj tożsamości zarządzanej, aby uzyskać dostęp do głównego konta magazynu katalogu Unity
W tej sekcji opisano sposób udzielenia tożsamości zarządzanej dostępu do konta magazynu głównego podczas tworzenia magazynu metadanych Unity Catalog.
Aby dowiedzieć się, jak uaktualnić istniejące metadane wykazu Unity do korzystania z tożsamości zarządzanej, zobacz Uaktualnij istniejące metadane wykazu Unity, aby użyć tożsamości zarządzanej w celu dostępu do magazynu głównego.
- Jako administrator konta usługi Azure Databricks zaloguj się do konsoli konta usługi Azure Databricks.
- Kliknij ikonę katalogu
.
- Kliknij pozycję Utwórz magazyn metadanych.
- Wprowadź wartości dla następujących pól:
Nazwa magazynu metadanych.
Region, w którym zostanie wdrożony magazyn metadanych.
Aby uzyskać najlepszą wydajność, znajdź łącznik dostępu, obszary robocze, magazyn metadanych i lokalizację magazynu w chmurze w tym samym regionie chmury.
Ścieżka usługi ADLS Gen 2: wprowadź ścieżkę do kontenera magazynu, który będzie używany jako magazyn główny dla magazynu metadanych.
Prefiks
abfss://
jest dodawany automatycznie.Identyfikator łącznika dostępu: wprowadź identyfikator zasobu łącznika dostępu usługi Azure Databricks w formacie:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
(Opcjonalnie) Identyfikator tożsamości zarządzanej: jeśli łącznik dostępu został utworzony przy użyciu tożsamości zarządzanej przypisanej przez użytkownika, wprowadź identyfikator zasobu tożsamości zarządzanej.
- Kliknij pozycję Utwórz.
- Po wyświetleniu monitu wybierz obszary robocze do połączenia z magazynem metadanych.
Użyj zarządzanej tożsamości, aby uzyskać dostęp do zewnętrznego magazynu zarządzanego w Unity Catalog
Unity Catalog umożliwia dostęp do istniejących danych na kontach przechowywania danych przy użyciu poświadczeń przechowywania i lokalizacji zewnętrznych. Poświadczenia magazynu przechowują tożsamość zarządzaną, a lokalizacje zewnętrzne definiują ścieżkę do magazynu wraz z odwołaniem do poświadczeń magazynu. Za pomocą tego podejścia można udzielić i kontrolować dostęp do istniejących danych w przechowywaniu w chmurze oraz rejestrować tabele zewnętrzne w Unity Catalog.
Poświadczenia magazynu mogą przechowywać tożsamość zarządzaną lub jednostkę usługi. Użycie tożsamości zarządzanej ma tę zaletę, że umożliwia katalogowi Unity dostęp do kont magazynu chronionych przez reguły sieciowe, co nie jest możliwe przy użyciu zasadami usługi, i eliminuje potrzebę zarządzania tajnymi danymi oraz ich rotacji.
Aby utworzyć poświadczenia magazynu przy użyciu tożsamości zarządzanej i przypisać to poświadczenie magazynu do lokalizacji zewnętrznej, postępuj zgodnie z instrukcjami w Connect to cloud object storage and services using Unity Catalog.
(Zalecane w przypadku obszarów roboczych ze wstrzykniętą siecią wirtualną) Konfigurowanie zaufanego dostępu do usługi Azure Storage na podstawie tożsamości zarządzanej
Jeśli obszar roboczy usługi Azure Databricks zostanie wdrożony we własnej sieci wirtualnej platformy Azure, znany również jako "iniekcja sieci wirtualnej", a zapora magazynu jest używana do ochrony konta usługi Azure Data Lake Storage Gen2, musisz:
- Włącz obszar roboczy usługi Azure Databricks, aby uzyskać dostęp do usługi Azure Storage.
- Włącz tożsamość zarządzaną, aby uzyskać dostęp do usługi Azure Storage.
Krok 1. Włączanie obszaru roboczego usługi Azure Databricks w celu uzyskania dostępu do usługi Azure Storage
Musisz skonfigurować ustawienia sieci, aby umożliwić obszarowi roboczemu usługi Azure Databricks dostęp do usługi Azure Data Lake Storage Gen2. Możesz skonfigurować prywatne punkty końcowe lub dostęp z sieci wirtualnej w usłudze Azure Data Lake Storage Gen2, aby zezwolić na połączenia z podsieci do konta usługi Azure Data Lake Storage Gen2.
Aby uzyskać instrukcje, zobacz Przyznawanie dostępu swojemu środowisku Azure Databricks do Azure Data Lake Storage Gen2.
Krok 2. Włączanie tożsamości zarządzanej w celu uzyskania dostępu do usługi Azure Storage
Ten krok jest niezbędny tylko wtedy, gdy opcja "Zezwalaj usługom platformy Azure na liście zaufanych usług na dostęp do tego konta magazynu" jest wyłączona dla konta usługi Azure Storage. Jeśli ta konfiguracja jest włączona:
- Dowolny łącznik dostępu dla usługi Azure Databricks w tej samej dzierżawie, co konto magazynu, może uzyskać dostęp do konta magazynu.
- Każda zaufana usługa platformy Azure może uzyskać dostęp do konta magazynu. Zobacz Udzielanie dostępu do zaufanych usług platformy Azure.
Poniższe instrukcje zawierają krok, w którym wyłączysz tę konfigurację. Możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Użyj witryny Azure Portal
Zaloguj się do witryny Azure Portal, znajdź i wybierz konto usługi Azure Storage, a następnie przejdź do karty Sieć.
Ustaw dostęp do sieci publicznej na włączony z wybranych sieci wirtualnych i adresów IP.
Zamiast tego można ustawić dostęp do sieci publicznej na wartość Disabled. Tożsamość zarządzana może służyć do obejścia kontroli dostępu do sieci publicznej.
W sekcji Wystąpienia zasobówwybierz typ zasobu jako Microsoft.Databricks/accessConnectors i wybierz łącznik dostępu Azure Databricks.
W sekcji Wyjątkiodznacz pole wyboru Zezwalaj usługom Azure z listy zaufanych na dostęp do tego konta magazynu.
Korzystanie z interfejsu wiersza polecenia platformy Azure
Zainstaluj interfejs wiersza polecenia platformy Azure i zaloguj się.
Aby zalogować się przy użyciu jednostki usługi Microsoft Entra ID, zobacz Logowanie interfejsu wiersza polecenia platformy Azure przy użyciu jednostki usługi Microsoft Entra ID.
Aby zalogować się przy użyciu konta użytkownika usługi Azure Databricks, zobacz Logowanie interfejsu wiersza polecenia platformy Azure przy użyciu konta użytkownika usługi Azure Databricks.
Dodaj regułę sieciową do konta magazynu:
az storage account network-rule add \ -–subscription <subscription id of the resource group> \ -–resource-id <resource Id of the access connector for Azure Databricks> \ -–tenant-id <tenant Id> \ -g <name of the Azure Storage resource group> \ -–account-name <name of the Azure Storage resource> \
Dodaj identyfikator zasobu w formacie:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
Po utworzeniu reguły sieciowej przejdź do konta usługi Azure Storage w witrynie Azure Portal i wyświetl tożsamość zarządzaną na karcie Sieć w obszarze Wystąpienia zasobów, typ
Microsoft.Databricks/accessConnectors
zasobu.W obszarze Wyjątkiodznacz pole wyboru Zezwalaj usługom platformy Azure znajdującym się na zaufanej liście usług na dostęp do tego konta magazynu.
Opcjonalnie, ustaw Dostęp do sieci publicznej na Wyłączone. Tożsamość zarządzana może służyć do obejścia kontroli dostępu do sieci publicznej.
Standardowe podejście polega na utrzymaniu tego ustawienia jako Włączone dla wybranych sieci wirtualnych i adresów IP.
(Zalecane) Konfigurowanie zapór usługi Azure Storage w celu zezwolenia na dostęp z bezserwerowych magazynów SQL
Bezserwerowe magazyny SQL to zasoby obliczeniowe uruchamiane w subskrypcji platformy Azure dla usługi Azure Databricks, a nie subskrypcja platformy Azure. Jeśli skonfigurujesz zaporę w usłudze Azure Data Lake Storage Gen2 i planujesz używać bezserwerowych magazynów SQL Warehouse, musisz skonfigurować zaporę tak, aby zezwalała na dostęp z bezserwerowych magazynów SQL.
Aby uzyskać instrukcje, zobacz Konfigurowanie zapory na potrzeby dostępu obliczeniowego bezserwerowego.
Uaktualnij istniejący metastore Unity Catalog, aby użyć zarządzanej tożsamości w celu uzyskania dostępu do pamięci głównej
Jeśli masz metamagazyn Unity Catalog, który został utworzony przy użyciu głównego punktu usługowego i chcesz uaktualnić go, aby korzystał z tożsamości zarządzanej, możesz zaktualizować go za pomocą wywołania API.
Utwórz łącze do usługi Access dla Azure Databricks i przypisz mu uprawnienia do kontenera magazynu, używanego jako główna pamięć dla Unity Catalog, korzystając z instrukcji w Konfigurowanie zarządzanej tożsamości dla Unity Catalog.
Łącznik dostępu można utworzyć przy użyciu tożsamości zarządzanej przypisanej przez system lub tożsamości zarządzanej przypisanej przez użytkownika.
Zanotuj identyfikator zasobu łącznika dostępu. Jeśli używasz tożsamości zarządzanej przypisanej przez użytkownika, zanotuj również jej identyfikator zasobu.
Jako administrator konta zaloguj się do obszaru roboczego usługi Azure Databricks przypisanego do magazynu metadanych.
Nie musisz być administratorem obszaru roboczego.
Utwórz profil konfiguracji uwierzytelniania usługi Azure Databricks w środowisku lokalnym zawierającym następujące elementy:
- Nazwa wystąpienia obszaru roboczego i identyfikator obszaru roboczego, w którym wygenerowano osobisty token dostępu.
- Wartość osobistego tokenu dostępu.
Zobacz Uwierzytelnianie osobistego tokenu dostępu w usłudze Azure Databricks.
Użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić następujące polecenie, aby ponownie utworzyć poświadczenia magazynu.
Zastąp wartości symboli zastępczych:
-
<credential-name>
: nazwa poświadczenia magazynu. -
<access-connector-id>
: Identyfikator zasobu łącznika dostępu usługi Azure Databricks w formacie/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
-
<managed-identity-id>
: Jeśli łącznik dostępu został utworzony przy użyciu tożsamości zarządzanej przypisanej przez użytkownika, określ identyfikator zasobu tożsamości zarządzanej. -
<profile-name>
: nazwa profilu konfiguracji uwierzytelniania usługi Azure Databricks.
databricks storage-credentials create --json '{ "name\": "<credential-name>", "azure_managed_identity": { "access_connector_id": "<access-connector-id>", "managed_identity_id": "<managed-identity-id>" } }' --profile <profile-name>
-
Zanotuj identyfikator poświadczeń magazynu w odpowiedzi.
Uruchom następujące polecenie interfejsu wiersza polecenia usługi Databricks, aby pobrać plik
metastore_id
. Zastąp<profile-name>
ciąg nazwą profilu konfiguracji uwierzytelniania usługi Azure Databricks.databricks metastores summary --profile <profile-name>
Uruchom następujące polecenie w Databricks CLI, aby zaktualizować metastore, używając nowego poświadczenia magazynu głównego.
Zastąp wartości symboli zastępczych:
-
<metastore-id>
: identyfikator magazynu metadanych pobrany w poprzednim kroku. -
<storage-credential-id>
: identyfikator poświadczeń magazynu. -
<profile-name>
: nazwa profilu konfiguracji uwierzytelniania usługi Azure Databricks.
databricks metastores update <metastore-id> \ --storage-root-credential-id <storage-credential-id> \ --profile <profile-name>
-