Umgebungsvariablen - AWS Amplify Hosten

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.

Umgebungsvariablen

Umgebungsvariablen sind Schlüssel-Wert-Paare, die Sie zu den Einstellungen Ihrer Anwendung hinzufügen können, um sie für Amplify Hosting verfügbar zu machen. Als bewährte Methode können Sie Umgebungsvariablen verwenden, um Anwendungskonfigurationsdaten verfügbar zu machen. Alle Umgebungsvariablen, die Sie hinzufügen, sind verschlüsselt, um unbefugten Zugriff zu verhindern.

Amplify erlaubt Ihnen nicht, Umgebungsvariablen mit einem AWS Präfix zu erstellen. Dieses Präfix ist nur für den internen Gebrauch von Amplify reserviert.

Wichtig

Verwenden Sie keine Umgebungsvariablen zum Speichern von Geheimnissen. Speichern Sie Geheimnisse in einem Umgebungsgeheimnis, das mit dem AWS Systems Manager Parameterspeicher erstellt wurde. Weitere Informationen finden Sie unter Geheimnisse der Umgebung.

Umgebungsvariablen Amplify

Auf die folgenden Umgebungsvariablen kann standardmäßig in der Amplify-Konsole zugegriffen werden.

Variablenname Beschreibung Beispielwert

_BUILD_TIMEOUT

Die Dauer des Build-Timeouts in Minuten

30

_LIVE_UPDATES

Das Tool wird auf die neueste Version aktualisiert.

[{"name":"Amplify CLI","pkg":"@aws-amplify/cli","type":"npm","version":"latest"}]

USER_DISABLE_TESTS

Der Testschritt wird während eines Builds übersprungen. Sie können Tests für alle Zweige oder bestimmte Zweige in einer App deaktivieren.

Diese Umgebungsvariable wird für Apps verwendet, die während der Buildphase Tests durchführen. Weitere Informationen zum Setzen dieser Variablen finden Sie unterTests deaktivieren.

true

AWS_APP_ID

Die App-ID des aktuellen Builds

abcd1234

AWS_BRANCH

Der Verzweigungsname des aktuellen Builds

main, develop, beta, v2.0

AWS_BRANCH_ARN

Der Branch-Amazon-Ressourcenname (ARN) des aktuellen Builds

aws:arn:amplify:us-west-2:123456789012:appname/branch/...

AWS_CLONE_URL

Die Klon-URL zum Abrufen der Git-Repository-Inhalte

git@github.com:<user-name>/<repo-name>.git

AWS_COMMIT_ID

Die Commit-ID des aktuellen Builds

„HEAD“ für Rebuilds

abcd1234

AWS_JOB_ID

Die Auftrags-ID des aktuellen Builds.

Dies beinhaltet eine gewisse Polsterung von '0', sodass es immer dieselbe Länge hat.

0000000001

AWS_PULL_REQUEST_ID

Die Pull-Request-ID des Pull-Request-Webvorschau-Builds.

Diese Umgebungsvariable ist nicht verfügbar, wenn Sie sie AWS CodeCommit als Repository-Anbieter verwenden.

1

AWS_PULL_REQUEST_SOURCE_BRANCH

Der Name des Feature-Branches für eine Pull-Request-Vorschau, der an einen Anwendungszweig in der Amplify-Konsole gesendet wird.

featureA

AWS_PULL_REQUEST_DESTINATION_BRANCH

Der Name des Anwendungszweigs in der Amplify-Konsole, an den eine Feature-Branch-Pull-Anfrage gesendet wird.

main

AMPLIFY_AMAZON_CLIENT_ID

Die Amazon-Kunden-ID

123456

AMPLIFY_AMAZON_CLIENT_SECRET

Das Geheimnis des Amazon-Kunden

example123456

AMPLIFY_FACEBOOK_CLIENT_ID

Die Facebook-Kunden-ID

123456

