Referenzieren von Umgebungsvariablen - AWS App Runner

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

Mit App Runner können Sie Geheimnisse und Konfigurationen als Umgebungsvariablen in Ihrem Service referenzieren, wenn Sie einen Service erstellen oder aktualisieren.

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

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 unserem AWS Secrets ManagerAWS 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:

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.

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

  3. 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 oder die Konfiguration eines Dienstes aktualisieren. 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 zuweisenPORT, 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.

Anmerkung

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

Überlegungen

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

  • 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

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 im IAM-Benutzerhandbuch.

Anmerkung

Sie können beim Erstellen der Umgebungsvariablen 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.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "kms:Decrypt*" ], "Resource": [ "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:<secret_name>", "arn:aws:kms:<region>:<aws_account_id>:key/<key_id>" ] } ] }

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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameters" ], "Resource": [ "arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter_name>" ] } ] }