

AWS App Runner non sarà più aperto a nuovi clienti a partire dal 30 aprile 2026. Se desideri utilizzare App Runner, registrati prima di tale data. I clienti esistenti possono continuare a utilizzare il servizio normalmente. Per ulteriori informazioni, consulta [AWS App Runner la pagina Modifica della disponibilità](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

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à.

# Riferimento alle variabili di ambiente
<a name="env-variable"></a>

[Con App Runner, puoi fare riferimento a segreti e configurazioni come variabili di ambiente nel tuo servizio quando [crei un servizio o aggiorni un servizio](manage-create.md).](manage-configure.md) 

**È possibile fare riferimento a dati di configurazione non sensibili come i timeout e il conteggio dei tentativi in testo normale come coppie chiave-valore.** I dati di configurazione a cui fai riferimento in **Plain Text** non sono crittografati e sono visibili agli altri nella configurazione del servizio App Runner e nei registri delle applicazioni.

**Nota**  
Per motivi di sicurezza, non fate riferimento ai dati sensibili in **Plain Text nel servizio** App Runner.

## Riferimento ai dati sensibili come variabili di ambiente
<a name="env-variable.sensitivedata"></a>

App Runner supporta il riferimento sicuro ai dati sensibili come variabili di ambiente nel servizio. *Valuta la possibilità di archiviare i dati sensibili a cui desideri fare riferimento nel *Gestione dei segreti AWS*nostro Parameter Store.AWS Systems Manager * Quindi, puoi farvi riferimento in modo sicuro nel tuo servizio come variabili di ambiente dalla console App Runner o chiamando l'API. Ciò separa efficacemente la gestione dei segreti e dei parametri dalla configurazione del codice dell'applicazione e del servizio, migliorando la sicurezza complessiva delle applicazioni in esecuzione su App Runner. 

**Nota**  
App Runner non ti addebita alcun costo per fare riferimento a Secrets Manager e SSM Parameter Store come variabili di ambiente. Tuttavia, paghi un prezzo standard per l'utilizzo di Secrets Manager e SSM Parameter Store.  
Per ulteriori informazioni sui prezzi, vedi i seguenti argomenti:   
 [AWS Prezzi di Secrets Manager](https://aws.amazon.com/secrets-manager/pricing)
 [AWS Prezzi di SSM Parameter Store](https://aws.amazon.com/systems-manager/pricing) 

 Di seguito è riportato il processo per fare riferimento ai dati sensibili come variabili di ambiente: 

1. Archivia dati sensibili, come chiavi API, credenziali del database, parametri di connessione al database o versioni delle applicazioni come segreti o parametri in uno Gestione dei segreti AWS o più AWS Systems Manager Parameter Store. 

1. Aggiorna la policy IAM del tuo ruolo di istanza in modo che App Runner possa accedere ai segreti e ai parametri archiviati in Secrets Manager e SSM Parameter Store. Per ulteriori informazioni, consulta l'argomento relativo alle [autorizzazioni ](#env-variable.sensitivedata.permissions). 

1. Fai riferimento in modo sicuro ai segreti e ai parametri come variabili di ambiente assegnando un nome e fornendo il relativo Amazon Resource Name (ARN). Puoi aggiungere variabili di ambiente quando [crei un servizio](manage-create.md) o [aggiorni la configurazione di un servizio](manage-configure.md). È possibile utilizzare una delle seguenti opzioni per aggiungere variabili di ambiente:
   +  Console App Runner 
   +  API App Runner 
   +  File di configurazione `apprunner.yaml` 
**Nota**  
Non è `PORT` possibile assegnare un nome a una variabile di ambiente durante la creazione o l'aggiornamento del servizio App Runner. È una variabile di ambiente riservata per il servizio App Runner. 

   Per ulteriori informazioni su come fare riferimento a segreti e parametri, consulta [Gestione delle variabili di ambiente](env-variable-manage.md). 

**Nota**  
 Poiché App Runner memorizza solo il riferimento al segreto e al parametro ARNs, i dati sensibili non sono visibili agli altri nella configurazione del servizio App Runner e nei registri delle applicazioni. 

## Considerazioni
<a name="env-variable.sensitivedata.considerations"></a>
+ Assicurati di aggiornare il ruolo dell'istanza con le autorizzazioni appropriate per accedere ai segreti e ai parametri in Gestione dei segreti AWS o in Parameter Store. AWS Systems Manager Per ulteriori informazioni, consulta l'argomento relativo alle [autorizzazioni ](#env-variable.sensitivedata.permissions). 
+ Assicurati che AWS Systems Manager Parameter Store sia lo Account AWS stesso del servizio che desideri avviare o aggiornare. Al momento, non è possibile fare riferimento ai parametri di SSM Parameter Store tra gli account. 
+ Quando i segreti e i valori dei parametri vengono ruotati o modificati, non vengono aggiornati automaticamente nel servizio App Runner. Ridistribuisci il servizio App Runner poiché App Runner recupera segreti e parametri solo durante la distribuzione. 
+ Hai anche la possibilità di chiamare Gestione dei segreti AWS direttamente AWS Systems Manager Parameter Store tramite l'SDK del tuo servizio App Runner. 
+ Per evitare errori, assicuratevi di quanto segue quando li referenziate come variabili di ambiente: 
  + Specificate l'ARN corretto del segreto.
  + È necessario specificare il nome o l'ARN corretto del parametro.

## Permissions
<a name="env-variable.sensitivedata.permissions"></a>

Per abilitare il riferimento a segreti e parametri archiviati nel Gestione dei segreti AWS o SSM Parameter Store, aggiungi le autorizzazioni appropriate alla policy IAM del tuo *ruolo di istanza* per accedere a Secrets Manager e SSM Parameter Store. 

**Nota**  
 App Runner non può accedere alle risorse del tuo account senza la tua autorizzazione. Fornisci l'autorizzazione aggiornando la tua policy IAM. 

Puoi utilizzare i seguenti modelli di policy per aggiornare il ruolo dell'istanza nella console IAM. Puoi modificare questi modelli di policy per soddisfare i tuoi requisiti specifici. Per ulteriori informazioni sull'aggiornamento di un ruolo di istanza, consulta [Modifying a role](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html) nella *IAM User Guide*.

**Nota**  
Puoi anche copiare i seguenti modelli dalla console App Runner durante la [creazione delle variabili di ambiente](env-variable-manage.md#env-variable-manage.console). 

Copia il seguente modello nel tuo ruolo di istanza da cui aggiungere l'autorizzazione a fare riferimento ai *segreti*. *Gestione dei segreti AWS*

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "secretsmanager:GetSecretValue",
            "kms:Decrypt*"
        ],
        "Resource": [
            "arn:aws:secretsmanager:us-east-1:111122223333:secret:my-secret",
            "arn:aws:kms:us-east-1:111122223333:key/my-key"
         ]
     }
   ]
}
```

------

Copia il seguente modello nel tuo ruolo di istanza per aggiungere l'autorizzazione ai *parametri* di riferimento da *AWS Systems Manager*Parameter Store.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameters"
            ],
            "Resource": [
            "arn:aws:ssm:us-east-1:111122223333:parameter/my-parameter"
            ]
        }
    ]
}
```

------

# Gestione delle variabili di ambiente
<a name="env-variable-manage"></a>

Gestisci le variabili di ambiente per il tuo servizio App Runner utilizzando uno dei seguenti metodi:
+ [Console App Runner](#env-variable-manage.console)
+ [API App Runner o AWS CLI](#env-variable-manage.api)

## Console App Runner
<a name="env-variable-manage.console"></a>

Quando [crei un servizio](manage-create.md) o [aggiorni un servizio](manage-configure.md) sulla console App Runner, puoi aggiungere variabili di ambiente. 

### Aggiungere variabili di ambiente
<a name="env-variable-manage.console.add"></a>

**Per aggiungere una variabile di ambiente**

1. Apri la [console App Runner](https://console.aws.amazon.com/apprunner) e, nell'elenco **Regioni**, seleziona la tua Regione AWS.

1. A seconda che tu stia creando o aggiornando un servizio, esegui una delle seguenti operazioni:
   + Se stai creando un nuovo servizio, scegli **Crea un servizio App Runner** e vai a **Configura servizio**.
   +  Se stai aggiornando un servizio esistente, seleziona il servizio che desideri aggiornare e vai alla scheda **Configurazione** del servizio. 

1.  Vai a **Variabili di ambiente (facoltativo)** in **Impostazioni del servizio**. 

1.  Scegliete una delle seguenti opzioni in base alle vostre esigenze: 
   + Scegliete **Testo normale** dall'**origine della variabile di ambiente** e inserite le relative coppie chiave-valore rispettivamente in **Nome della variabile di ambiente** **e Valore della variabile** di ambiente. 
**Nota**  
Scegliete **Testo normale** se desiderate fare riferimento a dati non sensibili. Questi dati non sono crittografati e sono visibili agli altri nella configurazione del servizio App Runner e nei registri delle applicazioni. 
   + Scegli **Secrets Manager** dall'**origine della variabile di ambiente** per fare riferimento al segreto archiviato Gestione dei segreti AWS come variabile di ambiente nel tuo servizio. Fornisci il nome della variabile di ambiente e Amazon Resource Name (ARN) del segreto a cui fai riferimento rispettivamente in **Environment variable name** e **Environment variable value**. 
   + Scegli **SSM Parameter Store** dall'**origine della variabile di ambiente** per fare riferimento al parametro memorizzato in SSM Parameter Store come variabile di ambiente nel tuo servizio. Fornisci il nome della variabile di ambiente e l'ARN del parametro a cui fai riferimento rispettivamente in **Nome variabile di ambiente e Valore variabile** di **ambiente**. 
**Nota**  
Non è `PORT` possibile assegnare un nome a una variabile di ambiente durante la creazione o l'aggiornamento del servizio App Runner. È una variabile di ambiente riservata per il servizio App Runner. 
 Se il parametro SSM Parameter Store è lo Regione AWS stesso del servizio che desideri avviare, puoi specificare l'Amazon Resource Name (ARN) completo o il nome del parametro. Se il parametro si trova in una regione diversa, è necessario specificare l'ARN completo. 
Assicurati che il parametro a cui fai riferimento si trovi nello stesso account del servizio che stai avviando o aggiornando. Al momento, non puoi fare riferimento al parametro SSM Parameter Store tra gli account. 

1. Scegli **Aggiungi variabile di ambiente** per fare riferimento a un'altra variabile di ambiente. 

1. Espandi **i modelli di policy IAM** per visualizzare e copiare i modelli di policy IAM forniti per SSM Parameter Store. Gestione dei segreti AWS Devi farlo solo se non hai ancora aggiornato la policy IAM del tuo ruolo di istanza con le autorizzazioni richieste. Per ulteriori informazioni, consulta l'argomento relativo alle [autorizzazioni ](env-variable.md#env-variable.sensitivedata.permissions).

### Rimozione della variabile di ambiente
<a name="env-variable-manage.console.remove"></a>

Prima di eliminare una variabile di ambiente, assicuratevi che il codice dell'applicazione sia aggiornato in modo da riflettere lo stesso. Se il codice dell'applicazione non viene aggiornato, il servizio App Runner potrebbe non funzionare.

**Per rimuovere le variabili di ambiente**

1. Apri la [console App Runner](https://console.aws.amazon.com/apprunner) e, nell'elenco **Regioni**, seleziona la tua Regione AWS.

1.  Vai alla scheda **Configurazione** del servizio che desideri aggiornare. 

1.  Vai a **Variabili di ambiente (facoltativo)** in **Impostazioni del servizio**. 

1.  Scegli **Rimuovi** accanto alla variabile di ambiente che desideri rimuovere. Riceverai un messaggio per confermare l'eliminazione. 

1.  Scegli **Elimina**. 

## API App Runner o AWS CLI
<a name="env-variable-manage.api"></a>

Puoi fare riferimento ai dati sensibili archiviati in Secrets Manager e SSM Parameter Store aggiungendoli come variabili di ambiente nel tuo servizio. 

**Nota**  
Aggiorna la policy IAM del tuo ruolo di istanza in modo che App Runner possa accedere ai segreti e ai parametri archiviati in Secrets Manager e SSM Parameter Store. Per ulteriori informazioni, consulta l'argomento relativo alle [autorizzazioni ](env-variable.md#env-variable.sensitivedata.permissions).

**Per fare riferimento a segreti e configurazioni come variabili di ambiente**

1. Crea un segreto o una configurazione in Secrets Manager o SSM Parameter Store. 

   Gli esempi seguenti mostrano come creare un segreto e un parametro utilizzando SSM Parameter Store.   
**Example Creazione di un segreto - Richiesta**  

   L'esempio seguente mostra come creare un segreto che rappresenti la credenziale del database.

   ```
   aws secretsmanager create-secret \
   —name DevRdsCredentials \
   —description "Rds credentials for development account." \
   —secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"
   ```  
**Example Creazione di un segreto - Risposta**  

   ```
   arn:aws:secretsmanager:<region>:<aws_account_id>:secret:DevRdsCredentials
   ```  
**Example Creazione di una configurazione - Richiesta**  

   L'esempio seguente mostra come creare un parametro che rappresenti la stringa di connessione RDS.

   ```
   aws systemsmanager put-parameter \
   —name DevRdsConnectionString \
   —value "mysql2://dev-mysqlcluster-rds.com:3306/diegor" \
   —type "String" \
   —description "Rds connection string for development account."
   ```  
**Example Creazione di una configurazione - Risposta**  

   ```
   arn:aws:ssm:<region>:<aws_account_id>:parameter/DevRdsConnectionString
   ```

1. Fai riferimento ai segreti e alle configurazioni archiviati in Secrets Manager e SSM Parameter Store aggiungendoli come variabili di ambiente. È possibile aggiungere variabili di ambiente quando si crea o si aggiorna il servizio App Runner. 

   Gli esempi seguenti mostrano come fare riferimento a segreti e configurazioni come variabili di ambiente in un servizio App Runner basato su codice e su immagini.  
**Example File.json di input per il servizio App Runner basato su immagini**  

   ```
   {
     "ServiceName": "example-secrets",
     "SourceConfiguration": {
       "ImageRepository": {
         "ImageIdentifier": "<image-identifier>",
         "ImageConfiguration": {
           "Port": "<port>",
           "RuntimeEnvironmentSecrets": {
             "Credential1":"arn:aws:secretsmanager:<region>:<aws_account_id>:secret:XXXXXXXXXXXX",
             "Credential2":"arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter-name>"
           }
         },
         "ImageRepositoryType": "ECR_PUBLIC"
       }
     },
     "InstanceConfiguration": {
       "Cpu": "1 vCPU",
       "Memory": "3 GB",
       "InstanceRoleArn": "<instance-role-arn>"
     }
   }
   ```  
**Example Servizio App Runner basato su immagini: richiesta**  

   ```
   aws apprunner create-service \
   --cli-input-json file://input.json
   ```  
**Example Servizio App Runner basato su immagini — Risposta**  

   ```
   {
   ...
         "ImageRepository": {
            "ImageIdentifier":"<image-identifier>",
            "ImageConfiguration":{
               "Port": "<port>",
               "RuntimeEnvironmentSecrets":{
                  "Credential1": "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:XXXXXXXXXXXX",
                  "Credential2": "arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter-name>"
               },                
               "ImageRepositoryType":"ECR"
         }      
      },
      "InstanceConfiguration": {
           "CPU": "1 vCPU",
           "Memory": "3 GB",
           "InstanceRoleArn: "<instance-role-arn>"
      }
   ...
   }
   ```  
**Example File.json di input per il servizio App Runner basato su codice**  

   ```
   {
     "ServiceName": "example-secrets",
     "SourceConfiguration": {
       "AuthenticationConfiguration": {
         "ConnectionArn": "arn:aws:apprunner:us-east-1:123456789012:connection/my-github-connection/XXXXXXXXXX"
       },
       "AutoDeploymentsEnabled": false,
       "CodeRepository": {
         "RepositoryUrl": "<repository-url>",
         "SourceCodeVersion": {
           "Type": "BRANCH",
           "Value": "main"
         },
         "CodeConfiguration": {
           "ConfigurationSource": "API",
           "CodeConfigurationValues": {
             "Runtime": "<runtime>",
             "BuildCommand": "<build-command>",
             "StartCommand": "<start-command>",
             "Port": "<port>",
             "RuntimeEnvironmentSecrets": {
               "Credential1":"arn:aws:secretsmanager:<region>:<aws_account_id>:secret:XXXXXXXXXXXX",
               "Credential2":"arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter-name>"
             }
           }
         }
       }
     },
     "InstanceConfiguration": {
       "Cpu": "1 vCPU",
       "Memory": "3 GB",
       "InstanceRoleArn": "<instance-role-arn>"
     }
   }
   ```  
**Example Servizio App Runner basato su codice: richiesta**  

   ```
   aws apprunner create-service \
   --cli-input-json file://input.json
   ```  
**Example Servizio App Runner basato su codice — Risposta**  

   ```
   {
   ...
      "SourceConfiguration":{
         "CodeRepository":{
            "RepositoryUrl":"<repository-url>",
            "SourceCodeVersion":{
               "Type":"Branch",
               "Value":"main"
            },
            "CodeConfiguration":{
               "ConfigurationSource":"API",
               "CodeConfigurationValues":{
                  "Runtime":"<runtime>",
                  "BuildCommand":"<build-command>",
                  "StartCommand":"<start-command>",
                  "Port":"<port>",               
                  "RuntimeEnvironmentSecrets":{
                     "Credential1" : "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:XXXXXXXX",
                     "Credential2" : "arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter-name>"
                  } 
               }
            }
         },
         "InstanceConfiguration": {
           "CPU": "1 vCPU",
           "Memory": "3 GB",
           "InstanceRoleArn: "<instance-role-arn>"
      }
   ...
   }
   ```

1. Il `apprunner.yaml` modello viene aggiornato per riflettere i segreti aggiunti. 

   Di seguito è riportato un esempio del `apprunner.yaml` modello aggiornato.  
**Example `apprunner.yaml`**  

   ```
   version: 1.0
   runtime: python3
   build:
     commands:
       build:
         - python -m pip install flask
   run:
     command: python app.py
     network:
       port: 8080
     env:
       - name: MY_VAR_EXAMPLE
         value: "example"
     secrets:
       - name: my-secret
         value-from: "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:XXXXXXXXXXXX"
       - name: my-parameter
         value-from: "arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter-name>"
       - name: my-parameter-only-name
         value-from: "parameter-name"
   ```