Partager via


Gérer les secrets dans Azure Container Apps

Azure Container Apps permet à votre application de stocker de façon sécurisée des valeurs de configuration sensibles. Une fois les secrets définis au niveau de l'application, les valeurs sécurisées sont disponibles pour les révisions dans vos applications conteneurs. En outre, vous pouvez faire référence à des valeurs garanties dans les règles de mise à l'échelle. Pour plus d’informations sur l’utilisation des secrets avec Dapr, reportez-vous à Intégration de Dapr.

  • Les secrets sont délimités à une application, en dehors de toute révision spécifique d’une application.
  • De nouvelles révisions ne sont pas générées par l’ajout, la suppression ou la modification de secrets.
  • Chaque révision d’application peut référencer un ou plusieurs secrets.
  • Plusieurs révisions peuvent référencer le ou les mêmes secrets.

Un secret mis à jour ou supprimé n’affecte pas automatiquement les révisions existantes dans votre application. Lors de la mise à jour ou de la suppression d’un secret, vous pouvez répondre à ces changements de l’une des deux manières suivantes :

  1. Déployer une nouvelle révision.
  2. Redémarrer une révision existante.

Avant de supprimer un secret, déployez une nouvelle révision qui ne fait plus référence à l’ancien secret. Désactivez ensuite toutes les révisions qui font référence au secret.

Définition de secrets

Les secrets sont définis comme un ensemble de paires nom/valeur. La valeur de chaque secret est spécifiée directement ou comme référence à un secret stocké dans Azure Key Vault.

Remarque

Évitez de spécifier la valeur d’un secret directement dans un environnement de production. Au lieu de cela, utilisez une référence à un secret stocké dans Azure Key Vault, comme décrit dans Stocker une valeur secrète dans la section Container Apps.

Stocker une valeur de secret dans Container Apps

Lorsque vous définissez des secrets par l'intermédiaire du portail, ou via différentes options de ligne de commande.

  1. Accédez à la page de votre application conteneur dans le portail Azure.

  2. Sous la section Paramètres, sélectionnez Secrets.

  3. Sélectionnez Ajouter.

  4. Dans le volet contextuel Ajouter un secret, entrez les informations suivantes :

    • Nom : Nom du secret.
    • Type : sélectionnez Container Apps Secret.
    • Valeur : Valeur du secret.
  5. Sélectionnez Ajouter.

Référencer des secrets à partir de Key Vault

Lorsque vous définissez un secret, vous créez une référence à un secret stocké dans Azure Key Vault. Container Apps récupère automatiquement la valeur secrète de Key Vault et la rend disponible comme secret dans votre application conteneur.

Pour référencer un secret à partir de Key Vault, vous devez au préalable activer l'identité managée dans votre application conteneur et octroyer à l'identité l'accès aux secrets de Key Vault.

Pour activer l’identité managée dans votre application conteneur, consultez Identités managées.

Pour accorder l’accès aux secrets Key Vault, créez une stratégie d’accès dans Key Vault pour l’identité managée que vous avez créée. Activez l’autorisation de secret « Get » sur cette stratégie.

  1. Accédez à la page de votre application conteneur dans le portail Azure.

  2. Sous la section Paramètres, sélectionnez Identité.

  3. Sous l’onglet Affectée par le système, sélectionnez Activée.

  4. Sélectionnez Enregistrer pour activer l’identité managée affectée par le système.

  5. Sous la section Paramètres, sélectionnez Secrets.

  6. Sélectionnez Ajouter.

  7. Dans le volet contextuel Ajouter un secret, entrez les informations suivantes :

    • Nom : Nom du secret.
    • Type : Sélectionnez Référence Key Vault.
    • URL du secret Key Vault : URI de votre secret dans Key Vault.
    • Identité : Identité à utiliser pour récupérer le secret dans Key Vault.
  8. Sélectionnez Ajouter.

Remarque

