Variables d’environnement - AWS Amplify Hébergement

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Variables d’environnement

Les variables d'environnement sont des paires clé-valeur que vous pouvez ajouter aux paramètres de votre application pour les mettre à la disposition d'Amplify Hosting. La meilleure pratique consiste à utiliser des variables d'environnement pour exposer les données de configuration des applications. Toutes les variables d'environnement que vous ajoutez sont chiffrées pour empêcher tout accès non autorisé.

Amplify ne vous permet pas de créer des variables d'environnement avec un AWS préfixe. Ce préfixe est réservé à un usage interne d'Amplify uniquement.

Important

N'utilisez pas de variables d'environnement pour stocker des secrets. Stockez les secrets dans un secret d'environnement créé à l'aide du AWS Systems Manager Parameter Store. Pour plus d’informations, consultez Secrets environnementaux.

Amplifier les variables d'environnement

Les variables d'environnement suivantes sont accessibles par défaut dans la console Amplify.

Nom de variable Description Exemple de valeur

_BUILD_TIMEOUT

Durée du délai de construction en minutes

30

_LIVE_UPDATES

L'outil sera mis à niveau vers la dernière version.

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

USER_DISABLE_TESTS

L'étape de test est ignorée lors d'une génération. Vous pouvez désactiver les tests pour toutes les branches ou pour des branches spécifiques d'une application.

Cette variable d'environnement est utilisée pour les applications qui effectuent des tests pendant la phase de création. Pour plus d'informations sur la définition de cette variable, consultezDésactivation des tests.

true

AWS_APP_ID

ID d'application du build actuel

abcd1234

AWS_BRANCH

Nom de branche du build actuel

main, develop, beta, v2.0

AWS_BRANCH_ARN

La branche Amazon Resource Name (ARN) de la version actuelle

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

AWS_CLONE_URL

URL clone utilisée pour extraire le contenu du référentiel git

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

AWS_COMMIT_ID

L'ID de validation de la version actuelle

« HEAD » pour les reconstructions

abcd1234

AWS_JOB_ID

ID de tâche du build actuel.

Cela inclut un rembourrage de « 0 » afin qu'il ait toujours la même longueur.

0000000001

AWS_PULL_REQUEST_ID

L'ID de pull request de la version préliminaire Web de la pull request.

Cette variable d'environnement n'est pas disponible lorsque vous l'utilisez en AWS CodeCommit tant que fournisseur de référentiel.

1

AWS_PULL_REQUEST_SOURCE_BRANCH

Nom de la branche de fonctionnalité pour un aperçu de pull request soumis à une branche d'application dans la console Amplify.

featureA

AWS_PULL_REQUEST_DESTINATION_BRANCH

Nom de la branche d'application de la console Amplify à laquelle une pull request de branche de fonctionnalité est soumise.

main

AMPLIFY_AMAZON_CLIENT_ID

L'identifiant du client Amazon

123456

AMPLIFY_AMAZON_CLIENT_SECRET

Le secret du client Amazon

example123456

AMPLIFY_FACEBOOK_CLIENT_ID

L'identifiant du client Facebook

123456

AMPLIFY_FACEBOOK_CLIENT_SECRET

Le secret du client de Facebook

example123456

AMPLIFY_GOOGLE_CLIENT_ID

L'identifiant du client Google

123456

AMPLIFY_GOOGLE_CLIENT_SECRET

Le secret du client de Google

example123456

AMPLIFY_DIFF_DEPLOY

Activez ou désactivez le déploiement frontal basé sur les différences. Pour plus d’informations, consultez Activer ou désactiver la création et le déploiement du frontend basé sur les différences.

true

AMPLIFY_DIFF_DEPLOY_ROOT

Le chemin à utiliser pour les comparaisons de déploiements frontaux basées sur les différences, par rapport à la racine de votre référentiel.

dist

AMPLIFY_DIFF_BACKEND