AMPLIFY_FACEBOOK_CLIENT_SECRET

Das geheime Facebook-Kundengeheimnis

example123456

AMPLIFY_GOOGLE_CLIENT_ID

Die Google-Kunden-ID

123456

AMPLIFY_GOOGLE_CLIENT_SECRET

Das Geheimnis des Google-Clients

example123456

AMPLIFY_DIFF_DEPLOY

Aktivieren oder deaktivieren Sie die diff-basierte Frontend-Bereitstellung. Weitere Informationen finden Sie unter Aktiviert oder deaktiviert das auf Diff basierende Frontend-Build und Deployment.

true

AMPLIFY_DIFF_DEPLOY_ROOT

Der Pfad, der für Vergleichsvergleiche von Frontend-Deployments verwendet werden soll, relativ zum Stammverzeichnis Ihres Repositorys.

dist

AMPLIFY_DIFF_BACKEND

Aktiviert oder deaktiviert diff-basierte Backend-Builds. Dies gilt nur für Apps der 1. Generation. Weitere Informationen finden Sie unter Aktivieren oder deaktivieren Sie diff-basierte Backend-Builds für eine Gen-1-App.

true

AMPLIFY_BACKEND_PULL_ONLY

Amplify verwaltet diese Umgebungsvariable. Dies gilt nur für Apps der 1. Generation. Weitere Informationen finden Sie unter Bearbeiten Sie ein vorhandenes Frontend so, dass es auf ein anderes Backend verweist.

true

AMPLIFY_BACKEND_APP_ID

Amplify verwaltet diese Umgebungsvariable. Dies gilt nur für Apps der 1. Generation. Weitere Informationen finden Sie unter Bearbeiten Sie ein vorhandenes Frontend so, dass es auf ein anderes Backend verweist.

abcd1234

AMPLIFY_SKIP_BACKEND_BUILD

Wenn Ihre Build-Spezifikation keinen Backend-Abschnitt enthält und Sie Backend-Builds deaktivieren möchten, setzen Sie diese Umgebungsvariable auf. true Dies gilt nur für Apps der 1. Generation.

true

AMPLIFY_ENABLE_DEBUG_OUTPUT

Setzen Sie diese Variable auf, true um einen Stack-Trace in den Protokollen zu drucken. Dies ist hilfreich beim Debuggen von Backend-Build-Fehlern.

true

AMPLIFY_MONOREPO_APP_ROOT

Der Pfad, der verwendet werden soll, um das App-Stammverzeichnis einer Monorepo-App relativ zum Stammverzeichnis Ihres Repositorys anzugeben.

apps/react-app

AMPLIFY_USERPOOL_ID

Die ID für den Amazon Cognito Cognito-Benutzerpool, der für die Authentifizierung importiert wurde

us-west-2_example

AMPLIFY_WEBCLIENT_ID

Die ID für den App-Client, der von Webanwendungen verwendet werden soll

Der App-Client muss mit Zugriff auf den Amazon Cognito Cognito-Benutzerpool konfiguriert sein, der in der Umgebungsvariablen AMPLIFY_USERPOOL_ID angegeben ist.

123456

AMPLIFY_NATIVECLIENT_ID

Die ID für den App-Client, der von nativen Anwendungen verwendet werden soll

Der App-Client muss mit Zugriff auf den Amazon Cognito Cognito-Benutzerpool konfiguriert sein, der in der Umgebungsvariablen AMPLIFY_USERPOOL_ID angegeben ist.

123456

AMPLIFY_IDENTITYPOOL_ID

Die ID für den Amazon Cognito Cognito-Identitätspool

example-identitypool-id

AMPLIFY_PERMISSIONS_BOUNDARY_ARN

Der ARN für die IAM-Richtlinie, der als Berechtigungsgrenze verwendet werden soll und für alle von Amplify erstellten IAM-Rollen gilt. Weitere Informationen finden Sie unter IAM-Berechtigungsgrenze für von Amplify generierte Rollen.

