

AWS App Runner não estará mais aberto a novos clientes a partir de 30 de abril de 2026. Se você quiser usar o App Runner, inscreva-se antes dessa data. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte [Mudança de disponibilidade do AWS App Runner](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Fazendo referência a variáveis de ambiente
<a name="env-variable"></a>

Com o App Runner, você pode referenciar segredos e configurações como variáveis de ambiente em seu serviço ao [criar um serviço](manage-create.md) ou [atualizar um](manage-configure.md) serviço. 

Você pode referenciar dados de configuração não confidenciais, como tempos limite e contagens de novas tentativas em **texto sem formatação**, como pares de valores-chave. Os dados de configuração que você faz referência em **texto sem formatação** não são criptografados e são visíveis para outras pessoas na configuração do serviço App Runner e nos registros do aplicativo.

**nota**  
Por motivos de segurança, não faça referência a nenhum dado confidencial em **texto sem formatação** no seu serviço App Runner.

## Referenciando dados confidenciais como variáveis de ambiente
<a name="env-variable.sensitivedata"></a>

O App Runner oferece suporte para referenciar com segurança dados confidenciais como variáveis de ambiente em seu serviço. Considere armazenar os dados confidenciais que você deseja referenciar no *AWS Secrets ManagerAWS Systems Manager **Parameter Store*. Em seguida, você pode referenciá-las com segurança em seu serviço como variáveis de ambiente no console do App Runner ou chamando a API. Isso separa efetivamente o gerenciamento de segredos e parâmetros do código do aplicativo e da configuração do serviço, melhorando a segurança geral dos aplicativos em execução no App Runner. 

**nota**  
O App Runner não cobra por referenciar o Secrets Manager e o SSM Parameter Store como variáveis de ambiente. No entanto, você paga o preço padrão pelo uso do Secrets Manager e do SSM Parameter Store.  
Para obter mais informações sobre definição de preço, consulte o seguinte:   
 [AWS Preços do Secrets Manager](https://aws.amazon.com/secrets-manager/pricing)
 [AWS Preços do SSM Parameter Store](https://aws.amazon.com/systems-manager/pricing) 

 A seguir está o processo para referenciar dados confidenciais como variáveis de ambiente: 

1. Armazene dados confidenciais, como chaves de API, credenciais de banco de dados, parâmetros de conexão de banco de dados ou versões de aplicativos como segredos ou parâmetros em um AWS Secrets Manager ou no AWS Systems Manager Parameter Store. 

1. Atualize a política do IAM da sua função de instância para que o App Runner possa acessar os segredos e os parâmetros armazenados no Secrets Manager e no SSM Parameter Store. Para obter mais informações, consulte [Permissões do ](#env-variable.sensitivedata.permissions). 

1. Faça referência segura aos segredos e parâmetros como variáveis de ambiente atribuindo um nome e fornecendo seu Amazon Resource Name (ARN). Você pode adicionar variáveis de ambiente ao [criar um serviço](manage-create.md) ou [atualizar a configuração de um serviço](manage-configure.md). Você pode usar uma das seguintes opções para adicionar variáveis de ambiente:
   +  Console App Runner 
   +  API do App Runner 
   +  Arquivo de configuração `apprunner.yaml` 
**nota**  
Você não pode atribuir `PORT` como nome uma variável de ambiente ao criar ou atualizar seu serviço App Runner. É uma variável de ambiente reservada para o serviço App Runner. 

   Para obter mais informações sobre como referenciar segredos e parâmetros, consulte [Gerenciamento de variáveis de ambiente](env-variable-manage.md). 

**nota**  
 Como o App Runner armazena apenas a referência ao segredo e ao parâmetro ARNs, os dados confidenciais não são visíveis para outras pessoas na configuração do serviço App Runner e nos registros do aplicativo. 

## Considerações
<a name="env-variable.sensitivedata.considerations"></a>
+ Certifique-se de atualizar sua função de instância com as permissões apropriadas para acessar os segredos e os parâmetros no AWS Secrets Manager ou no AWS Systems Manager Parameter Store. Para obter mais informações, consulte [Permissões do ](#env-variable.sensitivedata.permissions). 
+ Certifique-se de que o AWS Systems Manager Parameter Store esteja no Conta da AWS mesmo serviço que você deseja iniciar ou atualizar. Atualmente, você não pode referenciar os parâmetros do SSM Parameter Store em todas as contas. 
+ Quando os segredos e os valores dos parâmetros são alternados ou alterados, eles não são atualizados automaticamente no seu serviço App Runner. Reimplante seu serviço App Runner, pois o App Runner só extrai segredos e parâmetros durante a implantação. 
+ Você também tem a opção de chamar AWS Secrets Manager diretamente o AWS Systems Manager Parameter Store por meio do SDK em seu serviço App Runner. 
+ Para evitar erros, certifique-se do seguinte ao referenciá-las como variáveis de ambiente: 
  + Você especifica o ARN correto do segredo.
  + Você especifica o nome correto ou o ARN do parâmetro.

## Permissões
<a name="env-variable.sensitivedata.permissions"></a>

Para habilitar a referência a segredos e parâmetros armazenados no AWS Secrets Manager ou SSM Parameter Store, adicione as permissões apropriadas à política do IAM do seu *papel de instância* para acessar o Secrets Manager e o SSM Parameter Store. 

**nota**  
 O App Runner não pode acessar recursos em sua conta sem sua permissão. Você fornece a permissão atualizando sua política do IAM. 

Você pode usar os seguintes modelos de política para atualizar sua função de instância no console do IAM. Você pode modificar esses modelos de política para atender às suas necessidades específicas. Para obter mais informações sobre como atualizar uma função de instância, consulte [Como modificar uma função](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html) no *Guia do usuário do IAM*.

**nota**  
Você também pode copiar os seguintes modelos do console do App Runner ao [criar as variáveis de ambiente](env-variable-manage.md#env-variable-manage.console). 

Copie o modelo a seguir para sua função de instância para adicionar permissão para referenciar *segredos* de *AWS Secrets Manager*.

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

------

Copie o modelo a seguir para sua função de instância para adicionar permissão aos *parâmetros de referência do *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"
            ]
        }
    ]
}
```

------

# Gerenciando suas variáveis de ambiente
<a name="env-variable-manage"></a>

Gerencie as variáveis de ambiente do seu serviço App Runner usando um dos seguintes métodos:
+ [Console do App Runner](#env-variable-manage.console)
+ [API App Runner ou AWS CLI](#env-variable-manage.api)

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

Ao [criar um serviço](manage-create.md) ou [atualizar um serviço](manage-configure.md) no console do App Runner, você pode adicionar variáveis de ambiente. 

### Adicionando variável de ambiente
<a name="env-variable-manage.console.add"></a>

**Para adicionar uma variável de ambiente**

1. Abra o [console do App Runner](https://console.aws.amazon.com/apprunner) e, na lista **Regiões**, selecione seu Região da AWS.

1. Com base no fato de você estar criando ou atualizando um serviço, execute uma das seguintes etapas:
   + Se você estiver criando um novo serviço, escolha **Criar um serviço App Runner** e acesse **Configurar serviço**.
   +  Se você estiver atualizando um serviço existente, selecione o serviço que deseja atualizar e acesse a guia **Configuração** do serviço. 

1.  Vá para **Variáveis de ambiente - opcional** em **Configurações de serviço**. 

1.  Escolha qualquer uma das opções a seguir com base em sua necessidade: 
   + Escolha **Texto simples** na **fonte da variável de ambiente** e insira seus pares de valores-chave em **Nome da variável de ambiente** e **Valor da variável de ambiente, respectivamente**. 
**nota**  
Escolha **Texto sem formatação** se quiser referenciar dados não confidenciais. Esses dados não são criptografados e são visíveis para outras pessoas na configuração do serviço App Runner e nos registros do aplicativo. 
   + Escolha **Secrets Manager** na **fonte da variável de ambiente** para referenciar o segredo armazenado AWS Secrets Manager como variável de ambiente em seu serviço. Forneça o nome da variável de ambiente e o Nome de recurso da Amazon (ARN) do segredo que você está referenciando em **Nome da variável de ambiente e Valor da variável** de **ambiente**, respectivamente. 
   + Escolha **SSM Parameter Store na** **fonte da variável de ambiente** para referenciar o parâmetro armazenado no SSM Parameter Store como variável de ambiente em seu serviço. Forneça o nome da variável de ambiente e o ARN do parâmetro que você está referenciando em **Nome da variável de ambiente e Valor da variável** de **ambiente**, respectivamente. 
**nota**  
Você não pode atribuir `PORT` como nome uma variável de ambiente ao criar ou atualizar seu serviço App Runner. É uma variável de ambiente reservada para o serviço App Runner. 
 Se o parâmetro SSM Parameter Store estiver no Região da AWS mesmo serviço que você deseja iniciar, você pode especificar o Amazon Resource Name (ARN) completo ou o nome do parâmetro. Se o parâmetro estiver em uma região diferente, você precisará especificar o ARN completo. 
Verifique se o parâmetro ao qual você está se referindo está na mesma conta do serviço que você está lançando ou atualizando. Atualmente, você não pode referenciar o parâmetro SSM Parameter Store em todas as contas. 

1. Escolha **Adicionar variável de ambiente** para fazer referência a outra variável de ambiente. 

1. Expanda os **modelos de política do IAM** para visualizar e copiar os modelos de política do IAM fornecidos para o repositório de parâmetros do SSM AWS Secrets Manager e do SSM. Você só precisa fazer isso se ainda não tiver atualizado a política do IAM da sua função de instância com as permissões necessárias. Para obter mais informações, consulte [Permissões do ](env-variable.md#env-variable.sensitivedata.permissions).

### Removendo a variável de ambiente
<a name="env-variable-manage.console.remove"></a>

Antes de excluir uma variável de ambiente, certifique-se de que o código do aplicativo esteja atualizado para refletir a mesma. Se o código do aplicativo não for atualizado, seu serviço App Runner poderá falhar.

**Para remover variáveis de ambiente**

1. Abra o [console do App Runner](https://console.aws.amazon.com/apprunner) e, na lista **Regiões**, selecione seu Região da AWS.

1.  Vá para a guia **Configuração** do serviço que você deseja atualizar. 

1.  Vá para **Variáveis de ambiente - opcional** em **Configurações de serviço**. 

1.  Escolha **Remover** ao lado da variável de ambiente que você deseja remover. Você recebe uma mensagem para confirmar a exclusão. 

1.  Escolha **Excluir**. 

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

Você pode referenciar dados confidenciais armazenados no Secrets Manager e no SSM Parameter Store adicionando-os como variáveis de ambiente em seu serviço. 

**nota**  
Atualize a política do IAM da sua função de instância para que o App Runner possa acessar segredos e parâmetros armazenados no Secrets Manager e no SSM Parameter Store. Para obter mais informações, consulte [Permissões do ](env-variable.md#env-variable.sensitivedata.permissions).

**Para referenciar segredos e configurações como variáveis de ambiente**

1. Crie um segredo ou configuração no Secrets Manager ou no SSM Parameter Store. 

   Os exemplos a seguir mostram como criar um segredo e um parâmetro usando o SSM Parameter Store.   
**Example Criando um segredo - Solicitação**  

   O exemplo a seguir mostra como criar um segredo que represente a credencial do banco de dados.

   ```
   aws secretsmanager create-secret \
   —name DevRdsCredentials \
   —description "Rds credentials for development account." \
   —secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"
   ```  
**Example Criando um segredo - Resposta**  

   ```
   arn:aws:secretsmanager:<region>:<aws_account_id>:secret:DevRdsCredentials
   ```  
**Example Criando uma configuração - Solicitação**  

   O exemplo a seguir mostra como criar um parâmetro que representa a cadeia de conexão do 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 Criando uma configuração - Resposta**  

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

1. Faça referência aos segredos e configurações que estão armazenados no Secrets Manager e no SSM Parameter Store adicionando-os como variáveis de ambiente. Você pode adicionar variáveis de ambiente ao criar ou atualizar seu serviço App Runner. 

   Os exemplos a seguir mostram como referenciar segredos e configurações como variáveis de ambiente em um serviço App Runner baseado em código e em imagem.  
**Example Arquivo.json de entrada para o serviço App Runner baseado em imagem**  

   ```
   {
     "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 Serviço App Runner baseado em imagem — Solicitação**  

   ```
   aws apprunner create-service \
   --cli-input-json file://input.json
   ```  
**Example Serviço App Runner baseado em imagens — Resposta**  

   ```
   {
   ...
         "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 Arquivo.json de entrada para o serviço App Runner baseado em código**  

   ```
   {
     "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 Serviço App Runner baseado em código — Solicitação**  

   ```
   aws apprunner create-service \
   --cli-input-json file://input.json
   ```  
**Example Serviço App Runner baseado em código — Resposta**  

   ```
   {
   ...
      "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. O `apprunner.yaml` modelo é atualizado para refletir os segredos adicionados. 

   Veja a seguir um exemplo do `apprunner.yaml` modelo atualizado.  
**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"
   ```