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 que les secrets sont définis au niveau de l’application, les valeurs sécurisées sont disponibles pour les révisions dans vos applications conteneur. En outre, vous pouvez référencer des valeurs sécurisées à l’intérieur des règles d’échelle. Pour plus d’informations sur l’utilisation des secrets avec Dapr, reportez-vous à l’intégration de Dapr.

  • Les secrets sont délimités à une application, en dehors de toute révision spécifique d’une application.
  • L’ajout, la suppression ou le changement de secrets ne génèrent pas de nouvelles révisions.
  • 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 en tant que référence à un secret stocké dans Azure Key Vault.

Stocker la valeur secrète dans Container Apps

Lorsque vous définissez des secrets via le portail ou via différentes options de ligne de commande.

  1. Accédez à votre application conteneur dans le Portail Azure.

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

  3. Sélectionnez Ajouter.

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

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

Secret de référence à 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 en tant que secret dans votre application conteneur.

Pour référencer un secret à partir de Key Vault, vous devez d’abord activer l’identité managée dans votre application conteneur et accorder l’accès d’identité aux secrets 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 à votre application conteneur dans le Portail Azure.

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

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

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

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

  6. Sélectionnez Ajouter.

  7. Dans le volet Ajouter un contexte 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 à partir de Key Vault.
  8. Sélectionnez Ajouter.

Remarque

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

URI de secret Key Vault et rotation des secrets

L’URI du secret Key Vault doit se trouver 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érencez la dernière version d’un secret.

Si une version n’est pas 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 sont 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 le contrôle total de la version d’un secret utilisée, 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 nouvelle révision.

  1. Accédez à votre application conteneur dans le Portail Azure.

  2. Ouvrez la page de gestion de révision.

  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. Entrez 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 les montages de volume lorsque vous créez une nouvelle 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 à votre application conteneur dans le Portail Azure.

  2. Ouvrez la page de gestion de révision.

  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 et sélectionnez Modifier.

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

  7. Sélectionnez Créer un volume.

  8. Entrez les informations suivantes :

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

    Remarque

    Si vous souhaitez charger des secrets spécifiques, désactivez le montage de 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 nouvelle révision avec le montage du volume.

Étapes suivantes