Variables de entorno - AWS Amplify Hospedaje

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Variables de entorno

Las variables de entorno son pares de valor clave que se pueden añadir a la configuración de la aplicación para que estén disponibles en Amplify Hosting. Como práctica recomendada, puede utilizar variables de entorno para exponer los datos de configuración de la aplicación. Todas las variables de entorno que añada se cifran para evitar el acceso no autorizado.

Amplify aplica las siguientes restricciones a las variables de entorno que cree.

  • Amplify no permite crear nombres de variables de entorno con un AWS prefijo. Este prefijo está reservado únicamente para el uso interno de Amplify.

  • El valor de una variable de entorno no puede superar los 5500 caracteres.

importante

No utilice variables de entorno para almacenar claves secretas. Para una aplicación de segunda generación, usa la función de administración secreta de la consola Amplify. Para obtener más información, consulte Secretos y variables de entorno en la documentación de Amplify. Si se trata de una aplicación de primera generación, guarda los secretos en un entorno secreto creado con el almacén de AWS Systems Manager parámetros. Para obtener más información, consulte Administrar los secretos del entorno.

Variables de entorno de Amplify

Las siguientes variables de entorno son accesibles de forma predeterminada en la consola de Amplify.

Nombre de variable Descripción Ejemplo de valor

_BUILD_TIMEOUT

El tiempo de espera de la compilación en minutos

30

_LIVE_UPDATES

La herramienta se actualizará a la última versión.

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

USER_DISABLE_TESTS

El paso de prueba se omite durante la compilación. Puede deshabilitar las pruebas en todas las ramificaciones o en ramificaciones específicas de una aplicación.

Esta variable de entorno se utiliza para las aplicaciones que realizan pruebas durante la fase de compilación. Para obtener más información sobre cómo configurar esta variable, consulte Desactivar las pruebas.

true

AWS_APP_ID

ID de aplicación de la compilación actual

abcd1234

AWS_BRANCH

Nombre de ramificación de la compilación actual

main, develop, beta, v2.0

AWS_BRANCH_ARN

La rama Amazon Resource Name (ARN) de la compilación actual

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

AWS_CLONE_URL

El clon URL utilizado para buscar el contenido del repositorio de git

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

AWS_COMMIT_ID

ID de confirmación de la compilación actual

«HEAD» para recompilaciones

abcd1234

AWS_JOB_ID

ID de trabajo de la compilación actual.

Este incluye relleno de ‘0’, por lo que siempre tiene la misma longitud.

0000000001

AWS_PULL_REQUEST_ID

El ID de la solicitud de extracción de la versión preliminar web de la solicitud de extracción.

Esta variable de entorno no está disponible cuando se utiliza AWS CodeCommit como proveedor de repositorios.

1

AWS_PULL_REQUEST_SOURCE_BRANCH

El nombre de la rama de funciones de una vista previa de una solicitud de extracción que se envía a una rama de aplicaciones en la consola de Amplify.

featureA

AWS_PULL_REQUEST_DESTINATION_BRANCH

El nombre de la rama de la aplicación en la consola de Amplify a la que se envía una solicitud de extracción de la rama de funciones.

main

AMPLIFY_AMAZON_CLIENT_ID

ID de cliente de Amazon

123456

AMPLIFY_AMAZON_CLIENT_SECRET

Secreto del cliente de Amazon

example123456

AMPLIFY_FACEBOOK_CLIENT_ID

ID de cliente de Facebook

123456

AMPLIFY_FACEBOOK_CLIENT_SECRET

Secreto del cliente de Facebook

example123456

AMPLIFY_GOOGLE_CLIENT_ID

ID de cliente de Google

123456

AMPLIFY_GOOGLE_CLIENT_SECRET

Secreto del cliente de Google

example123456

AMPLIFY_DIFF_DEPLOY

Habilite o deshabilite la implementación de frontend basada en diferencias. Para obtener más información, consulte Habilitar o deshabilitar la compilación e implementación de frontend basadas en diferencias.

true

AMPLIFY_DIFF_DEPLOY_ROOT

