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. |
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 |
|---|---|---|
| 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 | Non |
UDF Python et Scala pour Unity Catalog | Non | Oui. Les appelants n’ont besoin que de |
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 | Non |
Ressources supplémentaires
-
- Secrets dans Unity Catalog
- Créez des secrets Unity Catalog, accordez des accès et lisez-les dans des notebooks, des jobs et des UDF.
-
- Bonnes pratiques pour les secrets de Unity Catalog
- Organisez les secrets par environnement, application ou équipe, et laissez les charges de travail utiliser les secrets sans les lire.