arn:aws:iam::123456789012:policy/example-policy

AMPLIFY_DESTRUCTIVE_UPDATES

Setzen Sie diese Umgebungsvariable auf true, damit eine GraphQL-API mit Schemaoperationen aktualisiert werden kann, die möglicherweise zu Datenverlust führen können.

true

Anmerkung

Die Umgebungsvariablen AMPLIFY_AMAZON_CLIENT_ID und die AMPLIFY_AMAZON_CLIENT_SECRET Umgebungsvariablen sind OAuth-Token, kein AWS Zugriffsschlüssel und kein geheimer Schlüssel.

Festlegen von Umgebungsvariablen

Verwenden Sie die folgenden Anweisungen, um Umgebungsvariablen für eine Anwendung in der Amplify-Konsole festzulegen.

Anmerkung

Umgebungsvariablen sind nur dann im App-Einstellungsmenü der Amplify-Konsole sichtbar, wenn eine App für die kontinuierliche Bereitstellung eingerichtet und mit einem Git-Repository verbunden ist. Anweisungen zu dieser Art der Bereitstellung finden Sie unter Erste Schritte mit vorhandenem Code.

So legen Sie Umgebungsvariablen fest
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amplify-Konsole.

  2. Wählen Sie in der Amplify-Konsole Hosting und dann Umgebungsvariablen aus.

  3. Wählen Sie auf der Seite Umgebungsvariablen die Option Variablen verwalten aus.

  4. Geben Sie unter Variable Ihren Schlüssel ein. Geben Sie unter Wert Ihren Wert ein. Standardmäßig wendet Amplify die Umgebungsvariablen auf alle Zweige an, sodass Sie Variablen nicht erneut eingeben müssen, wenn Sie einen neuen Zweig verbinden.

  5. (Optional) Um eine Umgebungsvariable speziell für einen Zweig anzupassen, fügen Sie wie folgt eine Branch-Override hinzu:

    1. Wählen Sie „Aktionen“ und anschließend „Variablenüberschreibung hinzufügen“.

    2. Sie verfügen jetzt über einen spezifischen Satz von Umgebungsvariablen für Ihre Verzweigung.

  6. Wählen Sie Speichern.

Greifen Sie während der Erstellung auf Umgebungsvariablen zu

Für den Zugriff auf eine Umgebungsvariable während eines Builds bearbeiten Sie Ihre Build-Einstellungen so, dass die Umgebungsvariable in Ihren Build-Befehlen enthalten ist.

Jeder Befehl in Ihrer Build-Konfiguration wird in einer Bash-Shell ausgeführt. Weitere Informationen zur Arbeit mit Umgebungsvariablen in Bash finden Sie unter Shell-Erweiterungen im GNU Bash-Handbuch.

Um Build-Einstellungen so zu bearbeiten, dass sie eine Umgebungsvariable einschließen
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amplify-Konsole.

  2. Wählen Sie in der Amplify-Konsole Hosting und dann Build-Einstellungen.

  3. Wählen Sie im Abschnitt App-Build-Spezifikation die Option Bearbeiten aus.

  4. Fügen Sie die Umgebungsvariable Ihrem Build-Befehl hinzu. Jetzt sollte der Zugriff auf Ihre Umgebungsvariable während Ihres nächsten Builds möglich sein. Dieses Beispiel ändert das Verhalten von npm (BUILD_ENV) und fügt einer Umgebungsdatei ein API-Token (TWITCH_CLIENT_ID) für einen externen Dienst zur späteren Verwendung hinzu.

    build: commands: - npm run build:$BUILD_ENV - echo "TWITCH_CLIENT_ID=$TWITCH_CLIENT_ID" >> backend/.env
  5. Wählen Sie Speichern.

Umgebungsvariablen für serverseitige Laufzeiten zugänglich machen

