

AWS App Runner wird ab dem 30. April 2026 nicht mehr für Neukunden geöffnet sein. Wenn Sie App Runner verwenden möchten, melden Sie sich vor diesem Datum an. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Änderung der AWS App Runner Verfügbarkeit](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Referenzieren von Umgebungsvariablen
<a name="env-variable"></a>

Mit App Runner können Sie Geheimnisse und Konfigurationen als Umgebungsvariablen in Ihrem Service referenzieren, wenn Sie [einen Service erstellen](manage-create.md) oder [aktualisieren](manage-configure.md). 

Sie können auf nicht sensible Konfigurationsdaten wie Timeouts und Wiederholungszählungen im **Klartext** als Schlüssel-Wert-Paare verweisen. Die Konfigurationsdaten, auf die Sie im **Klartext** verweisen, sind nicht verschlüsselt und in den App Runner-Dienstkonfigurations- und Anwendungsprotokollen für andere sichtbar.

**Anmerkung**  
Verweisen Sie aus Sicherheitsgründen in Ihrem App Runner-Dienst nicht auf sensible Daten im **Klartext**.

## Vertrauliche Daten als Umgebungsvariablen referenzieren
<a name="env-variable.sensitivedata"></a>

App Runner unterstützt die sichere Referenzierung sensibler Daten als Umgebungsvariablen in Ihrem Service. Erwägen Sie, die sensiblen Daten, auf die Sie verweisen möchten, in *AWS Secrets Manager*oder im *AWS Systems Manager Parameter Store* zu speichern. Anschließend können Sie sie in Ihrem Service über die App Runner-Konsole oder durch Aufrufen der API sicher als Umgebungsvariablen referenzieren. Dadurch wird die Verwaltung von Geheimnissen und Parametern effektiv von Ihrem Anwendungscode und Ihrer Dienstkonfiguration getrennt, wodurch die allgemeine Sicherheit Ihrer Anwendungen, die auf App Runner ausgeführt werden, verbessert wird. 

**Anmerkung**  
App Runner berechnet Ihnen keine Gebühren für die Referenzierung von Secrets Manager und SSM Parameter Store als Umgebungsvariablen. Sie zahlen jedoch den Standardpreis für die Nutzung von Secrets Manager und SSM Parameter Store.  
Weitere Informationen zu Preisen finden Sie unter:   
 [AWS Secrets Manager — Preisgestaltung](https://aws.amazon.com/secrets-manager/pricing)
 [AWS Preisgestaltung im SSM Parameter Store](https://aws.amazon.com/systems-manager/pricing) 

 Im Folgenden wird beschrieben, wie sensible Daten als Umgebungsvariablen referenziert werden: 

1. Speichern Sie vertrauliche Daten wie API-Schlüssel, Datenbankanmeldedaten, Datenbankverbindungsparameter oder Anwendungsversionen als Geheimnisse oder Parameter in einem AWS Secrets Manager oder im AWS Systems Manager Parameter Store. 

1. Aktualisieren Sie die IAM-Richtlinie Ihrer Instanzrolle, sodass App Runner auf die in Secrets Manager und SSM Parameter Store gespeicherten Geheimnisse und Parameter zugreifen kann. Weitere Informationen finden Sie unter [-Berechtigungen](#env-variable.sensitivedata.permissions). 

1. Verweisen Sie auf sichere Weise auf die Geheimnisse und Parameter als Umgebungsvariablen, indem Sie ihnen einen Namen zuweisen und ihren Amazon-Ressourcennamen (ARN) angeben. Sie können Umgebungsvariablen hinzufügen, wenn Sie [einen Service erstellen](manage-create.md) oder die [Konfiguration eines Dienstes aktualisieren](manage-configure.md). Sie können eine der folgenden Optionen verwenden, um Umgebungsvariablen hinzuzufügen:
   +  App Runner-Konsole 
   +  App Runner-API 
   +  `apprunner.yaml` Konfigurationsdatei 
**Anmerkung**  
Sie können einer Umgebungsvariablen keinen Namen zuweisen`PORT`, wenn Sie Ihren App Runner-Dienst erstellen oder aktualisieren. Es ist eine reservierte Umgebungsvariable für den App Runner-Dienst. 

   Weitere Informationen zum Referenzieren von Geheimnissen und Parametern finden Sie unter [Umgebungsvariablen verwalten](env-variable-manage.md). 

**Anmerkung**  
 Da App Runner nur den Verweis auf Secret und Parameter speichert ARNs, sind die sensiblen Daten in der App Runner-Dienstkonfiguration und in den Anwendungsprotokollen für andere nicht sichtbar. 

## Überlegungen
<a name="env-variable.sensitivedata.considerations"></a>
+ Stellen Sie sicher, dass Sie Ihre Instanzrolle mit den entsprechenden Berechtigungen für den Zugriff auf die Geheimnisse und Parameter im AWS Secrets Manager oder im AWS Systems Manager Parameter Store aktualisieren. Weitere Informationen finden Sie unter [-Berechtigungen](#env-variable.sensitivedata.permissions). 
+ Stellen Sie sicher, dass sich der AWS Systems Manager Parameter Store im selben AWS-Konto Verzeichnis befindet wie der Dienst, den Sie starten oder aktualisieren möchten. Derzeit können Sie nicht kontenübergreifend auf SSM-Parameter des Parameterspeichers verweisen. 
+ Wenn die Secrets und Parameterwerte rotiert oder geändert werden, werden sie in Ihrem App Runner-Dienst nicht automatisch aktualisiert. Stellen Sie Ihren App Runner-Dienst erneut bereit, da App Runner während der Bereitstellung nur Geheimnisse und Parameter abruft. 
+ Sie haben auch die Möglichkeit, direkt über das SDK in Ihrem App Runner-Dienst aufzurufen AWS Secrets Manager und AWS Systems Manager Parameter zu speichern. 
+ Um Fehler zu vermeiden, stellen Sie Folgendes sicher, wenn Sie sie als Umgebungsvariablen referenzieren: 
  + Sie geben den richtigen ARN des Geheimnisses an.
  + Sie geben den richtigen Namen oder ARN des Parameters an.

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

Um die Referenzierung von Geheimnissen und Parametern zu ermöglichen, die im AWS Secrets Manager oder SSM Parameter Store gespeichert sind, fügen Sie der IAM-Richtlinie Ihrer *Instanzrolle* entsprechende Berechtigungen für den Zugriff auf Secrets Manager und SSM Parameter Store hinzu. 

**Anmerkung**  
 App Runner kann ohne Ihre Zustimmung nicht auf Ressourcen in Ihrem Konto zugreifen. Sie erteilen die Erlaubnis, indem Sie Ihre IAM-Richtlinie aktualisieren. 

Sie können die folgenden Richtlinienvorlagen verwenden, um Ihre Instanzrolle in der IAM-Konsole zu aktualisieren. Sie können diese Richtlinienvorlagen an Ihre spezifischen Anforderungen anpassen. Weitere Informationen zum Aktualisieren einer Instanzrolle finden Sie unter [Ändern einer Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html) im *IAM-Benutzerhandbuch*.

**Anmerkung**  
Sie können beim [Erstellen der Umgebungsvariablen](env-variable-manage.md#env-variable-manage.console) auch die folgenden Vorlagen aus der App Runner-Konsole kopieren. 

Kopieren Sie die folgende Vorlage in Ihre Instanzrolle, um die Berechtigung zum Verweisen auf *Geheimnisse* hinzuzufügen *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"
         ]
     }
   ]
}
```

------

Kopieren Sie die folgende Vorlage in Ihre Instanzrolle, um Berechtigungen für *Referenzparameter* aus dem *AWS Systems Manager*Parameter Store hinzuzufügen.

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

****  

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

------

# Verwaltung Ihrer Umgebungsvariablen
<a name="env-variable-manage"></a>

Verwalten Sie die Umgebungsvariablen für Ihren App Runner-Dienst mit einer der folgenden Methoden:
+ [App Runner-Konsole](#env-variable-manage.console)
+ [App Runner API oder AWS CLI](#env-variable-manage.api)

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

Wenn Sie in der App Runner-Konsole [einen Dienst [erstellen](manage-create.md) oder aktualisieren](manage-configure.md), können Sie Umgebungsvariablen hinzufügen. 

### Umgebungsvariable hinzufügen
<a name="env-variable-manage.console.add"></a>

**Um eine Umgebungsvariable hinzuzufügen**

1. Öffnen Sie die [App Runner-Konsole](https://console.aws.amazon.com/apprunner) und wählen Sie in der Liste **Regionen** Ihre aus AWS-Region.

1. Je nachdem, ob Sie einen Dienst erstellen oder aktualisieren, führen Sie einen der folgenden Schritte aus:
   + Wenn Sie einen neuen Dienst erstellen, wählen Sie **App Runner-Dienst erstellen** und gehen **Sie zu Dienst konfigurieren**.
   +  Wenn Sie einen vorhandenen Dienst aktualisieren, wählen Sie den Dienst aus, den Sie aktualisieren möchten, und wechseln Sie zur Registerkarte **Konfiguration** des Dienstes. 

1.  Gehen Sie unter **Diensteinstellungen** zu **Umgebungsvariablen — optional**. 

1.  Wählen Sie je nach Anforderung eine der folgenden Optionen aus: 
   + Wählen Sie **Klartext** aus der **Quelle der Umgebungsvariablen** aus und geben Sie die Schlüssel-Wert-Paare unter **Name der Umgebungsvariablen bzw.** **Wert der Umgebungsvariablen** ein. 
**Anmerkung**  
Wählen Sie „**Nur Text**“, wenn Sie auf nicht sensible Daten verweisen möchten. Diese Daten sind nicht verschlüsselt und für andere in der App Runner-Dienstkonfiguration und in den Anwendungsprotokollen sichtbar. 
   + Wählen Sie **Secrets Manager** aus der **Umgebungsvariablenquelle** aus, um auf das Geheimnis zu verweisen, das AWS Secrets Manager als Umgebungsvariable in Ihrem Service gespeichert ist. Geben Sie den Namen der Umgebungsvariablen und den Amazon-Ressourcennamen (ARN) des Geheimnisses, auf das Sie verweisen, jeweils unter **Umgebungsvariablenname** und **Umgebungsvariablenwert** ein. 
   + Wählen Sie **SSM Parameter Store** aus der **Umgebungsvariablenquelle** aus, um auf den im SSM Parameter Store gespeicherten Parameter als Umgebungsvariable in Ihrem Service zu verweisen. Geben Sie den Namen der Umgebungsvariablen und den ARN des Parameters, auf den Sie verweisen, jeweils unter **Umgebungsvariablenname** und **Umgebungsvariablenwert** ein. 
**Anmerkung**  
Sie können einer Umgebungsvariablen keinen Namen zuweisen`PORT`, wenn Sie Ihren App Runner-Dienst erstellen oder aktualisieren. Es ist eine reservierte Umgebungsvariable für den App Runner-Dienst. 
 Wenn der SSM Parameter Store-Parameter mit dem Service AWS-Region identisch ist, den Sie starten möchten, können Sie den vollständigen Amazon-Ressourcennamen (ARN) oder den Namen des Parameters angeben. Wenn sich der Parameter in einer anderen Region befindet, müssen Sie den vollständigen ARN angeben. 
Stellen Sie sicher, dass sich der Parameter, auf den Sie verweisen, in demselben Konto befindet wie der Dienst, den Sie starten oder aktualisieren. Derzeit können Sie nicht kontenübergreifend auf den SSM Parameter Store-Parameter verweisen. 

1. Wählen Sie **Umgebungsvariable hinzufügen**, um auf eine andere Umgebungsvariable zu verweisen. 

1. Erweitern Sie **IAM-Richtlinienvorlagen**, um die für den SSM-Parameterspeicher bereitgestellten IAM-Richtlinienvorlagen anzuzeigen AWS Secrets Manager und zu kopieren. Sie müssen dies nur tun, wenn Sie die IAM-Richtlinie Ihrer Instanzrolle noch nicht mit den erforderlichen Berechtigungen aktualisiert haben. Weitere Informationen finden Sie unter [-Berechtigungen](env-variable.md#env-variable.sensitivedata.permissions).

### Umgebungsvariable wird entfernt
<a name="env-variable-manage.console.remove"></a>

Bevor Sie eine Umgebungsvariable löschen, stellen Sie sicher, dass Ihr Anwendungscode aktualisiert wurde, sodass er dieselbe wiedergibt. Wenn der Anwendungscode nicht aktualisiert wird, schlägt Ihr App Runner-Dienst möglicherweise fehl.

**Um Umgebungsvariablen zu entfernen**

1. Öffnen Sie die [App Runner-Konsole](https://console.aws.amazon.com/apprunner) und wählen Sie in der Liste **Regionen** Ihre aus AWS-Region.

1.  Gehen Sie zur Registerkarte **Konfiguration** des Dienstes, den Sie aktualisieren möchten. 

1.  Gehen Sie unter **Diensteinstellungen** zu **Umgebungsvariablen — optional**. 

1.  **Wählen Sie neben der Umgebungsvariablen, die Sie entfernen möchten, die Option Entfernen aus.** Sie erhalten eine Nachricht zur Bestätigung des Löschvorgangs. 

1.  Wählen Sie **Löschen** aus. 

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

Sie können auf sensible Daten verweisen, die in Secrets Manager und SSM Parameter Store gespeichert sind, indem Sie sie als Umgebungsvariablen in Ihrem Service hinzufügen. 

**Anmerkung**  
Aktualisieren Sie die IAM-Richtlinie Ihrer Instanzrolle, sodass App Runner auf Geheimnisse und Parameter zugreifen kann, die in Secrets Manager und SSM Parameter Store gespeichert sind. Weitere Informationen finden Sie unter [-Berechtigungen](env-variable.md#env-variable.sensitivedata.permissions).

**Um Geheimnisse und Konfigurationen als Umgebungsvariablen zu referenzieren**

1. Erstellen Sie ein Geheimnis oder eine Konfiguration im Secrets Manager oder SSM Parameter Store. 

   Die folgenden Beispiele zeigen, wie Sie mithilfe des SSM-Parameterspeichers ein Geheimnis und einen Parameter erstellen.   
**Example Ein Geheimnis erstellen — Anfrage**  

   Das folgende Beispiel zeigt, wie ein Geheimnis erstellt wird, das die Datenbankanmeldedaten darstellt.

   ```
   aws secretsmanager create-secret \
   —name DevRdsCredentials \
   —description "Rds credentials for development account." \
   —secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"
   ```  
**Example Ein Geheimnis erstellen — Antwort**  

   ```
   arn:aws:secretsmanager:<region>:<aws_account_id>:secret:DevRdsCredentials
   ```  
**Example Konfiguration erstellen — Anfrage**  

   Das folgende Beispiel zeigt, wie ein Parameter erstellt wird, der die RDS-Verbindungszeichenfolge darstellt.

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

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

1. Verweisen Sie auf die Geheimnisse und Konfigurationen, die in Secrets Manager und SSM Parameter Store gespeichert sind, indem Sie sie als Umgebungsvariablen hinzufügen. Sie können Umgebungsvariablen hinzufügen, wenn Sie Ihren App Runner-Dienst erstellen oder aktualisieren. 

   Die folgenden Beispiele zeigen, wie Sie Geheimnisse und Konfigurationen als Umgebungsvariablen in einem codebasierten und einem imagebasierten App Runner-Dienst referenzieren.  
**Example Input.json-Datei für den bildbasierten App Runner-Dienst**  

   ```
   {
     "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 Imagebasierter App Runner-Dienst — Anfrage**  

   ```
   aws apprunner create-service \
   --cli-input-json file://input.json
   ```  
**Example Bildbasierter App Runner-Dienst — Antwort**  

   ```
   {
   ...
         "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 Input.json-Datei für den codebasierten App Runner-Dienst**  

   ```
   {
     "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 Codebasierter App Runner-Dienst — Anfrage**  

   ```
   aws apprunner create-service \
   --cli-input-json file://input.json
   ```  
**Example Codebasierter App Runner-Dienst — Antwort**  

   ```
   {
   ...
      "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. Das `apprunner.yaml` Modell wurde aktualisiert, um die hinzugefügten Geheimnisse widerzuspiegeln. 

   Das Folgende ist ein Beispiel für das aktualisierte `apprunner.yaml` Modell.  
**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"
   ```