La ruta que se utilizará para realizar comparaciones de implementaciones de frontend basadas en diferencias en relación con la raíz del repositorio.

dist

AMPLIFY_DIFF_BACKEND

Habilite o deshabilite las compilaciones de backend basadas en diferencias. Esto se aplica únicamente a las aplicaciones de primera generación. Para obtener más información, consulte Habilita o deshabilita las compilaciones de backend basadas en diferencias para una aplicación de primera generación

true

AMPLIFY_BACKEND_PULL_ONLY

Amplify gestiona esta variable de entorno. Esto se aplica únicamente a las aplicaciones de primera generación. Para obtener más información, consulte Edite un frontend existente para que apunte a un backend distinto

true

AMPLIFY_BACKEND_APP_ID

Amplify gestiona esta variable de entorno. Esto se aplica únicamente a las aplicaciones de primera generación. Para obtener más información, consulte Edite un frontend existente para que apunte a un backend distinto.

abcd1234

AMPLIFY_SKIP_BACKEND_BUILD

Si no tiene una sección de backend en su especificación de compilación y desea deshabilitar las compilaciones de backend, establezca esta variable de entorno en true. Esto se aplica únicamente a las aplicaciones de primera generación.

true

AMPLIFY_ENABLE_DEBUG_OUTPUT

Establezca esta variable en true para imprimir un rastreo de pila en los registros. Esto resulta útil para depurar los errores de compilación del backend.

true

AMPLIFY_MONOREPO_APP_ROOT

La ruta que se utilizará para especificar la raíz de la aplicación de una aplicación monorepo en relación con la raíz de su repositorio.

apps/react-app

AMPLIFY_USERPOOL_ID

ID de grupo de usuarios de Amazon Cognito importado para autenticación

us-west-2_example

AMPLIFY_WEBCLIENT_ID

ID de cliente de aplicación que van a utilizar las aplicaciones web

El cliente de la aplicación debe configurarse con acceso al grupo de usuarios de Amazon Cognito especificado por la variable de entorno AMPLIFY _ USERPOOL _ID.

123456

AMPLIFY_NATIVECLIENT_ID

ID del cliente de aplicación que van a utilizar las aplicaciones nativas

El cliente de la aplicación debe configurarse con acceso al grupo de usuarios de Amazon Cognito especificado por la variable de entorno AMPLIFY _ USERPOOL _ID.

123456

AMPLIFY_IDENTITYPOOL_ID

ID de grupo de identidades de Amazon Cognito

example-identitypool-id

AMPLIFY_PERMISSIONS_BOUNDARY_ARN

El ARN para que la IAM política lo use como límite de permisos que se aplica a todos los IAM roles creados por Amplify. Para obtener más información, consulte Límite de IAM permisos para las funciones generadas por Amplify.

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

AMPLIFY_DESTRUCTIVE_UPDATES

Establezca esta variable de entorno en true para permitir que GraphQL API se actualice con operaciones de esquema que pueden provocar la pérdida de datos.

true

nota

Las variables de AMPLIFY_AMAZON_CLIENT_SECRET entorno AMPLIFY_AMAZON_CLIENT_ID y las variables de entorno son OAuth símbolos, no una clave de AWS acceso ni una clave secreta.

Configuración de las variables de entorno

Utilice las siguientes instrucciones para configurar las variables de entorno de una aplicación en la consola Amplify.

nota

Las variables de entorno se pueden ver en el menú de configuración de la aplicación de la consola de Amplify solo cuando se configura una aplicación para una implementación continua y conectada a un repositorio de git. Para obtener instrucciones sobre este tipo de implementación, consulte Primeros pasos con el código existente.

Cómo configurar variables de entorno
  1. Inicia sesión en la consola de Amplify AWS Management Console y ábrela.

  2. En la consola Amplify, selecciona Hosting y, a continuación, selecciona Variables de entorno.

  3. En Variables de entorno, elija Administrar variables.

  4. En Variable, introduce tu clave. En Valor, especifique su valor. De manera predeterminada, la consola de Amplify aplica las variables de entorno en todas las ramificaciones, de manera que no tenga que volver a introducir las variables cuando se conecta a una nueva ramificación.

  5. (Opcional) Para personalizar una variable de entorno específica de una ramificación, añada una anulación de ramificación de la siguiente manera:

    1. Elija Acciones y, a continuación, elija Añadir anulación de variable.

    2. Ahora tiene un conjunto de variables de entorno específicas de su ramificación.

  6. Seleccione Guardar.

