Nawiązywanie połączenia z zewnętrznymi usługami w chmurze przy użyciu poświadczeń usługi wykazu aparatu Unity
Ważne
Ta funkcja jest dostępna w publicznej wersji zapoznawczej.
W tym artykule opisano sposób używania poświadczeń usługi w wykazie aparatu Unity w celu nawiązania połączenia z zewnętrznymi usługami w chmurze. Obiekt poświadczeń usługi w wykazie aparatu Unity hermetyzuje długoterminowe poświadczenia chmury, które zapewniają dostęp do zewnętrznej usługi w chmurze, z którą użytkownicy muszą nawiązać połączenie z usługi Azure Databricks.
Zobacz też:
- Zarządzanie dostępem do zewnętrznych usług w chmurze przy użyciu poświadczeń usługi.
- Zarządzanie poświadczeniami usługi
Zanim rozpoczniesz
Aby można było użyć poświadczeń usługi do nawiązania połączenia z zewnętrzną usługą w chmurze, musisz mieć następujące elementy:
- Obszar roboczy usługi Azure Databricks, który jest włączony dla wykazu aparatu Unity.
- Zasób obliczeniowy, który znajduje się w środowisku Databricks Runtime 15.4 LTS lub nowszym. Magazyny SQL nie są obsługiwane.
- Poświadczenie usługi utworzone w magazynie metadanych wykazu aparatu Unity, które zapewnia dostęp do usługi w chmurze.
- Uprawnienie
ACCESS
do poświadczeń usługi lub własności poświadczeń usługi.
Używanie poświadczeń usługi w kodzie
Ta sekcja zawiera przykład użycia poświadczeń usługi w notesie. Tylko język Python jest obsługiwany w publicznej wersji zapoznawczej. Zamień wartości symboli zastępczych.
Przykład: konfigurowanie klienta zestawu Azure SDK do używania określonego poświadczenia usługi
from azure.keyvault.secrets import SecretClient # example Azure SDK client
credential = dbutils.credentials.getServiceCredentialsProvider('your-service-credential')
vault_url = "https://your-keyvault-name.vault.azure.net/"
client = SecretClient(vault_url=vault_url, credential=credential)
Określanie domyślnego poświadczenia usługi dla zasobu obliczeniowego
Opcjonalnie można określić domyślne poświadczenia usługi dla klastra obliczeniowego typu all-purpose lub jobs, ustawiając zmienną środowiskową. Domyślnie zestaw SDK używa tego poświadczenia usługi, jeśli nie podano uwierzytelniania. Użytkownicy nadal wymagają ACCESS
poświadczeń usługi w celu nawiązania połączenia z zewnętrzną usługą w chmurze. Usługa Databricks nie zaleca takiego podejścia, ponieważ sprawia, że kod jest mniej przenośny niż nazewnictwo poświadczeń usługi w kodzie.
Uwaga
Bezserwerowe obliczenia i magazyny SQL nie obsługują zmiennych środowiskowych, dlatego nie obsługują domyślnych poświadczeń usługi.
Otwórz stronę edycji klastra.
Zobacz Zarządzanie obliczeniami.
Kliknij pozycję Opcje zaawansowane w dolnej części strony i przejdź do karty Spark .
Dodaj następujący wpis w zmienne środowiskowe, zastępując ciąg
<your-service-credential>
:DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME=<your-service-credential>
Poniższy przykładowy kod nie określa poświadczeń usługi. Zamiast tego używa poświadczeń usługi określonych w zmiennej środowiskowej DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME
:
from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient
vault_url = "https://your-keyvault-name.vault.azure.net/"
client = SecretClient(vault_url=vault_url, credential=credential)
Porównaj z przykładem w przykładzie: skonfiguruj klienta zestawu Azure SDK tak, aby używał określonego poświadczenia usługi, który nie importuje DefaultAzureCredential
i dodaje specyfikację poświadczeń:
credential = dbutils.credentials.getServiceCredentialsProvider('your-service-credential')