Eine Serverkomponente von Next.js hat standardmäßig keinen Zugriff auf die Umgebungsvariablen Ihrer App. Dieses Verhalten dient dazu, alle Geheimnisse zu schützen, die in Umgebungsvariablen gespeichert sind, die Ihre Anwendung während der Erstellungsphase verwendet.

Um bestimmte Umgebungsvariablen für Next.js zugänglich zu machen, müssen Sie die Amplify-Build-Spezifikationsdatei ändern, um die Umgebungsvariablen in den Umgebungsdateien festzulegen, die Next.js erkennt. Dadurch kann Amplify die Umgebungsvariablen laden, bevor die Anwendung erstellt wird. Weitere Informationen zum Ändern Ihrer Build-Spezifikation finden Sie in den Beispielen zum Hinzufügen von Umgebungsvariablen im Abschnitt Build-Befehle.

Erstellen Sie eine neue Backend-Umgebung mit Authentifizierungsparametern für die Anmeldung über soziale Netzwerke

Um eine Filiale mit einer App zu verbinden
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amplify-Konsole.

  2. Das Verfahren zum Verbinden einer Filiale mit einer App hängt davon ab, ob Sie eine Filiale mit einer neuen App oder einer vorhandenen App verbinden.

    • Eine Filiale mit einer neuen App verbinden

      1. Suchen Sie auf der Seite mit den Build-Einstellungen den Abschnitt Wählen Sie eine Backend-Umgebung aus, die mit diesem Zweig verwendet werden soll. Wählen Sie für Umgebung die Option Neue Umgebung erstellen aus und geben Sie den Namen Ihrer Backend-Umgebung ein. Der folgende Screenshot zeigt den Abschnitt Wählen Sie eine Backend-Umgebung aus, die mit diesem Zweig verwendet werden soll auf der Seite mit den Build-Einstellungen, in dem für die Backend-Umgebung ein Name backend eingegeben wurde.

        Screenshot des Abschnitts Backend-Bereitstellungen in der Amplify-Konsole.
      2. Erweitern Sie den Abschnitt Erweiterte Einstellungen auf der Seite mit den Build-Einstellungen und fügen Sie Umgebungsvariablen für Social Sign-In-Schlüssel hinzu. AMPLIFY_FACEBOOK_CLIENT_SECRETIst beispielsweise eine gültige Umgebungsvariable. Eine Liste der standardmäßig verfügbaren Amplify-Systemumgebungsvariablen finden Sie in Umgebungsvariablen Amplify der Tabelle unter.

    • Einen Zweig mit einer vorhandenen App verbinden

      1. Wenn Sie eine neue Filiale mit einer vorhandenen App verbinden, legen Sie die Umgebungsvariablen für die Anmeldung über soziale Netzwerke fest, bevor Sie die Filiale verbinden. Wählen Sie im Navigationsbereich App-Einstellungen, Umgebungsvariablen aus.

      2. Wählen Sie im Abschnitt Umgebungsvariablen die Option Variablen verwalten aus.

      3. Wählen Sie im Abschnitt Variablen verwalten die Option Variable hinzufügen aus.

      4. Geben Sie unter Variable (Schlüssel) Ihre Client-ID ein. Geben Sie unter Value Ihr Client-Geheimnis ein.

      5. Wählen Sie „Speichern“.

Umgebungsvariablen des Frontend-Frameworks

Wenn Sie Ihre App mit einem Frontend-Framework entwickeln, das seine eigenen Umgebungsvariablen unterstützt, ist es wichtig zu verstehen, dass diese nicht mit den Umgebungsvariablen identisch sind, die Sie in der Amplify-Konsole konfigurieren. Mit React (mit dem Präfix REACT_APP) und Gatsby (mit dem Präfix GATSBY) können Sie beispielsweise Laufzeitumgebungsvariablen erstellen, die diese Frameworks automatisch in Ihren Frontend-Produktions-Build bündeln. Informationen zu den Auswirkungen der Verwendung dieser Umgebungsvariablen zum Speichern von Werten finden Sie in der Dokumentation für das von Ihnen verwendete Frontend-Framework.

