Exemple de workflow de secrets
Dans cet exemple de workflow, nous utilisons des secrets pour configurer les informations d’identification JDBC pour la connexion à un service Azure Data Lake Store.
Créer une étendue de secrets
Créez une étendue de secrets appelée jdbc
.
Pour créer une étendue de secrets reposant sur Databricks :
databricks secrets create-scope --scope jdbc
Pour créer une étendue de secrets reposant sur Azure Key Vault, suivez les instructions fournis dans Créer une étendue de secrets reposant sur Azure Key Vault.
Notes
Si votre compte ne dispose pas du plan Premium, vous devez créer l’étendue avec l’autorisation MANAGE
accordée à tous les utilisateurs (« utilisateurs »). Par exemple :
databricks secrets create-scope --scope jdbc --initial-manage-principal users
Créer des secrets
La méthode de création des secrets varie selon que vous utilisez une étendue reposant sur Azure Key Vault ou une étendue reposant sur Databricks.
Créer les secrets dans une étendue Azure Key Vault
Ajoutez les secrets username
et password
à l’aide de l’API REST Définir le secret Azure ou l’interface utilisateur du portail Azure :
Créer les secrets dans une étendue Databricks
Ajoutez les secrets username
et password
. Exécutez les commandes suivantes et entrez les valeurs de secret dans l’éditeur ouvert.
databricks secrets put --scope jdbc --key username
databricks secrets put --scope jdbc --key password
Utiliser les secrets d’un notebook
Dans un notebook, lisez les secrets stockés dans l’étendue de secrets jdbc
pour configurer un connecteur JDBC :
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}")
Vous pouvez maintenant les utiliser ces ConnectionProperties
avec le connecteur JDBC pour communiquer avec votre source de données.
Les valeurs extraites de l’étendue ne sont jamais affichées dans le notebook (voir Rédaction des secrets).
Accorder l’accès à un autre groupe
Notes
Pour cette étape, votre compte doit disposer du plan Premium.
Après avoir vérifié que les informations d’identification ont été correctement configurées, partagez-les avec le groupe datascience
pour qu’il les utilisent pour leur analyse.
Accordez au groupe datascience
une autorisation de lecture seule sur ces informations d’identification en effectuant la requête suivante :
databricks secrets put-acl --scope jdbc --principal datascience --permission READ