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:
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.