Variabili di ambiente - AWS Amplify Ospitare

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Variabili di ambiente

Le variabili di ambiente sono coppie chiave-valore che puoi aggiungere alle impostazioni dell'applicazione per renderle disponibili ad Amplify Hosting. Come best practice, è possibile utilizzare le variabili di ambiente per esporre i dati di configurazione dell'applicazione. Tutte le variabili di ambiente aggiunte sono crittografate per impedire accessi non autorizzati.

Amplify applica i seguenti vincoli alle variabili di ambiente create.

  • Amplify non consente di creare nomi di variabili di ambiente con un prefisso. AWS Questo prefisso è riservato solo per uso interno di Amplify.

  • Il valore di una variabile di ambiente non può superare i 5500 caratteri.

Importante

Non utilizzare variabili di ambiente per memorizzare segreti. Per un'app di seconda generazione, utilizza la funzionalità di gestione segreta nella console Amplify. Per ulteriori informazioni, consulta Secrets and environment vars nella documentazione di Amplify. Per un'app di prima generazione, archivia i segreti in un ambiente segreto creato utilizzando Parameter Store. AWS Systems Manager Per ulteriori informazioni, consulta Gestione dei segreti ambientali.

Amplify le variabili di ambiente

Le seguenti variabili di ambiente sono accessibili per impostazione predefinita all'interno della console Amplify.

Nome della variabile Descrizione Valore di esempio

_BUILD_TIMEOUT

La durata del timeout di compilazione in minuti

30

_LIVE_UPDATES

Lo strumento verrà aggiornato alla versione più recente.

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

USER_DISABLE_TESTS

La fase di test viene saltata durante la compilazione. Puoi disabilitare i test per tutte le filiali o per quelle specifiche di un'app.

Questa variabile di ambiente viene utilizzata per le app che eseguono test durante la fase di compilazione. Per ulteriori informazioni sull'impostazione di questa variabile, vedereDisabilitazione dei test.

true

AWS_APP_ID

ID dell'applicazione della compilazione corrente

abcd1234

AWS_BRANCH

Nome del ramo della compilazione corrente

main, develop, beta, v2.0

AWS_BRANCH_ARN

La filiale Amazon Resource Name (ARN) della build corrente

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

AWS_CLONE_URL

URL di clonazione utilizzato per recuperare i contenuti del repository git

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

AWS_COMMIT_ID

L'ID di commit della build corrente

«HEAD» per le ricostruzioni

abcd1234

AWS_JOB_ID

ID processo della compilazione corrente.

Questo include una certa imbottitura di '0' in modo che abbia sempre la stessa lunghezza.

0000000001

AWS_PULL_REQUEST_ID

L'ID della pull request della build di anteprima web della pull request.

Questa variabile di ambiente non è disponibile quando viene utilizzata AWS CodeCommit come provider di repository.

1

AWS_PULL_REQUEST_SOURCE_BRANCH

Il nome del feature branch per l'anteprima di una pull request inviata a un ramo dell'applicazione nella console Amplify.

featureA

AWS_PULL_REQUEST_DESTINATION_BRANCH

Il nome del ramo dell'applicazione nella console Amplify a cui viene inviata una richiesta pull del feature branch.

main

AMPLIFY_AMAZON_CLIENT_ID

L'ID client Amazon

123456

AMPLIFY_AMAZON_CLIENT_SECRET

Il segreto del cliente Amazon

example123456

AMPLIFY_FACEBOOK_CLIENT_ID

L'ID del client di Facebook

123456

AMPLIFY_FACEBOOK_CLIENT_SECRET

Il segreto del client di Facebook

example123456

AMPLIFY_GOOGLE_CLIENT_ID

L'ID del client Google

123456

AMPLIFY_GOOGLE_CLIENT_SECRET

Il segreto del client Google

example123456

AMPLIFY_DIFF_DEPLOY

Abilita o disabilita la distribuzione frontend basata su diff. Per ulteriori informazioni, consulta Abilita o disabilita la creazione e la distribuzione del frontend basato su diff.

true

AMPLIFY_DIFF_DEPLOY_ROOT

