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 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.
Remarque
Si votre compte ne dispose pas du plan Premium, vous devez créer l’étendue avec l’autorisation GÉRER accordée à tous les utilisateurs (« utilisateurs »). Par exemple :
databricks secrets create-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-secret jdbc username
databricks secrets put-secret jdbc 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é configurées correctement, partagez ces informations d’identification avec le groupe datascience
à des fins d’analyse en leur accordant les autorisations nécessaires pour lire l’étendue du secret et répertorier les secrets disponibles.
Accordez au groupe datascience
une autorisation LECTURE sur ces informations d’identification en effectuant la requête suivante :
databricks secrets put-acl jdbc datascience READ
Pour plus d’informations sur le contrôle d’accès aux secrets, consultez Contrôle d’accès aux secrets.