Événements
31 mars, 23 h - 2 avr., 23 h
L’événement de la communauté Microsoft Fabric, Power BI, SQL et AI ultime. 31 mars au 2 avril 2025.
Inscrivez-vous aujourd’huiCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Parfois, l’accès aux données vous demande de vous authentifier auprès de sources de données externes par le biais de JDBC. Au lieu d’entrer directement vos informations d’identification dans un notebook, vous pouvez utiliser des secrets Azure Databricks pour stocker vos informations d’identification et les référencer dans les blocs-notes et les travaux. Cet article fournit une vue d’ensemble des secrets Azure Databricks.
Pour configurer et utiliser des secrets, vous devez :
Pour obtenir un exemple de bout en bout de l’utilisation des secrets dans vos flux de travail, consultez Tutoriel : Créer et utiliser un secret Databricks. Pour utiliser un secret dans une propriété de configuration Spark ou une variable d’environnement, consultez Utiliser un secret dans une propriété de configuration Spark ou une variable d’environnement.
Avertissement
Les administrateurs, les créateurs de secrets et les utilisateurs autorisés peuvent lire les secrets Azure Databricks. Bien que Databricks fasse un effort pour réactez les valeurs secrètes qui peuvent être affichées dans les notebooks, il n’est pas possible d’empêcher ces utilisateurs de lire des secrets. Voir la rédaction des secrets.
Une étendue de secrets est une collection de secrets identifiée par un nom. Databricks recommande d’aligner les étendues secrètes sur des rôles ou des applications plutôt que sur des individus.
Il existe deux types d’étendue de secret :
Après avoir créé une étendue secrète, vous pouvez attribuer des autorisations pour accorder aux utilisateurs l’accès aux étendues de lecture, d’écriture et de gestion.
Cette section explique comment créer une étendue de secrets basée sur Azure Key Vault en utilisant le portail Azure et l’interface utilisateur de l’espace de travail Azure Databricks. Vous pouvez aussi créer une étendue de secrets basée sur Azure Key Vault en utilisant l’interface CLI Databricks.
Notes
La création d’une étendue de secrets Azure Key Vault nécessite le rôle Contributeur ou Propriétaire sur l’instance de coffre de clés Azure, même si le service Azure Databricks a déjà obtenu l’accès au coffre de clés.
Si le coffre de clés existe dans un locataire différent de l’espace de travail Azure Databricks, l’utilisateur Azure AD qui crée l’étendue de secrets doit disposer de l’autorisation pour créer des principaux de service dans le locataire du coffre de clés. Sinon, l’erreur suivante s’affiche :
Unable to grant read/list permission to Databricks service principal to KeyVault 'https://xxxxx.vault.azure.net/': Status code 403, {"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient privileges to complete the operation."},"requestId":"XXXXX","date":"YYYY-MM-DDTHH:MM:SS"}}
Connectez-vous au Portail Azure, recherchez et sélectionnez l’instance du coffre de clés Azure.
Sous Paramètres, cliquez sur l’onglet Configuration d’Access.
Définissez Modèle d’autorisation sur Stratégie d’accès au coffre.
Notes
La création d’un rôle d’étendue de secrets reposant sur Azure Key Vault accorde les autorisations Get et List à l’ID de l’application du service Azure Databricks à l’aide de stratégies d’accès au coffre de clés. Le modèle d’autorisation de contrôle d’accès en fonction du rôle Azure n’est pas pris en charge avec Azure Databricks.
Sous Paramètres, sélectionnez Mise en réseau.
Dans Pare-feu et réseaux virtuels, définissez Autoriser l’accès à partir de : à Autoriser l’accès public à partir de réseaux virtuels spécifiques et des adresses IP.
Sous Exception, cochez la case Autoriser les services Microsoft approuvés pour contourner ce pare-feu.
Notes
Vous pouvez également définir Autoriser l’accès à partir de : sur Autoriser l’accès public à partir de tous les réseaux.
Accédez à https://<databricks-instance>#secrets/createScope
. Remplacez <databricks-instance>
par l'URL de l'espace de travail de votre déploiement Azure Databricks. Cette URL respecte la casse. Par exemple, scope
dans createScope
doit utiliser un majuscule S
).
Entrez le nom de l’étendue de secrets. Les noms d’étendues de secrets ne respectent pas la casse.
Dans Gérer le principal , sélectionnez Creator ou Tous les utilisateurs de l’espace de travail pour spécifier les utilisateurs disposant de l’autorisation MANAGE sur l’étendue secrète.
L’autorisation MANAGE permet aux utilisateurs de lire, d’écrire et d’accorder des autorisations sur l’étendue. Votre compte doit avoir le plan Premium pour choisir Creator.
Entrez le nom DNS (par exemple, https://databrickskv.vault.azure.net/
) et l'ID de ressource, par exemple :
/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/databricks-rg/providers/Microsoft.KeyVault/vaults/databricksKV
Ces propriétés sont disponibles dans l’onglet Paramètres > Propriétés d’un Azure Key Vault dans votre Portail Azure.
Cliquez sur Créer.
Utilisez la commande Databricks CLI databricks secrets list-scopes
pour vérifier que l’étendue a bien été créée.
Cette section explique comment créer une étendue secrète à l’aide de l’interface CLI Databricks ( version 0.205 et ultérieure). Vous pouvez également utiliser l’API Secrets.
Noms d’étendue de secret :
@
des points, et ne peut pas dépasser 128 caractères.Les noms d’étendue de secret sont considérés comme non sensibles et sont lisibles par tous les utilisateurs de l’espace de travail.
Pour créer une étendue à l’aide de l’interface CLI Databricks :
databricks secrets create-scope <scope-name>
Par défaut, les étendues sont créées avec l’autorisation GÉRER pour l’utilisateur qui a créé l’étendue. Une fois que vous avez créé une étendue de secret sauvegardée par Databricks, vous pouvez y ajouter des secrets.
Pour dresser la liste des étendues existantes dans un espace de travail à l’aide de l’interface CLI :
databricks secrets list-scopes
Vous pouvez également répertorier les étendues de secrets à l’aide de l’API Secrets.
La suppression d’une étendue de secrets entraîne la suppression de tous les secrets et ACL appliqués à l’étendue. Pour supprimer une étendue à l’aide de l’interface CLI, exécutez les opérations suivantes :
databricks secrets delete-scope <scope-name>
Vous pouvez également supprimer une étendue de secrets en tirant parti de l’API Secrets.
Un secret est une paire clé-valeur qui stocke des éléments sensibles à l’aide d’un nom de clé unique dans une étendue secrète.
Cette section explique comment créer une étendue secrète à l’aide de l’interface CLI Databricks ( version 0.205 et ultérieure). Vous pouvez également utiliser l’API Secrets. Les noms de secrets ne respectent pas la casse.
La méthode de création d'un secret dépend de l'utilisation d'une portée adossée à Azure Key Vault ou d'une portée adossée à Databricks.
Pour créer un secret dans Azure Key Vault, vous utilisez l’API REST Portail Azure ou Azure Set Secret. Pour obtenir un exemple, consultez l’étape 4 : Ajouter la clé secrète client à Azure Key Vault.
Cette section explique comment créer des secrets à l’aide de l’interface CLI Databricks ( version 0.205 et ultérieure). Vous pouvez également utiliser l’API Secrets. Les noms de secrets ne respectent pas la casse.
Lorsque vous créez un secret dans une étendue databricks soutenue, vous pouvez spécifier la valeur secrète de l’une des trois manières suivantes :
Par exemple :
databricks secrets put-secret --json '{
"scope": "<scope-name>",
"key": "<key-name>",
"string_value": "<secret>"
}'
Si vous créez un secret sur plusieurs lignes, vous pouvez transmettre le secret à l’aide d’une entrée standard. Par exemple :
(cat << EOF
this
is
a
multi
line
secret
EOF
) | databricks secrets put-secret <secret_scope> <secret_key>
Pour répertorier les secrets dans une étendue donnée :
databricks secrets list-secrets <scope-name>
La réponse affiche des métadonnées sur les secrets, notamment les noms de clés des secrets. Vous utilisez l’utilitaire de secrets (dbutils.secrets) dans un notebook ou un travail pour répertorier cette métadonnée. Par exemple :
dbutils.secrets.list('my-scope')
Vous créez des secrets à l'aide de l'API REST ou du CLI, mais vous devez utiliser l'utilitaire Secrets (dbutils.secrets) dans un notebook ou un job pour lire un secret.
Pour supprimer un secret d’une étendue avec l’interface de ligne de commande Databricks :
databricks secrets delete-secret <scope-name> <key-name>
Vous pouvez également utiliser l’API Secrets.
Pour supprimer un secret d'une portée soutenue par Azure Key Vault, utilisez l'API REST Azure SetSecret ou l'interface utilisateur du portail Azure.
Par défaut, l’utilisateur qui crée les étendues secrètes reçoit l’autorisation MANAGE. Cela permet au créateur d’étendue de lire les secrets dans l’étendue, d’écrire des secrets dans l’étendue et de gérer les autorisations sur l’étendue.
Notes
Les listes de contrôle d’accès de secret se trouvent au niveau de l’étendue. Si vous utilisez des étendues reposant sur Azure Key Vault, les utilisateurs auxquels l’accès est accordé ont accès à tous les secrets dans le Key Vault Azure. Pour restreindre l’accès, utilisez des instances distinctes de coffre de clés Azure.
Cette section explique comment gérer le contrôle d’accès aux secrets à l’aide de Qu’est-ce que l’interface CLI Databricks ? (version 0.205 et versions ultérieures). Vous pouvez également utiliser l’API Secrets. Pour les niveaux d’autorisation des secrets, consultez Listes de contrôle d’accès (ACL) secrètes
Pour accorder des autorisations utilisateur sur une étendue secrète à l’aide de l’interface CLI Databricks :
databricks secrets put-acl <scope-name> <principal> <permission>
Le fait de faire une demande pour un principal qui a déjà une autorisation appliquée remplace le niveau d’autorisation existant.
Le champ principal
spécifie un principal Azure Databricks existant. Un utilisateur est spécifié à l’aide de son adresse e-mail, un principal de service à l’aide de sa valeur applicationId
et un groupe à l’aide de son nom de groupe. Pour plus d’informations, consultez Principal.
Pour afficher toutes les autorisations d’étendue de secret pour une étendue secrète donnée :
databricks secrets list-acls <scope-name>
Pour obtenir les autorisations d’étendue de secret appliquées à un principal pour une étendue secrète donnée :
databricks secrets get-acl <scope-name> <principal>
Si aucune liste de contrôle d’accès n’existe pour le principal et l’étendue donnés, cette requête échoue.
Pour supprimer une autorisation d’étendue secrète appliquée à un principal pour une étendue secrète donnée :
databricks secrets delete-acl <scope-name> <principal>
Le stockage des informations d’identification en tant que secrets Azure Databricks facilite la protection de vos informations d’identification lorsque vous exécutez des notebooks et travaux. Toutefois, il est facile d’imprimer accidentellement un secret dans des tampons de sortie standard ou d’afficher la valeur pendant l’attribution de variable.
Pour éviter cela, Azure Databricks supprime toutes les valeurs secrètes qui sont lues à l’aide de dbutils.secrets.get()
. Quand elles sont affichées dans la sortie de cellule du notebook, les valeurs de secret sont remplacées par [REDACTED]
.
Par exemple, si vous attribuez une valeur secrète à une variable à l’aide de dbutils.secrets.get()
et que vous imprimez ensuite cette variable, celle-ci est remplacée par [REDACTED]
.
Avertissement
L’expurgation des secrets pour la sortie de cellule de notebook s’applique uniquement aux littéraux. La fonctionnalité d’expurgation des secrets n’empêche pas les transformations délibérées et arbitraires d’un littéral secret. Pour garantir le contrôle approprié des secrets, vous devez utiliser des listes de contrôle d’accès pour limiter les autorisations d’exécution des commandes. Cela empêche l’accès non autorisé aux contextes de bloc-notes partagés.
Événements
31 mars, 23 h - 2 avr., 23 h
L’événement de la communauté Microsoft Fabric, Power BI, SQL et AI ultime. 31 mars au 2 avril 2025.
Inscrivez-vous aujourd’hui