Il percorso da utilizzare per i confronti delle distribuzioni frontend basate su diff, rispetto alla radice del repository.

dist

AMPLIFY_DIFF_BACKEND

Abilita o disabilita le build di backend basate su diff. Questo vale solo per le app di prima generazione. Per ulteriori informazioni, consulta Abilita o disabilita le build di backend basate su diff per un'app di prima generazione

true

AMPLIFY_BACKEND_PULL_ONLY

Amplify gestisce questa variabile d'ambiente. Questo vale solo per le app di prima generazione. Per ulteriori informazioni, consulta Modifica un frontend esistente in modo che punti a un backend diverso

true

AMPLIFY_BACKEND_APP_ID

Amplify gestisce questa variabile d'ambiente. Questo vale solo per le app di prima generazione. Per ulteriori informazioni, consulta Modifica un frontend esistente in modo che punti a un backend diverso

abcd1234

AMPLIFY_SKIP_BACKEND_BUILD

Se non hai una sezione di backend nelle specifiche della build e desideri disabilitare le build di backend, imposta questa variabile di ambiente su. true Questo vale solo per le app di prima generazione.

true

AMPLIFY_ENABLE_DEBUG_OUTPUT

Imposta questa variabile su true per stampare una traccia dello stack nei log. Questo è utile per il debug degli errori di compilazione del backend.

true

AMPLIFY_MONOREPO_APP_ROOT

Il percorso da utilizzare per specificare la radice dell'app di un'app monorepo, relativa alla radice del repository.

apps/react-app

AMPLIFY_USERPOOL_ID

L'ID per il pool di utenti di Amazon Cognito importato per l'autenticazione

us-west-2_example

AMPLIFY_WEBCLIENT_ID

L'ID del client dell'app che deve essere utilizzato dalle applicazioni Web

Il client dell'app deve essere configurato con l'accesso al pool di utenti di Amazon Cognito specificato dalla variabile di ambiente AMPLIFY_USERPOOL_ID.

123456

AMPLIFY_NATIVECLIENT_ID

L'ID del client dell'app che deve essere utilizzato dalle applicazioni native

Il client dell'app deve essere configurato con l'accesso al pool di utenti di Amazon Cognito specificato dalla variabile di ambiente AMPLIFY_USERPOOL_ID.

123456

AMPLIFY_IDENTITYPOOL_ID

L'ID per il pool di identità di Amazon Cognito

example-identitypool-id

AMPLIFY_PERMISSIONS_BOUNDARY_ARN

L'ARN per la policy IAM da utilizzare come limite di autorizzazioni che si applica a tutti i ruoli IAM creati da Amplify. Per ulteriori informazioni, consulta IAM Permissions Boundary for Amplify generated roles.

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

AMPLIFY_DESTRUCTIVE_UPDATES

Imposta questa variabile di ambiente su true per consentire l'aggiornamento di un'API GraphQL con operazioni di schema che possono potenzialmente causare la perdita di dati.

true

Nota

Le variabili AMPLIFY_AMAZON_CLIENT_ID di AMPLIFY_AMAZON_CLIENT_SECRET ambiente sono token OAuth, non una chiave di AWS accesso e una chiave segreta.

Impostazione delle variabili di ambiente

Usa le seguenti istruzioni per impostare le variabili di ambiente per un'applicazione nella console Amplify.

Nota

Le variabili di ambiente sono visibili nel menu delle impostazioni dell'app della console Amplify solo quando un'app è configurata per la distribuzione continua e connessa a un repository git. Per istruzioni su questo tipo di distribuzione, consulta Guida introduttiva al codice esistente.

Per impostare le variabili di ambiente
  1. Accedi AWS Management Console e apri la console Amplify.

  2. Nella console Amplify, scegli Hosting, quindi scegli Variabili di ambiente.

  3. Nella pagina Variabili di ambiente, scegli Gestisci variabili.

  4. Per Variabile, inserisci la tua chiave. Per Valore, inserisci il tuo valore. Per impostazione predefinita, Amplify applica le variabili di ambiente a tutti i rami, quindi non è necessario reinserire le variabili quando si collega un nuovo ramo.

  5. (Facoltativo) Per personalizzare una variabile di ambiente specifica per un ramo, aggiungete un branch override come segue:

    1. Scegliete Azioni, quindi scegliete Aggiungi override variabile.

    2. A questo punto è stata impostato un set di variabili d'ambiente specifiche per il branch.

  6. Selezionare Salva.

