Gestire segreti crittografati
I segreti sono variabili di ambiente crittografate che è possibile creare per archiviare token, credenziali o qualsiasi altro tipo di informazioni riservate su cui si basano i flussi di lavoro e le azioni di GitHub Actions. Una volta creati, possono essere usati in tutti i flussi di lavoro e in tutte le azioni che hanno accesso all'organizzazione, al repository o all'ambiente del repository in cui sono archiviati.
In questa sezione verranno esaminati i diversi strumenti e le varie strategie disponibili in GitHub Enterprise Cloud e GitHub Enterprise Server per gestire l'utilizzo dei segreti crittografati. Verrà inoltre illustrato come accedere ai segreti crittografati nei flussi di lavoro e nelle azioni.
Gestire i segreti crittografati a livello di organizzazione
La creazione di segreti crittografati a livello di organizzazione per archiviare informazioni riservate è una scelta ottimale per garantire la sicurezza delle informazioni riducendo al minimo il sovraccarico di gestione in azienda.
Si supponga che alcuni sviluppatori che scrivono flussi di lavoro in GitHub a livello di organizzazione debbano disporre delle credenziali necessarie per distribuire il codice nell'ambiente di produzione. Per evitare di dover condividere informazioni riservate, è possibile creare un segreto crittografato contenente le credenziali a livello di organizzazione. Le credenziali possono quindi essere usate nei flussi di lavoro senza dover essere esposte.
Per creare un segreto a livello di organizzazione, passare alla sezione Impostazioni dell'organizzazione e, dalla barra laterale, selezionare Segreti e variabili > Azioni > Nuovo segreto dell'organizzazione. Nella schermata visualizzata immettere un nome e un valore e scegliere i criteri di accesso al repository relativi al segreto:
Dopo essere stati salvati, i criteri di accesso vengono visualizzati sotto il segreto corrispondente nell'elenco dei segreti:
È possibile selezionare Update (Aggiorna) per altri dettagli sulle autorizzazioni configurate per il segreto.
Gestire segreti crittografati a livello di repository
Se è necessario un segreto crittografato nell'ambito di un repository specifico, GitHub Enterprise Cloud e GitHub Enterprise Server consentono anche di creare segreti a livello di repository.
Per creare un segreto a livello di repository, passare al repository Impostazioni e, dalla barra laterale, selezionare Segreti e variabili > Azioni > Nuovo segreto repository. Nella schermata visualizzata immettere un nome e un valore per il segreto:
Accedere ai segreti crittografati all'interno di azioni e flussi di lavoro
Nei flussi di lavoro
Per accedere a un segreto crittografato in un flusso di lavoro, è necessario usare il contesto secrets
nel file del flusso di lavoro. Ad esempio:
steps:
- name: Hello world action
with: # Set the secret as an input
super_secret: ${{ secrets.SuperSecret }}
env: # Or as an environment variable
super_secret: ${{ secrets.SuperSecret }}
Nelle azioni
Per accedere a un segreto crittografato in un'azione, è necessario specificare il segreto come parametro input
nel file di metadati action.yml
. Ad esempio:
inputs:
super_secret:
description: 'My secret token'
required: true
Se è necessario accedere al segreto crittografato nel codice dell'azione, quest'ultimo può leggere il valore dell'input usando la variabile di ambiente $SUPER_SECRET
.
Avviso
Quando si creano azioni personalizzate, assicurarsi di non includere segreti crittografati nel codice sorgente dell'azione, poiché le azioni sono unità di lavoro condivisibili. Se nell'azione devono essere usati segreti crittografati o altri input forniti dall'utente, è preferibile usare il modulo di base disponibile in Actions Toolkit.