Configureer externe geheimen in Unity Catalog

Important

Deze functie bevindt zich in de bètaversie. Werkruimtebeheerders kunnen de toegang tot deze functie beheren vanaf de pagina Previews . Zie Azure Databricks previews beheren.

Deze pagina laat zien hoe je een Unity Catalog-schema verbindt met een externe geheime beheerder zodat de geheime waarden in Azure Key Vault blijven.

Voor hoe externe geheimen werken en hun beperkingen, zie Externe geheimen in Unity Catalog.

Voordat u begint

  • Voldoen aan de eisen voor Unity Catalog-geheimen.
  • De bètafunctie Externe geheimen moet zijn ingeschakeld voor je werkruimte.
  • Het schema dat je extern wilt backen, mag geen door Azure Databricks beheerde geheimen bevatten. Verwijder bestaande geheimen voordat je de backend wisselt.
  • Je moet een Unity Catalog-verbinding hebben met je externe geheime manager en een Unity Catalog-servicecredential die de verbinding gebruikt om te authenticeren. Om deze te maken, moet je beschikken over USE CONNECTION op een bestaande verbinding of over CREATE CONNECTION op de metastore om er een te maken, en toegang hebben tot een servicecredential, of over CREATE CREDENTIAL op de metastore om er een te maken.
  • Azure Key Vault-backing is alleen beschikbaar op Azure Databricks op Azure, met behulp van een AZURE_KEY_VAULT verbinding.

Externe geheimen opstellen

Maak een servicecredential aan

De verbinding authenticeert zich bij je externe geheime manager met een Unity Catalog-servicecredential.

Maak een servicecredential aan die wordt ondersteund door een beheerde identiteit of serviceprincipal, en geef deze toestemming om geheimen van de doel-Key Vault te vermelden en te lezen. Wijs bijvoorbeeld de rol Key Vault Secrets User toe, of een gelijkwaardig toegangsbeleid met de machtigingen get en list voor geheimen. Voor instructies, zie Dienstgegevens aanmaken.

Een verbinding maken

Maak een Unity Catalog-verbinding aan die verwijst naar het service-credential van de vorige stap en verwijst naar je externe geheime manager.

Catalogusverkenner

  1. Open in Azure Databricks Catalog Explorer, klik op het + menu en selecteer Verbinding aanmaken.
  2. Voer een Connection-naam in en selecteer het Azure Key Vault-verbindingstype.
  3. Selecteer het service-credential waarmee je wilt authenticeren en stel de kluisnaam in van je Key Vault.
  4. Klik op Create.

Databricks-CLI

Geef het verbindingslichaam door met --json, met behulp van het AZURE_KEY_VAULT verbindingstype. Stel vault_name in op de naam van je Key Vault en credential op de naam van de service-credential:

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

REST API

Gebruik het /api/2.1/unity-catalog/connections eindpunt met het AZURE_KEY_VAULT verbindingstype. Azure Databricks zet vault_name om in 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"

Maak een back-up van een schema met de verbinding

Configureer de geheime backend van het schema in Catalog Explorer.

  1. Open in Azure Databricks Catalog Explorer en ga naar het schema.

  2. Zoek in de details van het schema de externe secrets manager-instelling en klik op Enable.

    Het schema mag geen Azure Databricks-beheerde geheimen bevatten. Als dat zo is, verwijder ze dan eerst. Enable blijft uitgeschakeld totdat het schema geen geheimen meer heeft.

  3. Selecteer de verbinding die je in de vorige stap hebt aangemaakt en bevestig dan.

Het schema wordt nu ondersteund door je externe geheime beheerder, en de geheimen verschijnen in Unity Catalog.

Om het schema naar een andere verbinding te verwijzen, gebruik Bewerken. Om het schema terug te sturen naar Azure Databricks-beheerde opslag, bewerk je het schema en schakel je externe geheimen uit.

Het instellen of wijzigen van de geheime backend van een schema vereist USE CATALOG de oudercatalogus, het eigendom van het schema of MANAGE erop, en USE CONNECTION de verbinding.

Externe secrets lezen

Nadat het schema extern is ondersteund, verschijnen de geheimen in de Unity Catalog en lees je ze als elk ander Unity Catalog-geheim. Het vermelden van een schema activeert een import, dus een nieuw toegevoegd geheim verschijnt pas na de volgende lijst. De leescommando's zijn hetzelfde op beide clouds.

Dbutils

dbutils Past geheime redactie toe en is de aanbevolen manier om een waarde te lezen. Vereist Databricks Runtime 17.3 LTS of hoger, of een serverless-omgeving versie 4 of hoger.

# 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")

REST API

Stel het veld in include_value=true en lees het effective_value om de waarde terug te geven. De REST API redigeert geretourneerde waarden niet, maar controleert wel de toegang; Azure Databricks raadt dbutils dit in plaats daarvan aan.

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

Je kunt ook externe geheimen bekijken en vermelden in Catalog Explorer, op dezelfde manier als door Azure Databricks beheerde geheimen. Zie Lees een geheim.

Als een geheim nog niet in de Unity Catalog verschijnt, kun je het alsnog bij naam lezen. Geef de naam op zoals die in de externe secretsmanager verschijnt, met de tekenvervangingen uit Naming restrictions toegepast.

Aanvullende bronnen

Eigenschap Beschrijving
Externe geheimen in Unity Catalog Leer hoe Unity Catalog extern gebackde geheimen importeert, beheert en leest, en bekijk de beperkingen.
Secrets in Unity Catalog Maak, regel en beheer geheimen die Azure Databricks opslaat in Unity Catalog.
Servicereferenties maken Maak het Unity Catalog-servicecredential aan dat de verbinding gebruikt om te authenticeren.