Aller au contenu principal

Gestion des secrets

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

  • Workspace Secret Scope : collections nommées de secrets dans un Workspace. Les autorisations s’appliquent à l’ensemble de la portée. Voir Workspace Secret Scope.
  • Secrets dans Unity Catalog : Objets sécurisables (catalog.schema.secret) disponibles dans chaque workspace rattaché au metastore. Vous pouvez accorder l'accès à chaque secret. Voir Secrets dans Unity Catalog.

Les secrets Unity Catalog peuvent être gérés par Databricks ou pris en charge par AWS Secrets Manager. Voir Secrets AWS Secrets Manager dans Unity Catalog.

Choisissez où stocker un secret​

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

Secret Scope de workspace

Secret géré par Databricks dans Unity Catalog

Secret pris en charge par AWS Secrets Manager dans Unity Catalog (bêta)

Où la valeur est stockée

Databricks, dans le workspace

Databricks, dans Unity Catalog

AWS Secrets Manager (Databricks stocke uniquement le nom du 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 sur le catalogue

-

Disponible en

Un Workspace

Chaque workspace associé au métastore

Chaque workspace associé au métastore

Contrôle d'accès

Autorisations de Secret Scope (pas de contrôle d'accès au niveau du secret)

Privilèges du Unity Catalog sur le secret, le schéma ou le catalogue

Privilèges du Unity Catalog sur le secret, le schéma ou le catalogue

Pour changer

Mettre à jour la valeur dans Databricks

Mettre à jour la valeur dans Databricks

Rotation dans AWS Secrets Manager. Aucun changement dans Databricks.

Secret Scope de workspace

Secret géré par Databricks dans Unity Catalog

Secret pris en charge par AWS Secrets Manager dans Unity Catalog (bêta)

Où la valeur est stockée

Databricks, dans le workspace

Databricks, dans Unity Catalog

AWS Secrets Manager (Databricks stocke uniquement le nom du 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 sur le catalogue

-

Disponible en

Un Workspace

Chaque workspace associé au métastore

Chaque workspace associé au métastore

Contrôle d'accès

Autorisations de Secret Scope (pas de contrôle d'accès au niveau du secret)

Privilèges du Unity Catalog sur le secret, le schéma ou le catalogue

Privilèges du Unity Catalog sur le secret, le schéma ou le catalogue

Pour changer

Mettre à jour la valeur dans Databricks

Mettre à jour la valeur dans Databricks

Rotation dans AWS Secrets Manager. Aucun changement dans Databricks.

Où vous pouvez utiliser des secrets​

Les Workspace Secret Scope et les secrets de Unity Catalog sont pris en charge à des emplacements différents. Avant d'en choisir un, vérifiez qu'il fonctionne là où votre code s'exécute.

Surface

Secret Scope de workspace

Secret dans Unity Catalog

dbutils.secrets dans Notebook et Job

Oui. Voir Lire un secret.

Oui, sur l’environnement serverless version 4 et versions supérieures ou Databricks Runtime 17.3 LTS et versions supérieures. Voir Lire un secret.

API REST et Databricks CLI

Oui. Les valeurs renvoyées par l’API ne sont pas expurgées.

Oui. Les valeurs renvoyées par l’API ne sont pas expurgées.

Développement à distance, tel que Databricks Connect

Oui, avec dbutils.secrets dans le client Databricks Connect. Voir infrastructures publiques Databricks avec Databricks Connect pour Python.

Non

UDF Python et Scala pour Unity Catalog

Non

Oui. Les appelants n’ont besoin que de EXECUTE. Voir Utiliser des secrets dans des UDF.

SQL warehouses

Oui, avec la fonction secret

Uniquement via une UDF Python ou Scala Unity Catalog qui déclare le secret

Propriétés de configuration Spark et variables d'environnement sur le compute

Oui. Voir Utiliser un secret dans une propriété de configuration Spark ou une variable d’environnement.

Non

Variables d'environnement de l'endpoint de serveur de modèle

Oui. Voir Ajouter des variables d’environnement basées sur des secrets.

Non

Default repositorys de packages

Oui, dans le scope databricks-package-management. Voir Configurer les repository de package default.

Non

Surface

Secret Scope de workspace

Secret dans Unity Catalog

dbutils.secrets dans Notebook et Job

Oui. Voir Lire un secret.

Oui, sur l’environnement serverless version 4 et versions supérieures ou Databricks Runtime 17.3 LTS et versions supérieures. Voir Lire un secret.

API REST et Databricks CLI

Oui. Les valeurs renvoyées par l’API ne sont pas expurgées.

Oui. Les valeurs renvoyées par l’API ne sont pas expurgées.

Développement à distance, tel que Databricks Connect

Oui, avec dbutils.secrets dans le client Databricks Connect. Voir infrastructures publiques Databricks avec Databricks Connect pour Python.

Non

UDF Python et Scala pour Unity Catalog

Non

Oui. Les appelants n’ont besoin que de EXECUTE. Voir Utiliser des secrets dans des UDF.

SQL warehouses

Oui, avec la fonction secret

Uniquement via une UDF Python ou Scala Unity Catalog qui déclare le secret

Propriétés de configuration Spark et variables d'environnement sur le compute

Oui. Voir Utiliser un secret dans une propriété de configuration Spark ou une variable d’environnement.

Non

Variables d'environnement de l'endpoint de serveur de modèle

Oui. Voir Ajouter des variables d’environnement basées sur des secrets.

Non

Default repositorys de packages

Oui, dans le scope databricks-package-management. Voir Configurer les repository de package default.

Non

Ressources supplémentaires​