Gestion des secrets

Un secret Azure Databricks stocke une valeur sensible, telle qu’un mot de passe, une clé API ou un sel de hachage, afin que les notebooks, les travaux et les fonctions puissent l’utiliser sans que la valeur n’apparaisse dans le code. Vous pouvez gérer des secrets à deux endroits :

  • Scopes de secrets d’espace de travail : collections nommées de secrets dans un seul espace de travail. Les autorisations s’appliquent à tout le périmètre. Voir portées secrètes de l’espace de travail.
  • Secrets dans le catalogue Unity : objets sécurisés (catalog.schema.secret) disponibles dans chaque espace de travail attaché au métastore. Vous pouvez accorder l’accès à chaque secret. Consultez les secrets dans le catalogue Unity.

Les secrets du catalogue Unity peuvent être gérés par Azure Databricks ou adossés à Azure Key Vault. Voir les secrets d’Azure Key Vault dans le catalogue Unity.

Choisissez où stocker un secret

Le tableau suivant compare où chaque option stocke des valeurs secrètes, quels espaces de travail peuvent les utiliser, et comment vous contrôlez l’accès.

  Portée secrète de l’espace de travail secret géré par Azure Databricks dans Unity Catalog Secret adossé à Azure Key Vault dans Unity Catalog (Beta)
Où la valeur est stockée Azure Databricks, dans l’espace de travail, ou votre Azure Key Vault avec une portée adossée à Key Vault Azure Databricks, dans Unity Catalog Azure Key Vault (Azure Databricks ne stocke que le nom secret dans Unity Catalog)
Chiffrement avec votre propre clé Oui, avec une clé gérée par le client pour les services gérés Oui, avec une clé gérée par le client dans le catalogue
Disponible dans Un espace de travail Chaque espace de travail rattaché au métastore Chaque espace de travail rattaché au métastore
Contrôle d’accès Autorisations de portée du secret (pas de contrôle d’accès au niveau du secret) Privilèges du catalogue Unity sur le secret, le schéma ou le catalogue Privilèges du catalogue Unity sur le secret, le schéma ou le catalogue
Tourner Mettre à jour la valeur dans Azure Databricks, ou dans Key Vault pour une étendue adossée à Key Vault Mettre à jour la valeur dans Azure Databricks Effectuez une rotation dans Azure Key Vault. Aucun changement dans Azure Databricks.

Où vous pouvez utiliser des informations secrètes

Les portées de secrets de l’espace de travail et les secrets du catalogue Unity sont pris en charge à différents endroits. Avant d’en choisir un, vérifiez qu’il fonctionne là où votre code s’exécute.

Surface Portée secrète de l’espace de travail Secret dans Unity Catalog
dbutils.secrets dans les notebooks et les jobs Oui. Voir Lire un secret. Oui, sur l’environnement serverless version 4 et supérieure ou Databricks Runtime 17.3 LTS et versions supérieures. Voir Lire un secret.
API REST et Databricks CLI Oui. Les valeurs retournées par l’API ne sont pas expurgées. Oui. Les valeurs retournées par l’API ne sont pas expurgées.
Développement à distance, comme Databricks Connect Oui, avec le client Databricks Connect dbutils.secrets. Voir Databricks Utilities avec Databricks Connect pour Python. No
UDF Python et Scala dans Unity Catalog No Oui. Les appelants n’ont besoin que de EXECUTE. Voir Utiliser des secrets dans les UDF.
Entrepôts de données SQL Oui, avec la fonction secrète Uniquement via un catalogue Unity Python ou un UDF Scala qui déclare le secret
Propriétés de configuration de Spark et variables d’environnement sur compute Oui. Voir Utiliser un secret dans une propriété de configuration ou une variable d’environnement Spark. No
Variables d’environnement du point de terminaison de serving Oui. Consultez Ajouter des variables d’environnement basées sur des secrets. No
Dépôts de paquets par défaut Oui, dans la databricks-package-management portée. Voir Configurer les dépôts de paquets par défaut. No

Ressources supplémentaires

Ressource Description
Secrets dans Unity Catalog Créez des secrets du catalogue Unity, accordez l’accès et lisez-les dans des notebooks, des tâches et des UDF.
Meilleures pratiques pour les secrets Unity Catalog Organisez les secrets par environnement, application ou équipe, et laissez les charges de travail utiliser les secrets sans les lire.