Accedi alle variabili di ambiente in fase di compilazione

Per accedere a una variabile d'ambiente durante una compilazione, modificare le impostazioni di compilazione, inclusa la variabile d'ambiente nei comandi di compilazione.

Ogni comando nella configurazione di build viene eseguito all'interno di una shell Bash. Per ulteriori informazioni su come lavorare con le variabili di ambiente in Bash, vedete Shell Expansions nel GNU Bash Manual.

Per modificare le impostazioni di compilazione per includere una variabile di ambiente
  1. Accedi AWS Management Console e apri la console Amplify.

  2. Nella console Amplify, scegli Hosting, quindi scegli Crea impostazioni.

  3. Nella sezione Specifiche di compilazione dell'app, scegli Modifica.

  4. Aggiungere la variabile d'ambiente al comando di compilazione. Ora dovrebbe essere possibile accedere alla variabile d'ambiente durante la prossima compilazione. Questo esempio modifica il comportamento di npm (BUILD_ENV) e aggiunge un token API (TWITCH_CLIENT_ID) per un servizio esterno a un file di ambiente per un uso successivo.

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

Rendere le variabili di ambiente accessibili ai runtime lato server

Per impostazione predefinita, un componente del server Next.js non ha accesso alle variabili di ambiente dell'app. Questo comportamento è intenzionale per proteggere tutti i segreti memorizzati nelle variabili di ambiente utilizzate dall'applicazione durante la fase di compilazione.

Per rendere accessibili variabili di ambiente specifiche a Next.js, è necessario modificare il file delle specifiche della build Amplify per impostare le variabili di ambiente nei file di ambiente riconosciute da Next.js. Ciò consente ad Amplify di caricare le variabili di ambiente prima di creare l'applicazione. Per ulteriori informazioni sulla modifica delle specifiche di build, consulta gli esempi di come aggiungere variabili di ambiente nella sezione comandi di compilazione.

Crea un nuovo ambiente di backend con parametri di autenticazione per l'accesso tramite social

Per connettere una filiale a un'app
  1. Accedi AWS Management Console e apri la console Amplify.

  2. La procedura per connettere una filiale a un'app varia a seconda che si stia connettendo una filiale a una nuova app o a un'app esistente.

    • Connessione di una filiale a una nuova app

      1. Nella pagina delle impostazioni di build, individua la sezione Seleziona un ambiente di backend da utilizzare con questo ramo. Per Ambiente, scegli Crea nuovo ambiente e inserisci il nome del tuo ambiente di backend. La schermata seguente mostra la sezione Seleziona un ambiente di backend da usare con questo ramo della pagina delle impostazioni di build con cui è stato backend inserito il nome dell'ambiente di backend.

        Schermata della sezione Distribuzioni di backend nella console Amplify.
      2. Espandi la sezione Impostazioni avanzate nella pagina delle impostazioni di creazione e aggiungi variabili di ambiente per le chiavi di accesso social. Ad esempio, AMPLIFY_FACEBOOK_CLIENT_SECRET è una variabile di ambiente valida. Per l'elenco delle variabili di ambiente del sistema Amplify disponibili per impostazione predefinita, vedere la tabella in. Amplify le variabili di ambiente

    • Connessione di una filiale a un'app esistente

      1. Se stai connettendo una nuova filiale a un'app esistente, imposta le variabili di ambiente di accesso social prima di connettere la filiale. Nel pannello di navigazione, scegli Impostazioni app, Variabili di ambiente.

      2. Nella sezione Variabili di ambiente, scegli Gestisci variabili.

      3. Nella sezione Gestisci variabili, scegli Aggiungi variabile.

      4. Per Variabile (chiave), inserisci il tuo ID cliente. In Value, inserisci il segreto del tuo cliente.

      5. Scegli, Salva.