Activez ou désactivez les versions de backend basées sur les différences. Cela s'applique uniquement aux applications Gen 1. Pour plus d’informations, consultez Activer ou désactiver les versions de backend basées sur les différences pour une application de première génération.

true

AMPLIFY_BACKEND_PULL_ONLY

Amplify gère cette variable d'environnement. Cela s'applique uniquement aux applications Gen 1. Pour plus d’informations, consultez Modifier un frontend existant pour qu'il pointe vers un autre backend.

true

AMPLIFY_BACKEND_APP_ID

Amplify gère cette variable d'environnement. Cela s'applique uniquement aux applications Gen 1. Pour plus d’informations, consultez Modifier un frontend existant pour qu'il pointe vers un autre backend.

abcd1234

AMPLIFY_SKIP_BACKEND_BUILD

Si votre spécification de build ne contient aucune section de backend et que vous souhaitez désactiver les builds de backend, définissez cette variable d'environnement sur. true Cela s'applique uniquement aux applications Gen 1.

true

AMPLIFY_ENABLE_DEBUG_OUTPUT

Définissez cette variable sur true pour imprimer une trace de pile dans les journaux. Cela est utile pour corriger les erreurs de compilation du backend.

true

AMPLIFY_MONOREPO_APP_ROOT

Le chemin à utiliser pour spécifier la racine d'une application monorepo, par rapport à la racine de votre dépôt.

apps/react-app

AMPLIFY_USERPOOL_ID

L'ID du groupe d'utilisateurs Amazon Cognito importé pour l'authentification

us-west-2_example

AMPLIFY_WEBCLIENT_ID

L'ID du client d'application à utiliser par les applications Web

Le client de l'application doit être configuré pour accéder au groupe d'utilisateurs Amazon Cognito spécifié par la variable d'environnement AMPLIFY_USERPOOL_ID.

123456

AMPLIFY_NATIVECLIENT_ID

L'ID du client d'application à utiliser par les applications natives

Le client de l'application doit être configuré pour accéder au groupe d'utilisateurs Amazon Cognito spécifié par la variable d'environnement AMPLIFY_USERPOOL_ID.

123456

AMPLIFY_IDENTITYPOOL_ID

L'ID du pool d'identités Amazon Cognito

example-identitypool-id

AMPLIFY_PERMISSIONS_BOUNDARY_ARN

L'ARN que la politique IAM doit utiliser comme limite d'autorisations qui s'applique à tous les rôles IAM créés par Amplify. Pour plus d'informations, consultez la section Limite des autorisations IAM pour les rôles générés par Amplify.

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

AMPLIFY_DESTRUCTIVE_UPDATES

Définissez cette variable d'environnement sur true pour permettre à une API GraphQL d'être mise à jour avec des opérations de schéma susceptibles de provoquer une perte de données.

true

Note

Les variables d'AMPLIFY_AMAZON_CLIENT_SECRETenvironnement AMPLIFY_AMAZON_CLIENT_ID et sont des jetons OAuth, et non une clé d' AWS accès ou une clé secrète.

Définir les variables d'environnement

Utilisez les instructions suivantes pour définir les variables d'environnement d'une application dans la console Amplify.

Note

Les variables d'environnement ne sont visibles dans le menu des paramètres de l'application de la console Amplify que lorsqu'une application est configurée pour un déploiement continu et connectée à un référentiel git. Pour obtenir des instructions sur ce type de déploiement, voir Commencer avec le code existant.

Pour définir des variables d'environnement
  1. Connectez-vous à la console Amplify AWS Management Console et ouvrez-la.

  2. Dans la console Amplify, choisissez Hosting, puis choisissez Environment variables.

  3. Sur la page Variables d'environnement, sélectionnez Gérer les variables.

  4. Pour Variable, entrez votre clé. Dans Valeur, entrez votre valeur. Par défaut, Amplify applique les variables d'environnement à toutes les branches, de sorte que vous n'avez pas à saisir à nouveau les variables lorsque vous connectez une nouvelle branche.

  5. (Facultatif) Pour personnaliser une variable d'environnement spécifiquement pour une branche, ajoutez une dérogation de branche comme suit :

    1. Choisissez Actions, puis sélectionnez Ajouter un remplacement de variable.

    2. Vous disposez maintenant d'un ensemble de variables d'environnement spécifique à votre branche.

  6. Choisissez Enregistrer.