Acceda a las variables de entorno en el momento de la compilación

Para acceder a una variable de entorno durante una compilación, edite la configuración de la compilación para incluir la variable de entorno en los comandos de compilación.

Cada comando de la configuración de compilación se ejecuta dentro de un intérprete de comandos Bash. Para obtener más información sobre cómo trabajar con variables de entorno en Bash, consulta las expansiones de Shell en el manual de GNU Bash.

Para editar la configuración de compilación con el fin de incluir una variable de entorno
  1. Inicia sesión en la consola de Amplify AWS Management Console y ábrela.

  2. En la consola Amplify, selecciona Hosting y, a continuación, selecciona Configuración de compilación.

  3. En la sección de especificación de compilación de aplicaciones, elija Editar.

  4. Añada la variable de entorno a su comando de compilación. Ahora debe poder acceder a la variable de entorno durante la siguiente compilación. En este ejemplo, se cambia el comportamiento del npm (BUILD_ENV) y se agrega un API token (TWITCH_CLIENT_ID) para un servicio externo a un archivo de entorno para su uso posterior.

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

Conversión de las variables de entorno en accesibles para los tiempos de ejecución del servidor

De forma predeterminada, un componente de servidor de Next.js no tiene acceso a las variables de entorno de su aplicación. Este comportamiento tiene como objetivo proteger cualquier secreto almacenado en las variables de entorno que utilice su aplicación durante la fase de compilación.

Para que Next.js pueda acceder a variables de entorno específicas, debe modificar el archivo de especificaciones de compilación de Amplify para establecer las variables de entorno en los archivos de entorno que reconoce Next.js. Esto permite a Amplify cargar las variables de entorno antes de compilar la aplicación. Para obtener más información sobre cómo modificar la especificación de compilación, consulte los ejemplos de cómo añadir variables de entorno en la sección de comandos de compilación.

Cree un nuevo entorno de backend con parámetros de autenticación para el inicio de sesión en redes sociales

Para conectar una ramificación a una aplicación
  1. Inicia sesión en la consola de Amplify AWS Management Console y ábrela.

  2. El procedimiento para conectar una ramificación a una aplicación varía en función de si se conecta una ramificación a una aplicación nueva o a una aplicación existente.

    • Conexión de una ramificación a una nueva aplicación

      1. En la página de configuración de compilación, busque la sección de selección de un entorno de backend para utilizarlo con esta ramificación. En Entorno, elija Crear un nuevo entorno e introduzca el nombre del entorno de backend. La siguiente captura de pantalla muestra la sección de selección de un entorno de backend para utilizarlo con esta ramificación de la página de configuración de compilación con el nombre de entorno de backend backend introducido.

        La sección Seleccione un entorno de back-end para usarlo con esta rama de la página de configuración de compilación.
      2. Amplíe la sección Configuración avanzada de la página Configuración de compilación y añada variables de entorno para las claves de inicio de sesión en redes sociales. Por ejemplo, AMPLIFY_FACEBOOK_CLIENT_SECRET es una variable de entorno válida. Para ver la lista de variables de entorno del sistema Amplify que están disponibles de forma predeterminada, consulte la tabla de Variables de entorno de Amplify.

    • Conexión de una ramificación a una aplicación existente

      1. Si va a conectar una nueva ramificación a una aplicación existente, configure las variables del entorno de inicio de sesión en redes sociales antes de conectar la ramificación. En el panel de navegación, elija Configuración de la aplicación y Variables de entorno.

      2. En la sección Variables de entorno, elija Administrar variables.

      3. En la sección Administrar variables, elija Añadir variable.

      4. En Variable (clave), introduzca su ID de cliente. En Valor, escriba la clave secreta del cliente.

      5. Elija Guardar.