Variabili di ambiente del framework frontend

Se stai sviluppando la tua app con un framework frontend che supporta le proprie variabili di ambiente, è importante capire che queste non sono le stesse variabili di ambiente che configuri nella console Amplify. Ad esempio, React (prefisso REACT_APP) e Gatsby (prefisso GATSBY), consentono di creare variabili di ambiente di runtime che tali framework raggruppano automaticamente nella build di produzione del frontend. Per comprendere gli effetti dell'utilizzo di queste variabili di ambiente per memorizzare valori, consulta la documentazione del framework di frontend che stai utilizzando.

La memorizzazione di valori sensibili, come le chiavi API, all'interno di queste variabili di ambiente con prefisso del framework di frontend non è una buona pratica ed è altamente sconsigliata. Per un esempio di utilizzo delle variabili di ambiente di compilazione di Amplify per questo scopo, vedi. Accedi alle variabili di ambiente in fase di compilazione

Gestione dei segreti ambientali

Con il rilascio di Amplify Gen 2, il flusso di lavoro per i segreti ambientali è semplificato per centralizzare la gestione dei segreti e delle variabili di ambiente nella console Amplify. Per istruzioni sull'impostazione e l'accesso ai segreti per un'app Amplify Gen 2, consulta Segreti e variabili di ambiente nella documentazione di Amplify.

I segreti ambientali per un'app di prima generazione sono simili alle variabili di ambiente, ma sono coppie di valori chiave di AWS Systems Manager Parameter Store che possono essere crittografate. Alcuni valori devono essere crittografati, ad esempio la chiave privata Accedi con Apple per Amplify.

Imposta e accedi ai segreti ambientali per un'app di prima generazione

Usa le seguenti istruzioni per impostare un ambiente segreto per un'app Amplify di prima generazione utilizzando la console. AWS Systems Manager

Per impostare un segreto ambientale
  1. Accedi a AWS Management Console e apri la AWS Systems Manager console.

  2. Nel riquadro di navigazione, scegli Gestione applicazioni, quindi scegli Parameter Store.

  3. Nella pagina AWS Systems Manager Parameter Store, scegli Crea parametro.

  4. Nella pagina Crea parametro, nella sezione Dettagli dei parametri, procedi come segue:

    1. Per Nome, immettete un parametro nel formato/amplify/{your_app_id}/{your_backend_environment_name}/{your_parameter_name}.

    2. In Type (Tipo) scegliere SecureString.

    3. Per la fonte della chiave KMS, scegli Il mio account corrente per utilizzare la chiave predefinita per il tuo account.

    4. In Value, inserisci il valore segreto da crittografare.

  5. Scegli, Crea parametro.

Nota

Amplify ha accesso solo alle chiavi contenute nella build /amplify/{your_app_id}/{your_backend_environment_name} dell'ambiente specifico. È necessario specificare l'impostazione predefinita AWS KMS key per consentire ad Amplify di decrittografare il valore.

Accedi ai segreti dell'ambiente

L'accesso a un segreto di ambiente per un'app di prima generazione durante una build è simile all'accesso alle variabili di ambiente, tranne per il fatto che i segreti di ambiente vengono archiviati process.env.secrets come stringa JSON.

I segreti dell'ambiente Amplify

Specificate un parametro Systems Manager nel formato/amplify/{your_app_id}/{your_backend_environment_name}/AMPLIFY_SIWA_CLIENT_ID.

È possibile utilizzare i seguenti segreti ambientali, accessibili per impostazione predefinita all'interno della console Amplify.

Nome della variabile Descrizione Valore di esempio

AMPLIFY_SIWA_CLIENT_ID

L'accesso con l'ID client Apple

com.yourapp.auth

AMPLIFY_SIWA_TEAM_ID

L'accesso con l'ID del team Apple

ABCD123

AMPLIFY_SIWA_KEY_ID

L'ID Accedi con la chiave Apple

ABCD123

AMPLIFY_SIWA_PRIVATE_KEY

L'accesso con la chiave privata Apple

-----CHIAVE PRIVATA DI INIZIO-----

****......

-----CHIAVE PRIVATA DI FINE CORSO-----