Accédez aux variables d'environnement au moment de la création

Pour accéder à une variable d'environnement pendant une génération, modifiez vos paramètres de génération pour inclure la variable d'environnement dans vos commandes de génération.

Chaque commande de votre configuration de build s'exécute dans un shell Bash. Pour plus d'informations sur l'utilisation des variables d'environnement dans Bash, consultez les extensions Shell dans le manuel GNU Bash.

Pour modifier les paramètres de compilation afin d'inclure une variable d'environnement
  1. Connectez-vous à la console Amplify AWS Management Console et ouvrez-la.

  2. Dans la console Amplify, choisissez Hosting, puis Build settings.

  3. Dans la section Spécification de construction de l'application, choisissez Modifier.

  4. Ajoutez la variable d'environnement à votre commande de génération. Vous devez maintenant être en mesure d'accéder à votre variable d'environnement lors de la génération suivante. Cet exemple modifie le comportement du npm (BUILD_ENV) et ajoute un jeton d'API (TWITCH_CLIENT_ID) pour un service externe à un fichier d'environnement pour une utilisation ultérieure.

    build: commands: - npm run build:$BUILD_ENV - echo "TWITCH_CLIENT_ID=$TWITCH_CLIENT_ID" >> backend/.env
  5. Choisissez Enregistrer.

Rendre les variables d'environnement accessibles aux environnements d'exécution côté serveur

Par défaut, un composant serveur Next.js n'a pas accès aux variables d'environnement de votre application. Ce comportement est intentionnel pour protéger les secrets stockés dans les variables d'environnement que votre application utilise pendant la phase de génération.

Pour rendre des variables d'environnement spécifiques accessibles à Next.js, vous devez modifier le fichier de spécification de build Amplify afin de définir les variables d'environnement dans les fichiers d'environnement reconnus par Next.js. Cela permet à Amplify de charger les variables d'environnement avant de créer l'application. Pour plus d'informations sur la modification de votre spécification de construction, consultez les exemples d'ajout de variables d'environnement dans la section des commandes de construction.

Création d'un nouvel environnement principal avec des paramètres d'authentification pour la connexion sociale

Pour connecter une succursale à une application
  1. Connectez-vous à la console Amplify AWS Management Console et ouvrez-la.

  2. La procédure de connexion d'une branche à une application varie selon que vous connectez une succursale à une nouvelle application ou à une application existante.

    • Connecter une succursale à une nouvelle application

      1. Sur la page des paramètres de génération, recherchez la section Sélectionnez un environnement principal à utiliser avec cette branche. Pour Environnement, choisissez Créer un nouvel environnement et entrez le nom de votre environnement principal. La capture d'écran suivante montre la section Sélectionnez un environnement principal à utiliser avec cette branche de la page des paramètres de génération avec le backend nom de l'environnement principal saisi.

        Capture d'écran de la section Déploiements du backend dans la console Amplify.
      2. Développez la section Paramètres avancés sur la page des paramètres de création et ajoutez des variables d'environnement pour les clés de connexion aux réseaux sociaux. Par exemple, AMPLIFY_FACEBOOK_CLIENT_SECRET est une variable d'environnement valide. Pour la liste des variables d'environnement du système Amplify disponibles par défaut, consultez le tableau dans. Amplifier les variables d'environnement

    • Connecter une succursale à une application existante

      1. Si vous connectez une nouvelle branche à une application existante, définissez les variables d'environnement de connexion sociale avant de connecter la branche. Dans le volet de navigation, choisissez Paramètres de l'application, Variables d'environnement.

      2. Dans la section Variables d'environnement, sélectionnez Gérer les variables.

      3. Dans la section Gérer les variables, choisissez Ajouter une variable.

      4. Pour Variable (clé), entrez votre identifiant client. Dans Value, entrez le secret de votre client.

      5. Choisissez Enregistrer.