Variables de entorno del marco de frontend

Si está desarrollando su aplicación con un marco de frontend que admite sus propias variables de entorno, es importante que comprenda que no son las mismas que las variables de entorno que configura en la consola de Amplify. Por ejemplo, React (con el prefijo REACT _APP) y Gatsby (con el prefijoGATSBY) permiten crear variables de entorno de ejecución que esos marcos agrupan automáticamente en la versión de producción de la interfaz de usuario. Para comprender los efectos del uso de estas variables de entorno para almacenar valores, consulte la documentación del marco de frontend que esté utilizando.

Almacenar valores confidenciales, como API las claves, dentro de estas variables de entorno prefijadas en el marco de la interfaz de usuario no es una buena práctica y no se recomienda en absoluto. Para ver un ejemplo del uso de las variables de entorno de tiempo de compilación de Amplify para este propósito, consulte Acceda a las variables de entorno en el momento de la compilación.

Administrar los secretos del entorno

Con el lanzamiento de Amplify Gen 2, el flujo de trabajo de los secretos del entorno se optimiza para centralizar la administración de los secretos y las variables de entorno en la consola Amplify. Para obtener instrucciones sobre cómo configurar y acceder a los secretos de una aplicación Amplify Gen 2, consulte Secretos y variables de entorno en la documentación de Amplify.

Los secretos de entorno de una aplicación de primera generación son similares a los de las variables de entorno, pero son pares clave-valor del almacén de AWS Systems Manager parámetros que se pueden cifrar. Algunos valores deben estar cifrados, como la clave privada del inicio de sesión con Apple de Amplify.

Establezca los secretos del entorno para una aplicación de primera generación y acceda a ellos

Usa las siguientes instrucciones para establecer un secreto de entorno para una aplicación Amplify de primera generación mediante la AWS Systems Manager consola.

Para establecer un secreto de entorno
  1. Inicie sesión en la AWS Systems Manager consola AWS Management Console y ábrala.

  2. En el panel de navegación, elija Administración de aplicaciones y, a continuación, elija Almacén de parámetros.

  3. En la página Almacén de parámetros de AWS Systems Manager, elija Crear parámetro.

  4. En la página Crear parámetro, en la sección Detalles de parámetro, haga lo siguiente:

    1. En Nombre, introduzca un parámetro con el formato /amplify/{your_app_id}/{your_backend_environment_name}/{your_parameter_name}.

    2. En Type (Tipo), elija SecureString.

    3. Como fuente de KMS clave, seleccione Mi cuenta corriente para usar la clave predeterminada para su cuenta.

    4. En Valor, introduzca el valor secreto para cifrarlo.

  5. Elija Crear parámetro.

nota

Amplify solo tiene acceso a las claves de la compilación del entorno específico de /amplify/{your_app_id}/{your_backend_environment_name}. Debe especificar el valor predeterminado AWS KMS key para permitir que Amplify descifre el valor.

Acceso a los secretos de entorno

Acceder a un secreto de entorno para una aplicación de primera generación durante una compilación es similar a acceder a las variables de entorno, excepto que los secretos de entorno se almacenan en forma de process.env.secrets cadena. JSON

Secretos de entorno de Amplify

Especifique un parámetro de Systems Manager en el formato /amplify/{your_app_id}/{your_backend_environment_name}/AMPLIFY_SIWA_CLIENT_ID.

Puede utilizar los siguientes secretos de entorno a los que se puede acceder de forma predeterminada en la consola de Amplify.

Nombre de variable Descripción Ejemplo de valor

AMPLIFY_SIWA_CLIENT_ID

ID de inicio de sesión con ID de cliente SignInWithApple

com.yourapp.auth

AMPLIFY_SIWA_TEAM_ID

ID de inicio de sesión con el equipo de Apple

ABCD123

AMPLIFY_SIWA_KEY_ID

ID clave de inicio de sesión con clave de Apple

ABCD123

AMPLIFY_SIWA_PRIVATE_KEY

Clave privada de inicio de sesión con Apple

-----BEGIN PRIVATE KEY-----

****......

-----END PRIVATE KEY-----