Beispiel für Geheimnisworkflow

In diesem Workflowbeispiel verwenden wir Geheimnisse, um JDBC-Anmeldeinformationen zum Herstellen einer Verbindung mit einer Azure Data Lake Storage-Instanz einzurichten.

Erstellen eines Geheimnisbereiches

Erstellen Sie einen Geheimnisbereich mit dem Namen jdbc.

So erstellen Sie einen von Databricks unterstützten Geheimnisbereich:

databricks secrets create-scope jdbc

Befolgen Sie die Anweisungen unter Erstellen eines von Azure Key Vault unterstützten Geheimnisbereichs, um einen von Azure Key Vault gesicherten Geheimnisbereich zu erstellen.

Hinweis

Wenn Ihr Konto nicht über den Premium-Tarif verfügt, müssen Sie den Bereich mit VERWALTEN-Berechtigungen erstellen, die allen Benutzern und Benutzerinnen („Benutzer“) zugewiesen wurden. Zum Beispiel:

databricks secrets create-scope jdbc --initial-manage-principal users

Erstellen von Geheimnissen

Die Methode zum Erstellen der Geheimnisse hängt davon ab, ob Sie einen durch Azure Key Vault gesicherten Bereich oder einen durch Databricks gesicherten Bereich verwenden.

Erstellen der Geheimnisse in einem von Azure Key Vault unterstützten Geheimnisbereich

Fügen Sie die Geheimnisse username und password über die Azure-REST-API SetSecret oder die Azure-Portal-Benutzeroberfläche hinzu:

Hinzufügen von Geheimnissen zu Azure Key Vault

Erstellen von Geheimnissen in einem von Databricks unterstützten Geheimnisbereich

Fügen Sie die Geheimnisse username und password hinzu. Führen Sie die folgenden Befehle aus, und geben Sie die Geheimniswerte im geöffneten Editor ein.

databricks secrets put-secret jdbc username
databricks secrets put-secret jdbc password

Verwenden von Geheimnissen in einem Notebook

Lesen Sie in einem Notebook die Geheimnisse, die im Geheimnisbereich jdbc gespeichert sind, um einen JDBC-Connector zu konfigurieren:

val driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
val connectionProperties = new java.util.Properties()
connectionProperties.setProperty("Driver", driverClass)

val jdbcUsername = dbutils.secrets.get(scope = "jdbc", key = "username")
val jdbcPassword = dbutils.secrets.get(scope = "jdbc", key = "password")
connectionProperties.put("user", s"${jdbcUsername}")
connectionProperties.put("password", s"${jdbcPassword}")

Sie können diese ConnectionProperties nun mit dem JDBC-Connector verwenden, um mit Ihrer Datenquelle zu kommunizieren. Die aus dem Bereich abgerufenen Werte werden nie im Notebook angezeigt (siehe Geheimnisredaktion).

Gewähren des Zugriffs auf eine andere Gruppe

Hinweis

Für diesen Schritt muss Ihr Konto über den Premium-Plan verfügen.

Nachdem Sie überprüft haben, ob die Anmeldeinformationen ordnungsgemäß konfiguriert wurden, geben Sie diese Anmeldeinformationen für die datascience Gruppe frei, um sie für ihre Analyse zu verwenden, indem Sie ihnen Berechtigungen zum Lesen des geheimen Bereichs erteilen und die verfügbaren Geheimnisse auflisten.

Erteilen Sie der Gruppe datascience die Berechtigung LESEN für diese Anmeldeinformationen, indem Sie die folgende Anforderung stellen:

databricks secrets put-acl jdbc datascience READ

Weitere Informationen zur Geheimniszugriffssteuerung finden Sie unter Zugriffssteuerungslisten für Geheimnisse.