Variables d'environnement du framework frontal

Si vous développez votre application avec un framework frontal qui prend en charge ses propres variables d'environnement, il est important de comprendre que celles-ci ne sont pas identiques aux variables d'environnement que vous configurez dans la console Amplify. Par exemple, React (préfixé REACT_APP) et Gatsby (préfixé GATSBY) vous permettent de créer des variables d'environnement d'exécution que ces frameworks intègrent automatiquement dans la version de production de votre frontend. Pour comprendre les effets de l'utilisation de ces variables d'environnement pour stocker des valeurs, reportez-vous à la documentation du framework d'interface que vous utilisez.

Le stockage de valeurs sensibles, telles que les clés d'API, dans ces variables d'environnement préfixées par le framework frontal n'est pas une bonne pratique et est fortement déconseillé. Pour un exemple d'utilisation des variables d'environnement de temps de construction d'Amplify à cette fin, voirAccédez aux variables d'environnement au moment de la création.

Secrets environnementaux

Les secrets d'environnement sont similaires aux variables d'environnement, mais il s'agit de paires clé-valeur du magasin de paramètres AWS Systems Manager (SSM) qui peuvent être chiffrées. Certaines valeurs doivent être chiffrées, comme la clé privée de connexion avec Apple pour Amplify.

Définissez les secrets de l'environnement

Suivez les instructions suivantes pour définir un secret d'environnement pour une application Amplify à l'aide de la AWS Systems Manager console.

Pour définir un secret d'environnement
  1. Connectez-vous à la AWS Systems Manager console AWS Management Console et ouvrez-la.

  2. Dans le volet de navigation, choisissez Application Management, puis Parameter Store.

  3. Sur la page AWS Systems Manager Parameter Store, choisissez Create parameter.

  4. Sur la page Créer un paramètre, dans la section Détails du paramètre, procédez comme suit :

    1. Pour Nom, entrez un paramètre au format/amplify/{your_app_id}/{your_backend_environment_name}/{your_parameter_name}.

    2. Dans le champ Type, sélectionnez SecureString.

    3. Pour la source de clé KMS, choisissez Mon compte actuel pour utiliser la clé par défaut pour votre compte.

    4. Dans Valeur, entrez votre valeur secrète à chiffrer.

  5. Choisissez Créer un paramètre.

Note

Amplify n'a accès qu'aux clés situées sous le build /amplify/{your_app_id}/{your_backend_environment_name} de l'environnement spécifique. Vous devez spécifier la valeur par défaut AWS KMS key pour permettre à Amplify de déchiffrer la valeur.

Accédez aux secrets de l'environnement

L'accès à un secret d'environnement pendant une construction est similaire à l'accès à des variables d'environnement, sauf que les secrets d'environnement sont stockés process.env.secrets sous forme de chaîne JSON.

Amplifiez les secrets de l'environnement

Spécifiez un paramètre Systems Manager au format/amplify/{your_app_id}/{your_backend_environment_name}/AMPLIFY_SIWA_CLIENT_ID.

Vous pouvez utiliser les secrets d'environnement suivants, accessibles par défaut dans la console Amplify.

Nom de variable Description Exemple de valeur

AMPLIFY_SIWA_CLIENT_ID

La connexion à l'aide de l'identifiant client Apple

com.yourapp.auth

AMPLIFY_SIWA_TEAM_ID

La connexion à l'aide de l'identifiant d'équipe Apple

ABCD123

AMPLIFY_SIWA_KEY_ID

La connexion à l'aide de l'identifiant Apple Key

ABCD123

AMPLIFY_SIWA_PRIVATE_KEY

La clé privée de connexion avec Apple

-----COMMENCER LA CLÉ PRIVÉE-----

****......

-----FIN DE LA CLÉ PRIVÉE-----