Tworzenie magazynu zarządzanego wykazu aparatu Unity przy użyciu jednostki usługi (starsza wersja)
Ważne
Ta dokumentacja została wycofana i może nie zostać zaktualizowana. Produkty, usługi lub technologie wymienione w tej zawartości nie są już obsługiwane. Aby wyświetlić bieżącą dokumentację administratora, zobacz Zarządzanie kontem usługi Azure Databricks.
W tym artykule opisano starszą metodę tworzenia lokalizacji zewnętrznych i magazynu zarządzanego przy użyciu jednostki usługi. Zamiast jednostek usługi usługa Databricks zdecydowanie zaleca użycie tożsamości zarządzanej platformy Azure jako tożsamości, która zapewnia dostęp do kontenera magazynu. Zobacz Używanie tożsamości zarządzanych platformy Azure w wykazie aparatu Unity, aby uzyskać dostęp do magazynu.
Jeśli jednak nadal chcesz użyć jednostki usługi lub masz istniejący magazyn zarządzany w wykazie aparatu Unity lub lokalizacje zewnętrzne korzystające z jednostki usługi i chcesz zrozumieć ten proces, instrukcje znajdują się w tym artykule archiwum.
Tworzenie magazynu metadanych, do którego uzyskuje się dostęp przy użyciu jednostki usługi (starsza wersja)
Aby utworzyć magazyn metadanych wykazu aparatu Unity, do którego uzyskuje się dostęp za pomocą jednostki usługi:
Utwórz konto magazynu dla usługi Azure Data Lake Storage Gen2.
Kontener magazynu na tym koncie przechowuje wszystkie tabele zarządzane magazynu metadanych, z wyjątkiem tych, które znajdują się w wykazie lub schemacie z własną zarządzaną lokalizacją magazynu.
Zobacz Tworzenie konta magazynu do użycia z usługą Azure Data Lake Storage Gen2. Musi to być konto usługi Azure Data Lake Storage Gen2 o wydajności Premium w tym samym regionie co obszary robocze usługi Azure Databricks.
Utwórz kontener na nowym koncie magazynu.
Zanotuj identyfikator URI ADLSv2 dla kontenera, który ma następujący format:
abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/<metastore-name>
W kolejnych krokach zastąp
<storage-container>
ciąg tym identyfikatorem URI.W usłudze Microsoft Entra ID utwórz jednostkę usługi i przypisz jej uprawnienia do konta magazynu, korzystając z instrukcji podanych w artykule Access Storage using a service principal and Microsoft Entra ID(Azure Active Directory).
Wykaz aparatu Unity będzie używać tej jednostki usługi do uzyskiwania dostępu do kontenerów na koncie magazynu w imieniu użytkowników wykazu aparatu Unity. Wygeneruj klucz tajny klienta dla jednostki usługi. Zobacz Uwierzytelnianie jednostki usługi MS Entra. Zanotuj klucz tajny klienta dla jednostki usługi, identyfikator aplikacji klienckiej i identyfikator katalogu, w którym utworzono tę jednostkę usługi. W poniższych krokach zastąp wartości
<client-secret>
,<client-application-id>
i<directory-id>
tymi wartościami.Zanotuj te właściwości, które będą używane podczas tworzenia magazynu metadanych:
<aad-application-id>
- Region konta magazynu
<storage-container>
- Jednostka usługi
<client-secret>
,<client-application-id>
i<directory-id>
Nie można utworzyć magazynu metadanych, do którego uzyskuje się dostęp przy użyciu jednostki usługi w interfejsie użytkownika konsoli konta. Zamiast tego użyj interfejsu API magazynu metadanych konta. Na przykład:
curl -n -X POST --header 'Content-Type: application/json' https://<account-domain>/api/2.0/accounts/<account-id>/metastores --data '{ "metastore_info": { "name": "<metastore-name>", "storage_root": "<storage-container>", "region": "<region>" "storage_root_credential_id" } }'
Aby dowiedzieć się, jak uwierzytelniać się w interfejsach API na poziomie konta, zobacz Uwierzytelnianie jednostki usługi MS Entra.
Użytkownik, który tworzy magazyn metadanych, jest jego właścicielem. Usługa Databricks zaleca ponowne przypisanie własności magazynu metadanych do grupy. Zobacz Przypisywanie administratora magazynu metadanych.
Zanotuj identyfikator magazynu metadanych. Po wyświetleniu właściwości magazynu metadanych identyfikator magazynu metadanych jest częścią adresu URL po
/data
i przed/configuration
.Magazyn metadanych został utworzony, ale wykaz aparatu Unity nie może jeszcze zapisywać do niego danych. Aby zakończyć konfigurowanie magazynu metadanych:
W osobnej przeglądarce zaloguj się do obszaru roboczego przypisanego do magazynu metadanych jako administrator obszaru roboczego.
Zanotuj adres URL obszaru roboczego, który jest pierwszą częścią adresu URL, po
https://
i włącznie z elementemazuredatabricks.net
.Generowanie osobistego tokenu dostępu. Zobacz interfejs API zarządzania tokenami.
Dodaj osobisty token dostępu do
.netrc
pliku w katalogu głównym. Zwiększa to bezpieczeństwo, uniemożliwiając wyświetlanie osobistego tokenu dostępu w historii poleceń powłoki. Zobacz interfejs API zarządzania tokenami.Uruchom następujące polecenie cURL, aby utworzyć poświadczenia magazynu głównego dla magazynu metadanych. Zastąp wartości symboli zastępczych:
<workspace-url>
: adres URL obszaru roboczego, w którym został wygenerowany osobisty token dostępu.<credential-name>
: nazwa poświadczenia magazynu.<directory-id>
: identyfikator katalogu utworzonej jednostki usługi.<application-id>
: identyfikator aplikacji dla utworzonej jednostki usługi.<client-secret>
: wartość klucza tajnego klienta wygenerowanego dla jednostki usługi (a nie identyfikator wpisu tajnego klienta).
curl -n -X POST --header 'Content-Type: application/json' https://<workspace-url>/api/2.0/unity-catalog/storage-credentials --data "{ \"name\": \"<credential-name>\", \"azure_service_principal\": { \"directory_id\": \"<directory-id>\", \"application_id\": \"<application-id>\", \"client_secret\": \"<client-secret>\" } }"
Zanotuj identyfikator poświadczeń magazynu, który jest wartością
id
odpowiedzi polecenia cURL.
Uruchom następujące polecenie cURL, aby zaktualizować magazyn metadanych przy użyciu nowego poświadczenia magazynu głównego. Zastąp wartości symboli zastępczych:
<workspace-url>
: adres URL obszaru roboczego, w którym został wygenerowany osobisty token dostępu.<metastore-id
>: identyfikator magazynu metadanych.<storage-credential-id
>: identyfikator poświadczenia magazynu z poprzedniego polecenia.
curl -n -X PATCH --header 'Content-Type: application/json' https://<workspace-url>/api/2.0/unity-catalog/metastores/<metastore-id> --data "{\"storage_root_credential_id\": \"<storage-credential-id>\"}"
Teraz możesz dodawać obszary robocze do magazynu metadanych.
Tworzenie poświadczeń magazynu używających jednostki usługi (starsza wersja)
Aby utworzyć poświadczenia magazynu przy użyciu jednostki usługi, musisz być administratorem konta usługi Azure Databricks. Administrator konta, który tworzy poświadczenia magazynu jednostki usługi, może delegować własność do innego użytkownika lub grupy w celu zarządzania uprawnieniami do niego.
Najpierw utwórz jednostkę usługi i przyznaj jej dostęp do konta magazynu, korzystając z jednostki usługi i usługi Microsoft Entra ID(Azure Active Directory).
Nie można dodać poświadczeń magazynu jednostki usługi przy użyciu Eksploratora wykazu. Zamiast tego użyj interfejsu API poświadczeń magazynu. Na przykład:
curl -X POST -n \
https://<databricks-instance>/api/2.1/unity-catalog/storage-credentials \
-d '{
"name": "<storage-credential-name>",
"read_only": true,
"azure_service_principal": {
"directory_id": "<directory-id>",
"application_id": "<application-id>",
"client_secret": "<client-secret>"
},
"skip_validation": "false"
}'
Możesz również utworzyć poświadczenia magazynu przy użyciu dostawcy narzędzia Terraform usługi Databricks i databricks_storage_credential.