

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation d'un manifeste pour activer des fonctionnalités de récupération supplémentaires
<a name="appconfig-agent-how-to-use-additional-features"></a>

AWS AppConfig L'agent propose les fonctionnalités supplémentaires suivantes pour vous aider à récupérer les configurations de vos applications. 
+ [Configuration de AWS AppConfig l'agent pour récupérer les configurations de plusieurs comptes](appconfig-agent-how-to-use-additional-features-multi-account.md): utilisez l' AWS AppConfig agent d'un serveur principal ou d'une source Compte AWS de *récupération* pour récupérer les données de configuration de plusieurs comptes fournisseurs. 
+ [Configuration de AWS AppConfig l'agent pour écrire des copies de configuration sur disque](appconfig-agent-how-to-use-additional-features-write-to-disk.md): utilisez l' AWS AppConfig agent pour écrire les données de configuration sur le disque. Cette fonctionnalité permet aux clients utilisant des applications qui lisent les données de configuration sur disque de s'y intégrer AWS AppConfig.

## Comprendre les manifestes des agents
<a name="appconfig-agent-how-to-use-additional-features-about-manifests"></a>

Pour activer ces fonctionnalités de AWS AppConfig l'agent, vous devez créer un manifeste. Un manifeste est un ensemble de données de configuration que vous fournissez pour contrôler les actions que l'agent peut effectuer. Un manifeste est écrit en JSON. Il contient un ensemble de clés de haut niveau correspondant aux différentes configurations que vous avez déployées avec. AWS AppConfig

Un manifeste peut inclure plusieurs configurations. En outre, chaque configuration du manifeste peut identifier une ou plusieurs fonctionnalités d'agent à utiliser pour la configuration spécifiée. Le contenu du manifeste utilise le format suivant :

```
{
    "application_name:environment_name:configuration_name": {
        "agent_feature_to_enable_1": {
            "feature-setting-key": "feature-setting-value"
        },
        "agent_feature_to_enable_2": {
            "feature-setting-key": "feature-setting-value"
        }
    }
}
```

Voici un exemple de code JSON pour un manifeste avec deux configurations. La première configuration (*MyApp*) n'utilise aucune fonctionnalité de AWS AppConfig l'agent. La deuxième configuration (*My2ndApp*) utilise la *copie de configuration écrite sur disque* et les fonctionnalités de *récupération multi-comptes* :

```
{
        "MyApp:Test:MyAllowListConfiguration": {},
        
        "My2ndApp:Beta:MyEnableMobilePaymentsFeatureFlagConfiguration": {
            "credentials": {
                "roleArn": "arn:aws:us-west-1:iam::123456789012:role/MyTestRole",
                "roleExternalId": "00b148e2-4ea4-46a1-ab0f-c422b54d0aac",
                "roleSessionName": "AwsAppConfigAgent",
                "credentialsDuration": "2h"
            },
            "writeTo": {
                "path": "/tmp/aws-appconfig/my-2nd-app/beta/my-enable-payments-feature-flag-configuration.json"
            }
        }
    }
```

**Comment fournir un manifeste d'agent**  
Vous pouvez stocker le manifeste sous forme de fichier dans un emplacement où AWS AppConfig l'agent peut le lire. Vous pouvez également enregistrer le manifeste sous forme de AWS AppConfig configuration et pointer l'agent vers celui-ci. Pour fournir un manifeste d'agent, vous devez définir une variable d'`MANIFEST`environnement avec l'une des valeurs suivantes :


****  

| Emplacement du manifeste | Valeur de la variable d'environnement | Cas d’utilisation | 
| --- | --- | --- | 
|  Fichier  |  fichier :/path/to/agent-manifest.json  |  Utilisez cette méthode si votre manifeste ne change pas souvent.  | 
|  AWS AppConfig configuration  |  *application-name*:*environment-name*:*configuration-name*  |  Utilisez cette méthode pour les mises à jour dynamiques. Vous pouvez mettre à jour et déployer un manifeste stocké dans une configuration de la même manière AWS AppConfig que vous stockez d'autres AWS AppConfig configurations.  | 
|  Variable d'environnement  |  Contenu du manifeste (JSON)  |  Utilisez cette méthode si votre manifeste ne change pas souvent. Cette méthode est utile dans les environnements de conteneurs où il est plus facile de définir une variable d'environnement que d'exposer un fichier.  | 

Pour plus d'informations sur la définition de variables pour l' AWS AppConfig Agent, consultez la rubrique correspondant à votre cas d'utilisation :
+ [Configuration de l'extension AWS AppConfig Agent Lambda](appconfig-integration-lambda-extensions-config.md)
+ [Utilisation de AWS AppConfig l'agent avec Amazon EC2](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-ec2.html#appconfig-integration-ec2-configuring)
+ [Utilisation de AWS AppConfig l'agent avec Amazon ECS et Amazon EKS](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-containers-agent.html#appconfig-integration-containers-agent-configuring)

# Configuration de AWS AppConfig l'agent pour récupérer les configurations de plusieurs comptes
<a name="appconfig-agent-how-to-use-additional-features-multi-account"></a>

Vous pouvez configurer AWS AppConfig l'agent pour récupérer des configurations à partir de plusieurs Comptes AWS en saisissant les remplacements d'informations d'identification dans le manifeste de l' AWS AppConfig agent. Les *remplacements d'informations d'identification* incluent le nom Amazon Resource (ARN) d'un rôle Gestion des identités et des accès AWS (IAM), un ID de rôle, un nom de session et la durée pendant laquelle l'agent peut assumer le rôle. 

Vous entrez ces informations dans une section « informations d'identification » du manifeste. La section « informations d'identification » utilise le format suivant :

```
{
    "application_name:environment_name:configuration_name": {
        "credentials": {
            "roleArn": "arn:partition:iam::account_ID:role/roleName",
            "roleExternalId": "string",
            "roleSessionName": "string",
            "credentialsDuration": "time_in_hours" 
        }
    }
}
```

Voici un exemple :

```
{
    "My2ndApp:Beta:MyEnableMobilePaymentsFeatureFlagConfiguration": {
        "credentials": {
            "roleArn": "arn:aws:us-west-1:iam::123456789012:role/MyTestRole",
            "roleExternalId": "00b148e2-4ea4-46a1-ab0f-c422b54d0aac",
            "roleSessionName": "AWSAppConfigAgent",
            "credentialsDuration": "2h" 
        }
    }
}
```

Avant de récupérer une configuration, l'agent lit les informations d'identification de la configuration dans le manifeste, puis assume le rôle IAM spécifié pour cette configuration. Vous pouvez spécifier un ensemble différent de remplacements d'informations d'identification pour différentes configurations dans un seul manifeste. Le schéma suivant montre comment l' AWS AppConfig agent, lorsqu'il s'exécute dans le compte A (le compte de récupération), assume les rôles distincts spécifiés pour les comptes B et C (les comptes fournisseurs), puis appelle l'opération [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html)API pour récupérer les données de configuration relatives à l' AWS AppConfig exécution sur ces comptes :

![\[Comment AWS AppConfig l'agent fonctionne avec des rôles IAM distincts Comptes AWS.\]](http://docs.aws.amazon.com/fr_fr/appconfig/latest/userguide/images/agent multi-account.png)


## Configurer les autorisations pour récupérer les données de configuration des comptes fournisseurs
<a name="appconfig-agent-how-to-use-additional-features-multi-account-permission"></a>

AWS AppConfig L'agent exécuté dans le compte de récupération doit être autorisé pour récupérer les données de configuration des comptes fournisseurs. Vous donnez l'autorisation à l'agent en créant un rôle Gestion des identités et des accès AWS (IAM) dans chacun des comptes fournisseurs. AWS AppConfig L'agent du compte de récupération assume ce rôle pour obtenir des données à partir des comptes fournisseurs. Suivez les procédures décrites dans cette section pour créer une politique d'autorisations IAM, un rôle IAM et ajouter des remplacements d'agents au manifeste.

**Avant de commencer**  
Collectez les informations suivantes avant de créer une politique d'autorisation et un rôle dans IAM.
+ Le IDs pour chacun Compte AWS. Le compte de *récupération* est le compte qui appellera d'autres comptes pour obtenir des données de configuration. Les comptes *fournisseurs* sont les comptes qui vendront les données de configuration au compte de récupération.
+ Nom du rôle IAM utilisé par le AWS AppConfig compte de récupération. Voici une liste des rôles utilisés par AWS AppConfig défaut par :
  + Pour Amazon Elastic Compute Cloud (Amazon EC2) AWS AppConfig , utilise le rôle d'instance.
  + Pour AWS Lambda, AWS AppConfig utilise le rôle d'exécution Lambda.
  + Pour Amazon Elastic Container Service (Amazon ECS) et Amazon Elastic Kubernetes Service (Amazon AWS AppConfig EKS), utilise le rôle de conteneur.

  Si vous avez configuré AWS AppConfig l'Agent pour utiliser un rôle IAM différent en spécifiant la variable d'`ROLE_ARN`environnement, notez ce nom.

**Création de la politique d'autorisations**  
Utilisez la procédure suivante pour créer une politique d'autorisations à l'aide de la console IAM. Effectuez la procédure décrite dans chacune d'elles Compte AWS qui vendra les données de configuration pour le compte de récupération.

**Pour créer une stratégie IAM**

1. Connectez-vous au compte AWS Management Console d'un fournisseur.

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dans le volet de navigation, sélectionnez **Politiques**, puis **Créer une politique**.

1. Choisissez l'option **JSON**.

1. Dans l'**éditeur de stratégie**, remplacez le JSON par défaut par la déclaration de politique suivante. Mettez à jour chacun *example resource placeholder* avec les détails du compte fournisseur.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "appconfig:StartConfigurationSession",
                   "appconfig:GetLatestConfiguration"
               ],
               "Resource": "arn:aws:appconfig:us-east-1:111122223333:application/vendor_application_ID/environment/vendor_environment_ID/configuration/vendor_configuration_ID"
           }
       ]
   }
   ```

------

   Voici un exemple :

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Effect": "Allow",
           "Action": [
               "appconfig:StartConfigurationSession",
               "appconfig:GetLatestConfiguration"
           ],
           "Resource": "arn:aws:appconfig:us-east-2:111122223333:application/abc123/environment/def456/configuration/hij789"
       }
      ]
   }
   ```

------

1. Choisissez **Suivant**.

1. Dans le champ **Nom de la politique**, entrez un nom.

1. (Facultatif) Pour **Ajouter des balises**, ajoutez une ou plusieurs paires balise-clé-valeur pour organiser, suivre ou contrôler l'accès pour cette politique.

1. Choisissez **Create Policy** (Créer une politique). Le système vous renvoie à la page **Policies (Stratégies)**.

1. Répétez cette procédure pour chaque appareil Compte AWS destiné à vendre les données de configuration du compte de récupération.

**Création du rôle IAM**  
Utilisez la procédure suivante pour créer un rôle IAM à l'aide de la console IAM. Effectuez la procédure décrite dans chacune d'elles Compte AWS qui vendra les données de configuration pour le compte de récupération.

**Pour créer un rôle IAM**

1. Connectez-vous au compte AWS Management Console d'un fournisseur.

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dans le volet de navigation, choisissez **Rôles**, puis **Create policy**.

1. Pour **Trusted entity** (Entité de confiance), choisissez **Compte AWS**.

1. Dans la **Compte AWS**section, choisissez **Autre Compte AWS**.

1. Dans le champ **ID de compte**, entrez l'ID du compte de récupération.

1. (Facultatif) Pour garantir la sécurité de ce rôle, choisissez **Exiger un ID externe** et entrez une chaîne.

1. Choisissez **Suivant**.

1. Sur la page **Ajouter des autorisations**, utilisez le champ **de recherche** pour localiser la politique que vous avez créée lors de la procédure précédente. Cochez la case en regard de son nom. 

1. Choisissez **Suivant**.

1. Pour **Nom du rôle (Role name)**, saisissez un nom.

1. (Facultatif) Sous **Description**, entrez une description.

1. Pour **l'étape 1 : Sélectionnez les entités de confiance**, choisissez **Modifier**. Remplacez la politique de confiance JSON par défaut par la politique suivante. Mettez à jour chacune *example resource placeholder* d'elles avec les informations de votre compte de récupération.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/appconfig_role_in_retrieval_account"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. (Facultatif) Pour **Tags** (Balises), ajoutez une ou plusieurs paires clé-valeur de balise afin d'organiser, de suivre ou de contrôler l'accès pour ce rôle.

1. Sélectionnez **Créer un rôle**. Le système vous renvoie à la page **Rôles**.

1. Recherchez le rôle que vous venez de créer. Choisissez-le. Dans la section **ARN**, copiez l'ARN. Vous allez spécifier ces informations dans la procédure suivante.

**Ajouter des remplacements d'informations d'identification au manifeste**  
Après avoir créé le rôle IAM dans votre compte fournisseur, mettez à jour le manifeste dans le compte de récupération. Plus précisément, ajoutez le bloc d'informations d'identification et l'ARN du rôle IAM pour récupérer les données de configuration du compte fournisseur. Voici le format JSON :

```
{
    "vendor_application_name:vendor_environment_name:vendor_configuration_name": {
        "credentials": {
            "roleArn": "arn:partition:iam::vendor_account_ID:role/name_of_role_created_in_vendor_account",
            "roleExternalId": "string",
            "roleSessionName": "string",
            "credentialsDuration": "time_in_hours" 
        }
    }
}
```

Voici un exemple :

```
{
    "My2ndApp:Beta:MyEnableMobilePaymentsFeatureFlagConfiguration": {
        "credentials": {
            "roleArn": "arn:aws:us-west-1:iam::123456789012:role/MyTestRole",
            "roleExternalId": "00b148e2-4ea4-46a1-ab0f-c422b54d0aac",
            "roleSessionName": "AwsAppConfigAgent",
            "credentialsDuration": "2h" 
        }
    }
}
```

**Vérifiez que la récupération multi-comptes fonctionne**  
Vous pouvez vérifier que cet agent est capable de récupérer les données de configuration de plusieurs comptes en consultant les journaux de l' AWS AppConfig agent. Le journal des `INFO` niveaux des données initiales récupérées pour « `YourApplicationName` : `YourEnvironmentName` : `YourConfigurationName` » est le meilleur indicateur d'une extraction réussie. Si les extractions échouent, vous devriez voir un journal de `ERROR` niveau indiquant la raison de l'échec. Voici un exemple de récupération réussie depuis un compte fournisseur :

```
[appconfig agent] 2023/11/13 11:33:27 INFO AppConfig Agent 2.0.x
[appconfig agent] 2023/11/13 11:33:28 INFO serving on localhost:2772
[appconfig agent] 2023/11/13 11:33:28 INFO retrieved initial data for 'MyTestApplication:MyTestEnvironment:MyDenyListConfiguration' in XX.Xms
```

# Configuration de AWS AppConfig l'agent pour écrire des copies de configuration sur disque
<a name="appconfig-agent-how-to-use-additional-features-write-to-disk"></a>

Vous pouvez configurer AWS AppConfig l'agent pour stocker automatiquement une copie d'une configuration sur le disque en texte brut. Cette fonctionnalité permet aux clients utilisant des applications qui lisent les données de configuration sur disque de s'y intégrer AWS AppConfig.

Cette fonctionnalité n'est pas conçue pour être utilisée comme fonction de sauvegarde de configuration. AWS AppConfig L'agent ne lit pas les fichiers de configuration copiés sur le disque. Si vous souhaitez sauvegarder des configurations sur disque, consultez les variables d'`PRELOAD_BACKUP`environnement `BACKUP_DIRECTORY` et relatives à l'[utilisation de l' AWS AppConfig agent avec Amazon EC2](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-ec2.html#appconfig-integration-ec2-configuring) ou à [l'utilisation de l' AWS AppConfig agent avec Amazon ECS et Amazon EKS](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-containers-agent.html#appconfig-integration-containers-agent-configuring).

**Avertissement**  
Notez les informations importantes suivantes concernant cette fonctionnalité :  
Les configurations enregistrées sur disque sont stockées en *texte brut* et sont lisibles par l'homme. N'activez pas cette fonctionnalité pour les configurations qui incluent des données sensibles. 
Cette fonctionnalité écrit sur le disque local. Utilisez le principe du moindre privilège pour les autorisations du système de fichiers. Pour de plus amples informations, veuillez consulter [Implémentation d’un accès sur la base du moindre privilège](appconfig-security.md#appconfig-security-least-privilege-access).

**Pour activer l'écriture, copiez la configuration sur disque**

1. Modifiez le manifeste.

1. Choisissez la configuration que vous AWS AppConfig souhaitez écrire sur le disque et ajoutez un `writeTo` élément. Voici un exemple :

   ```
   {
       "application_name:environment_name:configuration_name": {
           "writeTo": {
               "path": "path_to_configuration_file"
           }
       }
   }
   ```

   Voici un exemple :

   ```
   {
       "MyTestApp:MyTestEnvironment:MyNewConfiguration": {
           "writeTo": {
               "path": "/tmp/aws-appconfig/mobile-app/beta/enable-mobile-payments"
           }
       }
   }
   ```

1. Enregistrez vos modifications. Le fichier configuration.json est mis à jour chaque fois que de nouvelles données de configuration sont déployées.

**Vérifiez que la copie de configuration d'écriture sur le disque fonctionne**  
Vous pouvez vérifier que des copies d'une configuration sont écrites sur le disque en consultant les journaux de l' AWS AppConfig agent. L'entrée du `INFO` journal contenant la phrase « INFO a écrit la configuration '*application*: *environment* :*configuration*' dans *file\$1path* » indique que l' AWS AppConfig agent écrit des copies de configuration sur disque.

Voici un exemple :

```
[appconfig agent] 2023/11/13 11:33:27 INFO AppConfig Agent 2.0.x
[appconfig agent] 2023/11/13 11:33:28 INFO serving on localhost:2772
[appconfig agent] 2023/11/13 11:33:28 INFO retrieved initial data for 'MobileApp:Beta:EnableMobilePayments' in XX.Xms
[appconfig agent] 2023/11/13 17:05:49 INFO wrote configuration 'MobileApp:Beta:EnableMobilePayments' to /tmp/configs/your-app/your-env/your-config.json
```