Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Important
Dieses Feature befindet sich in der Betaversion.
Diese Seite zeigt, wie man ein Unity-Katalog-Schema mit einem externen Secret-Manager verbindet, sodass seine Secret-Werte im Azure Key Vault verbleiben.
Wie externe Geheimnisse funktionieren und welche Einschränkungen sie haben, siehe Externe Geheimnisse im Unity-Katalog.
Requirements
- Erfüllen Sie die Anforderungen für Unity-Kataloggeheimnisse.
- Die Beta-Funktion „External Secrets“ muss für Ihren Workspace aktiviert sein.
- Das Schema, das du extern backen möchtest, darf keine von Azure Databricks verwalteten Geheimnisse enthalten. Lösche bestehende Geheimnisse, bevor du das Backend wechselst.
- Sie müssen über eine Unity Catalog-Verbindung zu Ihrem externen Secret-Manager sowie über Unity Catalog-Dienstanmeldeinformationen verfügen, die von der Verbindung zur Authentifizierung verwendet werden. Um diese zu erstellen, musst du über
USE CONNECTIONfür eine bestehende Verbindung oder überCREATE CONNECTIONim Metastore verfügen, um eine zu erstellen, und Zugriff auf eine Dienstanmeldeinformation haben oder überCREATE CREDENTIALim Metastore verfügen, um eine zu erstellen.
- Azure Key Vault-Unterstützung ist nur für Azure Databricks in Azure verfügbar, bei Verwendung einer
AZURE_KEY_VAULT-Verbindung.
Externe Geheimnisse einrichten
Erstellen Sie eine Service-Credential
Die Verbindung authentifiziert sich mit einem Unity Catalog Service-Zugangsnachweis bei Ihrem externen Secret Manager.
Erstellen Sie eine Service-Credential, die von einer verwalteten Identität oder einem Service-Principal gesichert wird, und erteilen Sie ihr die Berechtigung, Geheimnisse aus dem Ziel-Key Vault aufzulisten und auszulesen. Weisen Sie beispielsweise die Rolle Key Vault Secrets User oder eine entsprechende Zugriffsrichtlinie mit den Berechtigungen get und list für Geheimnisse zu. Für Anweisungen siehe Service-Zugangsdaten erstellen.
Verbindung erstellen
Erstelle eine Unity-Katalog-Verbindung, die auf die Service-Zugangsberechtigung des vorherigen Schritts verweist und auf deinen externen Secret-Manager verweist.
Katalog-Explorer
- In Azure Databricks öffnen Sie den Katalog-Explorer, klicken Sie auf das + Menü und wählen Sie Verbindung erstellen.
- Geben Sie einen Verbindungsnamen ein und wählen Sie den Azure Key Vault-Verbindungstyp.
- Wählen Sie die Dienstanmeldeinformationen aus, mit denen Sie sich authentifizieren möchten, und legen Sie den Namen Ihres Key Vaults fest.
- Klicke auf Erstellen.
Databricks-CLI
Übergeben Sie den Inhalt der Verbindung mit --json unter Verwendung des Verbindungstyps AZURE_KEY_VAULT. Setzen Sie vault_name auf den Namen Ihres Key Vaults und credential auf den Namen der Dienstanmeldeinformationen:
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
Verwenden Sie den /api/2.1/unity-catalog/connections Endpunkt mit dem Verbindungstyp AZURE_KEY_VAULT . Azure Databricks löst vault_name in https://<vault_name>.vault.azure.net auf:
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"
Untermauern Sie ein Schema mit der Verbindung
Konfigurieren Sie das geheime Backend des Schemas im Catalog Explorer.
Öffne in Azure Databricks den Catalog Explorer und gehe zum Schema.
In den Details des Schemas finden Sie die Einstellung für den externen Geheimnismanager und klicken Sie auf Aktivieren.
Das Schema darf keine von Azure Databricks verwalteten Geheimnisse enthalten. Wenn ja, entferne sie zuerst. Aktivieren bleibt deaktiviert, bis das Schema keine Geheimnisse mehr enthält.
Wählen Sie die Verbindung aus, die Sie im vorherigen Schritt erstellt haben, und bestätigen Sie dann.
Das Schema wird nun von deinem externen Secret-Manager unterstützt, und seine Geheimnisse erscheinen im Unity-Katalog.
Um das Schema auf eine andere Verbindung verweisen zu lassen, verwenden Sie Bearbeiten. Um das Schema an den von Azure Databricks verwalteten Speicher zurückzugeben, bearbeite das Schema und deaktiviere externe Geheimnisse.
Das Festlegen oder Ändern des Secret-Backends eines Schemas erfordert USE CATALOG für den übergeordneten Katalog, die Inhaberschaft des Schemas oder MANAGE für das Schema sowie USE CONNECTION für die Verbindung.
Lesen Sie externe Geheimnisse
Nachdem das Schema extern gesichert wurde, erscheinen seine Geheimnisse im Unity-Katalog und du liest sie wie jedes andere Unity-Katalog-Geheimnis. Das Auflisten eines Schemas löst einen Import aus, sodass ein neu hinzugefügtes Geheimnis erst nach der nächsten Liste erscheint. Die Lesebefehle sind in beiden Clouds gleich.
Dbutils
dbutils verwendet eine geheime Redaktion und ist die empfohlene Methode, einen Wert zu lesen. Benötigt Databricks Runtime 17.3 LTS oder höher oder serverlose Umgebung Version 4 oder höher.
# 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
Setzen include_value=true und lesen Sie das Feld effective_value , um den Wert zurückzugeben. Die REST-API maskiert keine zurückgegebenen Werte, protokolliert Zugriffe jedoch weiterhin; stattdessen empfiehlt Azure Databricks 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"
Sie können auch externe Geheimnisse im Catalog Explorer durchsuchen und auflisten, ähnlich wie bei von Azure Databricks verwalteten Geheimnissen. Siehe Lies ein Geheimnis.
Wenn ein Geheimnis noch nicht im Unity-Katalog erscheint, kannst du es trotzdem beim Namen lesen. Gib den Namen so an, wie er im externen Geheimverwalter erscheint, wobei die Zeichensubstitutionen aus Namensbeschränkungen angewendet werden.
Weitere Ressourcen
| Funktion | Description |
|---|---|
| Externe Geheimnisse im Unity-Katalog | Erfahren Sie, wie Unity Catalog extern gesicherte Geheimnisse importiert, verwaltet und liest, und überprüfen Sie die Einschränkungen. |
| Geheimnisse im Unity-Katalog | Erstellen, organisieren und verwalten Sie Geheimnisse, die Azure Databricks im Unity Catalog speichert. |
| Erstellen von Dienstanmeldeinformationen | Erstellen Sie die Unity-Catalog-Service-Zugangsberechtigung, die die Verbindung zur Authentifizierung verwendet. |