

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo di un manifesto per abilitare funzionalità di recupero aggiuntive


AWS AppConfig Agent offre le seguenti funzionalità aggiuntive per aiutarvi a recuperare le configurazioni per le vostre applicazioni. 
+ [Configurazione AWS AppConfig dell'agente per recuperare le configurazioni da più account](appconfig-agent-how-to-use-additional-features-multi-account.md): Utilizzate AWS AppConfig Agent da un sistema primario o di *recupero per recuperare* i dati di configurazione Account AWS da account di più fornitori. 
+ [Configurazione AWS AppConfig dell'agente per scrivere copie di configurazione su disco](appconfig-agent-how-to-use-additional-features-write-to-disk.md): utilizza AWS AppConfig Agent per scrivere i dati di configurazione su disco. Questa funzionalità consente l'integrazione con i clienti con applicazioni che leggono i dati di configurazione dal disco AWS AppConfig.

## Comprensione dei manifesti degli agenti


Per abilitare queste funzionalità AWS AppConfig dell'agente, è necessario creare un manifesto. Un manifesto è un insieme di dati di configurazione forniti per controllare le azioni che l'agente può eseguire. Un manifesto è scritto in JSON. Contiene un set di chiavi di primo livello che corrispondono a diverse configurazioni che hai distribuito utilizzando. AWS AppConfig

Un manifesto può includere più configurazioni. Inoltre, ogni configurazione nel manifesto può identificare una o più funzionalità dell'agente da utilizzare per la configurazione specificata. Il contenuto del manifesto utilizza il seguente formato:

```
{
    "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"
        }
    }
}
```

Ecco un esempio di JSON per un manifesto con due configurazioni. La prima configurazione (*MyApp*) non utilizza alcuna funzionalità AWS AppConfig dell'agente. La seconda configurazione (*My2ndApp*) utilizza la *copia di scrittura della configurazione su disco e le funzionalità di recupero per* *più account*:

```
{
        "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"
            }
        }
    }
```

**Come fornire un manifesto dell'agente**  
È possibile archiviare il manifesto come file in una posizione in cui AWS AppConfig Agent può leggerlo. In alternativa, è possibile archiviare il manifesto come AWS AppConfig configurazione e indirizzare l'agente verso di esso. Per fornire un manifesto dell'agente, è necessario impostare una variabile di `MANIFEST` ambiente con uno dei seguenti valori:


****  

| Posizione del manifesto | Valore della variabile d'ambiente | Caso d’uso | 
| --- | --- | --- | 
|  File  |  file:/path/to/agent-manifest.json  |  Usa questo metodo se il tuo manifesto non cambia spesso.  | 
|  AWS AppConfig configurazione  |  *application-name*:*environment-name*:*configuration-name*  |  Utilizzate questo metodo per gli aggiornamenti dinamici. È possibile aggiornare e distribuire un manifesto archiviato AWS AppConfig come configurazione nello stesso modo in cui si archiviano altre AWS AppConfig configurazioni.  | 
|  Variabile di ambiente  |  Contenuto del manifesto (JSON)  |  Usa questo metodo se il tuo manifesto non cambia spesso. Questo metodo è utile in ambienti container in cui è più facile impostare una variabile di ambiente piuttosto che esporre un file.  | 

Per ulteriori informazioni sull'impostazione delle variabili per AWS AppConfig Agent, consultate l'argomento pertinente al vostro caso d'uso:
+ [Configurazione dell'estensione AWS AppConfig Agent Lambda](appconfig-integration-lambda-extensions-config.md)
+ [Utilizzo di AWS AppConfig Agent con Amazon EC2](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-ec2.html#appconfig-integration-ec2-configuring)
+ [Utilizzo di AWS AppConfig Agent con Amazon ECS e Amazon EKS](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-containers-agent.html#appconfig-integration-containers-agent-configuring)

# Configurazione AWS AppConfig dell'agente per recuperare le configurazioni da più account


È possibile configurare AWS AppConfig l'agente per recuperare le configurazioni da più configurazioni Account AWS inserendo le sostituzioni delle credenziali nel manifesto dell'agente. AWS AppConfig Le *sostituzioni delle credenziali* includono l'Amazon Resource Name (ARN) di un ruolo AWS Identity and Access Management (IAM), un ID di ruolo, un nome di sessione e la durata per cui l'agente può assumere il ruolo. 

Inserisci questi dettagli in una sezione «credenziali» del manifesto. La sezione «credenziali» utilizza il seguente formato:

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

Ecco un esempio:

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

Prima di recuperare una configurazione, l'agente legge i dettagli delle credenziali per la configurazione dal manifest e quindi assume il ruolo IAM specificato per quella configurazione. È possibile specificare un set diverso di sostituzioni di credenziali per diverse configurazioni in un unico manifesto. Il diagramma seguente mostra come l' AWS AppConfig agente, durante l'esecuzione nell'account A (l'account di recupero), assuma ruoli separati specificati per gli account B e C (gli account fornitore) e quindi richiami l'operazione [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html)API per recuperare i dati di configurazione dall'esecuzione in tali account: AWS AppConfig 

![\[In che modo AWS AppConfig Agent interagisce con ruoli IAM distinti. Account AWS\]](http://docs.aws.amazon.com/it_it/appconfig/latest/userguide/images/agent multi-account.png)


## Configura le autorizzazioni per recuperare i dati di configurazione dagli account dei fornitori


AWS AppConfig L'agente in esecuzione nell'account di recupero necessita dell'autorizzazione per recuperare i dati di configurazione dagli account del fornitore. Si concede l'autorizzazione all'agente creando un ruolo AWS Identity and Access Management (IAM) in ciascuno degli account del fornitore. AWS AppConfig L'agente nell'account di recupero assume questo ruolo per ottenere dati dagli account dei fornitori. Completa le procedure in questa sezione per creare una policy di autorizzazioni IAM, un ruolo IAM e aggiungere le sostituzioni degli agenti al manifesto.

**Prima di iniziare**  
Raccogli le seguenti informazioni prima di creare una politica di autorizzazione e un ruolo in IAM.
+ Il IDs per ciascuno Account AWS. L'account di *recupero* è l'account che chiamerà altri account per i dati di configurazione. Gli account *fornitore* sono gli account che invieranno i dati di configurazione all'account di recupero.
+ Il nome del ruolo IAM utilizzato da AWS AppConfig nell'account di recupero. Ecco un elenco dei ruoli utilizzati da AWS AppConfig, per impostazione predefinita:
  + Per Amazon Elastic Compute Cloud (Amazon EC2) AWS AppConfig , utilizza il ruolo di istanza.
  + For AWS Lambda, AWS AppConfig utilizza il ruolo di esecuzione Lambda.
  + Per Amazon Elastic Container Service (Amazon ECS) e Amazon Elastic Kubernetes Service (Amazon EKS), utilizza il ruolo contenitore. AWS AppConfig 

  Se hai configurato l' AWS AppConfig agente per utilizzare un ruolo IAM diverso specificando la variabile di `ROLE_ARN` ambiente, prendi nota di quel nome.

**Crea la politica delle autorizzazioni**  
Utilizza la seguente procedura per creare una politica di autorizzazioni utilizzando la console IAM. Completa la procedura in ciascuna unità Account AWS che fornirà i dati di configurazione per l'account di recupero.

**Per creare una policy IAM**

1. Accedi all'account di un Console di gestione AWS fornitore.

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, scegli **Policy** e **Crea policy**.

1. Scegli l'opzione **JSON**.

1. Nell'**editor delle politiche**, sostituisci il codice JSON predefinito con la seguente dichiarazione di policy. Aggiorna ciascuno *example resource placeholder* con i dettagli dell'account del fornitore.

------
#### [ 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"
           }
       ]
   }
   ```

------

   Ecco un esempio:

------
#### [ 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. Scegli **Next (Successivo)**.

1. Nel campo **Nome della politica**, inserisci un nome.

1. (Facoltativo) Per **Aggiungi tag**, aggiungi una o più coppie tag-chiave-valore per organizzare, tracciare o controllare l'accesso a questa politica.

1. Scegli **Crea policy**. Il sistema visualizza di nuovo la pagina **Policies (Policy)**.

1. Ripetete questa procedura in ciascuna unità Account AWS che fornirà i dati di configurazione per l'account di recupero.

**Crea il ruolo IAM**  
Utilizza la seguente procedura per creare un ruolo IAM utilizzando la console IAM. Completa la procedura in ciascuna Account AWS unità che fornirà i dati di configurazione per l'account di recupero.

**Per creare un ruolo IAM**

1. Accedi all'account di un Console di gestione AWS fornitore.

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione, scegli **Ruoli**, quindi scegli **Crea politica**.

1. Per **Tipo di entità attendibile**, seleziona **Account AWS**.

1. Nella **Account AWS**sezione, scegli **Altro Account AWS**.

1. Nel campo **ID account**, inserisci l'ID dell'account di recupero.

1. (Facoltativo) Come procedura consigliata di sicurezza per questo ruolo, scegli **Richiedi ID esterno** e inserisci una stringa.

1. Scegli **Next (Successivo)**.

1. Nella pagina **Aggiungi autorizzazioni**, utilizza il campo **Cerca** per individuare la politica creata nella procedura precedente. Seleziona la casella accanto al suo nome. 

1. Scegli **Next (Successivo)**.

1. In **Role name (Nome ruolo)**, immettere un nome.

1. (Facoltativo) In **Descrizione**, immetti una descrizione.

1. Per il **passaggio 1: seleziona le entità attendibili**, scegli **Modifica**. Sostituisci la politica di fiducia JSON predefinita con la seguente politica. Aggiorna ciascuno *example resource placeholder* con le informazioni del tuo account di recupero.

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

****  

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

------

1. (Facoltativo) In **Tag**, aggiungi una o più coppie tag chiave-valore per organizzare, monitorare o controllare l'accesso per questo ruolo.

1. Scegliere **Crea ruolo**. Il sistema visualizza di nuovo la pagina **Ruoli**.

1. Cerca il ruolo che hai appena creato. Sceglilo. Nella sezione **ARN**, copia l'ARN. Queste informazioni verranno specificate nella procedura successiva.

**Aggiungi sostituzioni di credenziali al manifesto**  
Dopo aver creato il ruolo IAM nel tuo account fornitore, aggiorna il manifesto nell'account di recupero. In particolare, aggiungi il blocco delle credenziali e l'ARN del ruolo IAM per recuperare i dati di configurazione dall'account del fornitore. Ecco il formato 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" 
        }
    }
}
```

Ecco un esempio:

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

**Verifica che il recupero da più account funzioni**  
È possibile verificare che l'agente sia in grado di recuperare i dati di configurazione da più account esaminando i registri dell'agente. AWS AppConfig Il registro `INFO` di livello per i dati iniziali recuperati per '`YourApplicationName`:`YourEnvironmentName`:`YourConfigurationName`' è l'indicatore migliore per il successo dei recuperi. Se i recuperi non riescono, dovrebbe apparire un registro dei `ERROR` livelli che indica il motivo dell'errore. Di seguito è riportato un esempio di recupero riuscito da un account fornitore:

```
[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
```

# Configurazione AWS AppConfig dell'agente per scrivere copie di configurazione su disco


È possibile configurare AWS AppConfig Agent per archiviare automaticamente una copia di una configurazione su disco in formato testo semplice. Questa funzionalità consente l'integrazione con i clienti con applicazioni che leggono i dati di configurazione dal disco AWS AppConfig.

Questa funzionalità non è progettata per essere utilizzata come funzionalità di backup della configurazione. AWS AppConfig L'agente non legge i file di configurazione copiati su disco. Se desideri eseguire il backup delle configurazioni su disco, consulta le `BACKUP_DIRECTORY` variabili di `PRELOAD_BACKUP` ambiente per [Using AWS AppConfig Agent with Amazon](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-ec2.html#appconfig-integration-ec2-configuring) EC2 [o AWS AppConfig Using Agent with Amazon ECS e Amazon EKS.](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-containers-agent.html#appconfig-integration-containers-agent-configuring)

**avvertimento**  
Tieni presente le seguenti informazioni importanti su questa funzionalità:  
Le configurazioni salvate su disco vengono archiviate in *testo semplice* e sono leggibili dall'uomo. Non abilitare questa funzionalità per configurazioni che includono dati sensibili. 
Questa funzionalità scrive sul disco locale. Utilizza il principio del privilegio minimo per le autorizzazioni del filesystem. Per ulteriori informazioni, consulta [Implementazione dell'accesso con privilegi minimi](appconfig-security.md#appconfig-security-least-privilege-access).

**Per abilitare la scrittura (copia della configurazione su disco)**

1. Modifica il manifesto.

1. Scegliete la configurazione che desiderate AWS AppConfig scrivere su disco e aggiungete un `writeTo` elemento. Ecco un esempio:

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

   Ecco un esempio:

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

1. Salvare le modifiche. Il file configuration.json verrà aggiornato ogni volta che vengono distribuiti nuovi dati di configurazione.

**Verifica che la copia di scrittura della configurazione su disco funzioni**  
È possibile verificare che le copie di una configurazione vengano scritte su disco esaminando i log dell' AWS AppConfig agente. La voce di `INFO` registro con la frase «INFO ha scritto la configurazione '*application*:*environment*:*configuration*' su*file\$1path*" indica che l' AWS AppConfig agente scrive copie di configurazione su disco.

Ecco un esempio:

```
[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
```