Das Speichern sensibler Werte, wie API-Schlüssel, in diesen Umgebungsvariablen des Frontend-Frameworks mit Präfix ist keine bewährte Methode und es wird dringend davon abgeraten. Ein Beispiel für die Verwendung der Build-Time-Umgebungsvariablen von Amplify für diesen Zweck finden Sie unter. Greifen Sie während der Erstellung auf Umgebungsvariablen zu

Geheimnisse der Umgebung

Umgebungsgeheimnisse ähneln Umgebungsvariablen, sind aber AWS Systems Manager (SSM) Parameter Store-Schlüsselwertpaare, die verschlüsselt werden können. Einige Werte müssen verschlüsselt werden, z. B. die Anmeldung mit dem privaten Apple-Schlüssel für Amplify.

Legen Sie Umgebungsgeheimnisse fest

Verwenden Sie die folgenden Anweisungen, um mithilfe der AWS Systems Manager Konsole ein Umgebungsgeheimnis für eine Amplify-App festzulegen.

Um ein Umgebungsgeheimnis festzulegen
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Systems Manager Konsole.

  2. Wählen Sie im Navigationsbereich Application Management und dann Parameter Store aus.

  3. Wählen Sie auf der Seite AWS Systems Manager Parameter Store die Option Create parameter aus.

  4. Gehen Sie auf der Seite Parameter erstellen im Abschnitt Parameterdetails wie folgt vor:

    1. Geben Sie für Name einen Parameter im Format ein/amplify/{your_app_id}/{your_backend_environment_name}/{your_parameter_name}.

    2. Wählen Sie für Type (Typ) die Option SecureString aus.

    3. Wählen Sie unter KMS-Schlüsselquelle die Option Mein aktuelles Konto aus, um den Standardschlüssel für Ihr Konto zu verwenden.

    4. Geben Sie unter Wert Ihren geheimen Wert für die Verschlüsselung ein.

  5. Wählen Sie, Parameter erstellen.

Anmerkung

Amplify hat nur Zugriff auf die Schlüssel unter dem Build /amplify/{your_app_id}/{your_backend_environment_name} für die spezifische Umgebung. Sie müssen die Standardeinstellung angeben AWS KMS key , damit Amplify den Wert entschlüsseln kann.

Auf Geheimnisse der Umgebung zugreifen

Der Zugriff auf ein Umgebungsgeheimnis während eines Builds ähnelt dem Zugriff auf Umgebungsvariablen, außer dass Umgebungsgeheimnisse in process.env.secrets einer JSON-Zeichenfolge gespeichert werden.

Amplify Sie die Geheimnisse der Umgebung

Geben Sie einen Systems Manager Manager-Parameter im Format an/amplify/{your_app_id}/{your_backend_environment_name}/AMPLIFY_SIWA_CLIENT_ID.

Sie können die folgenden Umgebungsgeheimnisse verwenden, auf die standardmäßig in der Amplify-Konsole zugegriffen werden kann.

Variablenname Beschreibung Beispielwert

AMPLIFY_SIWA_CLIENT_ID

Die Anmeldung mit der Apple-Client-ID

com.yourapp.auth

AMPLIFY_SIWA_TEAM_ID

Die Anmeldung mit der Apple-Team-ID

ABCD123

AMPLIFY_SIWA_KEY_ID

Die Anmeldung mit der Apple-Schlüssel-ID

ABCD123

AMPLIFY_SIWA_PRIVATE_KEY

Die Anmeldung mit dem privaten Apple-Schlüssel

-----BEGINNE MIT DEM PRIVATEN SCHLÜSSEL-----

****......

-----ENDE DES PRIVATEN SCHLÜSSELS-----