Aller au contenu principal

Ajouter une ressource secrète à une application Databricks

Ajoutez des secrets Databricks comme Ressources Databricks Apps pour transmettre en toute sécurité des valeurs sensibles, telles que les clés API ou les jetons, à votre application. Databricks Apps prend en charge les secrets stockés dans les Secret Scope. Les Applications récupèrent ces secrets lors de l'exécution, ce qui les maintient hors de votre code d'application et de vos définitions d'environnement.

Ajouter une ressource secrète

Avant d'ajouter un secret en tant que ressource, veuillez consulter les prérequis de ressource d'application.

  1. Dans la section Ressources de l'application , lorsque vous créez ou modifiez une application, cliquez sur + Ajouter une ressource > Secret .

  2. Choisir un Secret Scope.

  3. Sélectionnez une clé secrète au sein de ce périmètre à utiliser dans votre application.

  4. Choisissez un niveau d'autorisation pour le périmètre (pas le secret individuel) :

    • Peut lire : Accorde à l'application un accès en lecture à tous les secrets dans le périmètre sélectionné.
    • Peut écrire : octroie à l'application l'autorisation de mettre à jour n'importe quel secret dans le périmètre.
    • Peut gérer : accorde à l’application l’autorisation de lire, de mettre à jour et de supprimer tout secret dans le périmètre.
  5. (Facultatif) Spécifiez une clé de ressource personnalisée, c'est ainsi que vous référencez le secret dans la configuration de votre application. La clé default est secret.

remarque

Ces étapes permettent à l'application d'accéder en toute sécurité à un secret sélectionné depuis le scope en transmettant sa valeur en tant que variable d'environnement.

Les permissions secrètes s'appliquent au niveau du scope , et non au secret individuel. Pour limiter l'accès entre les applications, créez un Secret Scope distinct pour chaque application et stockez uniquement les secrets requis dans ce scope.

Variables d'environnement

Lorsque vous déployez une application qui utilise des Ressources secrètes, Databricks injecte chaque secret en tant que variable d'environnement. Le nom de chaque variable correspond à la clé de ressource que vous avez définie lorsque vous avez ajouté le secret.

Pour accéder au secret depuis votre application, utilisez cette variable d'environnement. Dans votre fichier de configuration d'application (tel que app.yaml), définissez une variable qui référence le secret en utilisant le champ valueFrom. Cette configuration garantit que la valeur secrète réelle reste gérée en toute sécurité par Databricks et n'est pas exposée en texte brut.

Si vous utilisez le même secret à travers plusieurs entrées de ressources avec différentes clés de ressource, chacune devient une variable d'environnement distincte lorsqu'elle est référencée dans valueFrom.

Pour plus d'informations, consultez Accéder aux variables d'environnement depuis les ressources.

important

Ne stockez jamais de valeurs sensibles directement dans des variables d'environnement ou dans le code de votre application. Au lieu de cela, transmettez la clé de ressource à Databricks en tant que variable d'environnement, et récupérez la valeur secrète en toute sécurité au moment de l'exécution.

Supprimer une ressource secrète

Lorsque vous supprimez une Ressource secrète d’une application, le secret lui-même reste dans le Secret Scope. Cependant, l'application perd l'accès au secret à moins que vous ne l'ajoutiez à nouveau.

Bonnes pratiques

Suivez ces bonnes pratiques lors de la gestion des secrets dans votre application :

  • N'exposez pas les valeurs secrètes brutes. Les valeurs secrètes injectées directement en tant que variables d'environnement apparaissent en texte brut sur la page Environnement de l'application. Pour éviter cela, référencez le secret en utilisant le champ valueFrom dans la configuration de votre application et récupérez la valeur de manière sécurisée dans le code de votre application.
  • Limitez l'accès de l'application uniquement aux périmètres spécifiques dont elle a besoin. Évitez d'accorder l'accès à toutes les étendues dans le Workspace.
  • Établissez un calendrier de rotation pour tous les secrets, et effectuez une rotation immédiate lorsqu'un membre de l'équipe change de rôle ou quitte votre organisation.