Si vous utilisez une UDR avec le Pare-feu Azure, vous devez ajouter l’étiquette de service AzureKeyVault et le FQDN login.microsoft.com à la liste verte de votre pare-feu. Reportez-vous à la configuration d’UDR avec le Pare-feu Azure pour déterminer les étiquettes de service supplémentaires dont vous avez besoin.

URI de secret Key Vault et rotation des secrets

L’URI d’un secret Key Vault doit être dans l’un des formats suivants :

  • https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931 : Référencer une version spécifique d’un secret.
  • https://myvault.vault.azure.net/secrets/mysecret : Référencer la version la plus récente d’un secret.

Si aucune version n’est spécifiée dans l’URI, l’application utilise la dernière version qui existe dans le coffre de clés. Lorsque des versions plus récentes deviennent disponibles, l’application récupère automatiquement la dernière version dans les 30 minutes. Toutes les révisions actives qui référencent le secret dans une variable d’environnement sont automatiquement redémarrées pour récupérer la nouvelle valeur.

Pour contrôler totalement la version à utiliser d’un secret, spécifiez la version dans l’URI.

Référencement des secrets dans des variables d’environnement

Après avoir déclaré des secrets au niveau de l’application, comme décrit dans la section définition des secrets, vous pouvez les référencer dans des variables d’environnement lorsque vous créez une révision dans votre application conteneur. Lorsqu’une variable d’environnement fait référence à un secret, sa valeur est remplie avec la valeur définie dans le secret.

Exemple

L’exemple suivant montre une application qui déclare une chaîne de connexion au niveau de l’application. Cette connexion est référencée dans une variable d’environnement de conteneur et dans une règle d’échelle.

Une fois que vous avez défini un secret dans votre application conteneur, vous pouvez le référencer dans une variable d’environnement lorsque vous créez une révision.

  1. Accédez à la page de votre application conteneur dans le portail Azure.

  2. Ouvrez la page Gestion des révisions.

  3. Sélectionnez Créer une nouvelle révision.

  4. Dans la page Créer et déployer une nouvelle révision, sélectionnez un conteneur.

  5. Dans la section Variables d’environnement, sélectionnez Ajouter.

  6. Saisissez les informations suivantes :

    • Nom : Nom de la variable d’environnement.
    • Source : Sélectionnez Référencer un secret.
    • Valeur : Sélectionnez le secret que vous souhaitez référencer.
  7. Cliquez sur Enregistrer.

  8. Sélectionnez Créer pour créer la nouvelle révision.

Montage de secrets dans un volume

Après avoir déclaré des secrets au niveau de l’application, comme décrit dans la section définition des secrets, vous pouvez les référencer dans des montages de volume lorsque vous créez une révision dans votre application conteneur. Lorsque vous montez des secrets dans un volume, chaque secret est monté en tant que fichier dans le volume. Le nom de fichier est le nom du secret, et le contenu du fichier est la valeur du secret. Vous pouvez charger tous les secrets dans un montage de volume, ou vous pouvez charger des secrets spécifiques.

Exemple

Une fois que vous avez défini un secret dans votre application conteneur, vous pouvez le référencer dans un montage de volume lorsque vous créez une révision.

  1. Accédez à la page de votre application conteneur dans le portail Azure.

  2. Ouvrez la page Gestion des révisions.

  3. Sélectionnez Créer une nouvelle révision.

  4. Dans la page Créer et déployer une nouvelle révision,

  5. sélectionnez un conteneur, puis Modifier.

  6. Dans la section Montages de volume, développez la section Secrets.

  7. Sélectionnez Créer un volume.

  8. Saisissez les informations suivantes :

    • Nom : mysecrets
    • Monter tous les secrets : activé

    Remarque

    Si vous souhaitez charger des secrets spécifiques, désactivez Monter tous les secrets et sélectionnez les secrets que vous souhaitez charger.

  9. Sélectionnez Ajouter.

  10. Sous Nom du volume, sélectionnez mysecrets.

  11. Sous Chemin de montage, entrez /mnt/secrets.

  12. Cliquez sur Enregistrer.

  13. Sélectionnez Créer pour créer la révision avec le montage de volume.

Étapes suivantes