Konfiguruj zewnętrzne sekrety w Unity Catalog

Ważna

Ta funkcja jest dostępna w wersji beta. Administratorzy obszaru roboczego mogą kontrolować dostęp do tej funkcji ze strony Podglądy . Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.

Ta strona pokazuje, jak połączyć schemat Unity Catalog z zewnętrznym menedżerem sekretów, aby jego wartości pozostały w Azure Key Vault.

Aby dowiedzieć się, jak działają zewnętrzne sekrety i jakie są ograniczenia, zobacz Zewnętrzne sekrety w Unity Catalog.

Zanim rozpoczniesz

  • Spełnij wymagania dotyczące sekretów katalogu Unity.
  • Funkcja External Secrets (beta) musi być włączona w Twoim obszarze roboczym.
  • Schemat, który chcesz zewnętrznie pokryć, nie może zawierać żadnych sekretów zarządzanych przez Azure Databricks. Usuń istniejące sekrety przed zmianą backendu.
  • Musisz mieć połączenie w Unity Catalog z zewnętrznym menedżerem kluczy tajnych oraz dane uwierzytelniające usługi Unity Catalog, których to połączenie używa do uwierzytelniania się. Aby je stworzyć, musisz mieć USE CONNECTION na istniejącym połączeniu lub CREATE CONNECTION na metastore, aby je utworzyć, oraz dostęp do poświadczenia usługowego lub CREATE CREDENTIAL na metastore, aby je utworzyć.
  • Obsługa Azure Key Vault jest dostępna tylko w usłudze Azure Databricks on Azure przy użyciu połączenia AZURE_KEY_VAULT.

Ustaw zewnętrzne sekrety

Stwórz uprawnienia do świadczenia usług

Połączenie uwierzytelnia się w zewnętrznym menedżerze sekretów za pomocą poświadczenia usługi Unity Catalog.

Stwórz dane uwierzytelniające usługi poparte zarządzaną tożsamością lub podmiotem usługowym i przyznaj mu uprawnienia do listy i odczytu sekretów z docelowego Key Vault. Na przykład przypisz rolę użytkownika Key Vault Secrets lub równoważną politykę dostępu z uprawnieniami do pobierania i listy tajnych. Instrukcje dostępne są w artykule Utwórz dane uwierzytelniające usługi.

Utwórz połączenie

Utwórz połączenie w Unity Catalog, które odwołuje się do poświadczenia usługi z poprzedniego kroku i wskazuje na zewnętrznego menedżera sekretów.

Eksplorator wykazu

  1. W Azure Databricks otwórz Eksploratora katalogów, kliknij + menu i wybierz Utworzenie połączenia.
  2. Wprowadź nazwę połączenia i wybierz typ połączenia Azure Key Vault.
  3. Wybierz dane uwierzytelniające do uwierzytelnienia i ustaw nazwę sejfu swojego Key Vault.
  4. Kliknij pozycję Utwórz.

Databricks CLI

Przekaż ciało połączenia za pomocą --json, używając typu połączenia AZURE_KEY_VAULT. Ustaw vault_name nazwę swojego Key Vault oraz credential nazwę poświadczenia usługi:

databricks connections create --json '{
  "name": "my_key_vault_connection",
  "connection_type": "AZURE_KEY_VAULT",
  "options": {
    "vault_name": "my-vault",
    "credential": "my_key_vault_credential"
  }
}'

interfejs API REST

Użyj punktu końcowego /api/2.1/unity-catalog/connections z typem połączenia AZURE_KEY_VAULT. Azure Databricks rozpoznaje vault_name jako https://<vault_name>.vault.azure.net:

curl -X POST \
  -H "Authorization: Bearer $DATABRICKS_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "my_key_vault_connection",
    "connection_type": "AZURE_KEY_VAULT",
    "options": {
      "vault_name": "my-vault",
      "credential": "my_key_vault_credential"
    }
  }' \
  "$DATABRICKS_HOST/api/2.1/unity-catalog/connections"

Cofnij schemat z połączeniem

Skonfiguruj tajne zaplecze schematu w Eksploratorze Katalogu.

  1. W Azure Databricks otwórz Catalog Explorer i przejdź do schematu.

  2. W szczegółach schematu znajdź ustawienie zewnętrznego menedżera sekretów i kliknij Włącz.

    Schemat nie może zawierać żadnych sekretów zarządzanych przez Azure Databricks. Jeśli tak, usuń je najpierw. Włączenie pozostaje wyłączone, dopóki schemat nie wykryje tajemnic.

  3. Wybierz połączenie, które stworzyłeś w poprzednim kroku, a następnie potwierdź.

Schemat jest teraz wspierany przez zewnętrznego menedżera sekretów, a jego sekrety pojawiają się w Unity Catalog.

Aby skierować schemat na inne połączenie, użyj Edit. Aby przywrócić schemat do pamięci zarządzanej przez Azure Databricks, edytuj schemat i wyłącz zewnętrzne sekrety.

Ustawienie lub zmiana zaplecza wpisów tajnych schematu wymaga uprawnienia USE CATALOG w katalogu nadrzędnym, własności schematu lub uprawnienia MANAGE do niego oraz uprawnienia USE CONNECTION dla połączenia.

Czytaj zewnętrzne sekrety

Po zewnętrznym potwierdzeniu schematu, jego sekrety pojawiają się w Katalogu Unity i czytasz je jak każdy inny sekret Katalogu Unity. Wymienienie schematu uruchamia import, więc nowo dodany sekret pojawia się dopiero po następnej liście. Polecenia odczytu są takie same w obu chmurach.

Dbutils

dbutils Stosuje tajną redakcię i jest zalecanym sposobem odczytywania wartości. Wymaga Databricks Runtime 17.3 LTS lub nowszego, albo środowiska bezserwerowego w wersji 4 lub nowszej.

# List the secrets in the schema
all_secrets = dbutils.secrets.list(catalog="main", schema="default")

# Read a specific secret value from the external secret manager
my_secret = dbutils.secrets.get(catalog="main", schema="default", key="example_secret")

interfejs API REST

Ustaw include_value=true i odczytaj effective_value pole, aby zwrócić wartość. Interfejs API REST nie maskuje zwracanych wartości, choć nadal rejestruje dostęp; Azure Databricks zaleca zamiast tego użycie dbutils.

curl -G \
  -H "Authorization: Bearer $DATABRICKS_TOKEN" \
  --data-urlencode "include_value=true" \
  "$DATABRICKS_HOST/api/2.1/unity-catalog/secrets/main.default.example_secret"

Możesz także przeglądać i wyświetlać zewnętrzne sekrety w Eksploratorze katalogu, tak jak sekrety zarządzane przez Azure Databricks. Zobacz Przeczytaj sekret.

Jeśli sekret jeszcze nie pojawia się w Unity Catalog, nadal możesz odczytać go po nazwie. Podaj nazwę w postaci, w jakiej występuje w zewnętrznym menedżerze kluczy tajnych, po zastosowaniu zamian znaków określonych w sekcji Ograniczenia nazewnictwa.

Dodatkowe zasoby

Funkcja Description
Zewnętrzne sekrety w katalogu Unity Dowiedz się, jak Unity Catalog importuje, zarządza i odczytuje sekrety poparte zewnętrznie oraz zapoznaj się z ograniczeniami.
Katalog Sekretów w Unity Twórz, zarządzaj i zarządzaj sekretami, które Azure Databricks przechowuje w Unity Catalog.
Tworzenie poświadczeń usługi Stwórz dane uwierzytelniające usługi Unity Catalog, których połączenie używa do uwierzytelniania.