Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Le variabili segrete sono variabili crittografate che è possibile usare nelle pipeline senza esporre il relativo valore. Le variabili segrete possono essere usate per informazioni private come password, ID e altri dati di identificazione che non si desidera esporre in una pipeline. Le variabili segrete vengono crittografate inattive con una chiave RSA a 2048 bit e sono disponibili nell'agente per le attività e gli script da usare.
I modi consigliati per impostare le variabili segrete si trovano nell'interfaccia utente, in un gruppo di variabili e in un gruppo di variabili di Azure Key Vault. È anche possibile impostare le variabili segrete in uno script con un comando di registrazione, ma questo metodo non è consigliato perché chiunque possa accedere alla pipeline può anche visualizzare il segreto.
Le variabili segrete impostate nell'interfaccia utente delle impostazioni della pipeline per una pipeline hanno come ambito la pipeline in cui sono impostate. È possibile usare gruppi di variabili per condividere le variabili segrete tra le pipeline.
Variabile segreta nell'interfaccia utente
È possibile impostare le variabili segrete nell'editor della pipeline quando si modifica una singola pipeline. Per crittografare e creare un segreto di variabile della pipeline, selezionare l'icona di blocco.
Le variabili segrete sono impostate allo stesso modo per YAML e Classic.
Per impostare i segreti nell'interfaccia Web, seguire questa procedura:
- Passare alla pagina Pipeline, selezionare la pipeline appropriata e quindi selezionare Modifica.
- Individuare le Variabili per questa pipeline.
- Aggiungere o aggiornare la variabile.
- Selezionare l'opzione Mantieni questo valore segreto per archiviare la variabile in modo crittografato.
- Salva la pipeline.
Le variabili segrete vengono crittografate quando sono inattive con una chiave RSA a 2048 bit. I segreti sono disponibili nell'agente per le attività e gli script da utilizzare. Prestare attenzione a chi ha accesso per modificare la pipeline.
Importante
Si fa un tentativo di mascherare i segreti dalla visualizzazione nell'output di Azure Pipelines, ma è comunque necessario adottare precauzioni. Non mostrare mai i segreti nell'output. Alcuni sistemi operativi registrano gli argomenti della riga di comando. Non passare mai i segreti sulla riga di comando. È invece consigliabile eseguire il mapping dei segreti alle variabili di ambiente.
Non mascheriamo mai le sottostringhe dei segreti. Se, ad esempio, "abc123" viene impostato come segreto, "abc" non viene mascherato dai log. Lo scopo è evitare di mascherare i segreti a un livello troppo granulare, rendendo illeggibili i log. Per questo motivo, i segreti non dovrebbero contenere dati strutturati. Se, ad esempio, "{ "foo": "bar" }" è impostato come segreto, "bar" non viene mascherato nei log.
A differenza di una variabile normale, non vengono decrittografati automaticamente nelle variabili di ambiente per gli script. È necessario eseguire il mapping esplicito delle variabili segrete.
Usare una variabile segreta nell'interfaccia utente
È necessario mappare le variabili segrete come variabili di ambiente per poterle riferire nelle pipeline YAML. In questo esempio sono presenti due variabili segrete definite nell'interfaccia utente e SecretOne
SecretTwo
. Il valore di SecretOne
è foo
e il valore di SecretTwo
è bar
.
steps:
- powershell: |
Write-Host "My first secret variable is $env:FOO_ONE"
$env:FOO_ONE -eq "foo"
env:
FOO_ONE: $(SecretOne)
- bash: |
echo "My second secret variable: $FOO_TWO"
if [ "$FOO_TWO" = "bar" ]; then
echo "Strings are equal."
else
echo "Strings are not equal."
fi
env:
FOO_TWO: $(SecretTwo)
Gli output della pipeline:
My first secret variable is ***
True
My second secret variable: ***
Strings are equal.
Nota
Azure Pipelines si impegna a mascherare i segreti durante l'emissione di dati nei log della pipeline, pertanto è possibile visualizzare variabili aggiuntive e dati mascherati nell'output e nei log che non sono impostati come segreti.
Per un esempio più dettagliato, vedere Definire le variabili.
Impostare una variabile privata in un gruppo di variabili
È possibile aggiungere segreti a un gruppo di variabili o collegare segreti da un Azure Key Vault esistente.
Creare nuovi gruppi di variabili
Selezionare Pipelines>Libreria>+ Gruppo di variabili.
Immettere un nome e una descrizione per il gruppo.
Facoltativo: spostare la levetta per collegare i segreti di un Azure Key Vault come variabili. Per ulteriori informazioni, vedere Utilizzare i segreti di Azure Key Vault.
Immettere il nome e il valore per ogni variabile da includere nel gruppo, scegliendo + Aggiungi per ognuno di essi.
Per proteggere la variabile, scegliere l'icona "blocca" alla fine della riga.
Al termine dell'aggiunta di variabili, selezionare Salva.
I gruppi di variabili seguono il modello di sicurezza della libreria.
Collegare i segreti di un Azure Key Vault
È possibile creare gruppi di variabili e collegarli a un Key Vault di Azure esistente, consentendo di mappare ai segreti archiviati nel Key Vault. Solo i nomi dei segreti vengono mappati al gruppo di variabili, non ai valori dei segreti. Le esecuzioni della pipeline che si collegano al gruppo di variabili recuperano i valori segreti più recenti dall'archivio. Per altre informazioni, vedere Collegare un gruppo di variabili ai segreti in Azure Key Vault.
Usa l'attività di Azure Key Vault
È possibile usare l'attività Azure Key Vault per includere segreti nella pipeline. Questa attività consente alla pipeline di connettersi ad Azure Key Vault e recuperare i segreti da utilizzare come variabili della pipeline.
Nell'editor della pipeline selezionare Mostra assistente per espandere il pannello degli assistenti.
Cerca
vault
e seleziona l'attività Azure Key Vault.
L'opzione Rendi i segreti disponibili per l'intero processo non è attualmente supportata in Azure DevOps Server 2019 e 2020.
Per altre informazioni sull'attività Azure Key Vault, vedere Usare i segreti di Azure Key Vault in Azure Pipelines.
Impostare una variabile segreta in uno script con i comandi di registrazione
È possibile usare il task.setvariable
comando di registrazione per impostare le variabili negli script di PowerShell e Bash. Questo metodo è il modo meno sicuro per lavorare con le variabili segrete, ma può essere utile per il debug. I modi consigliati per impostare le variabili segrete si trovano nell'interfaccia utente, in un gruppo di variabili e in un gruppo di variabili di Azure Key Vault.
Per impostare una variabile come script con un comando di registrazione, è necessario passare il flag issecret
.
Se issecret
è impostato su true, il valore della variabile verrà salvato come segreto e mascherato dai log.
Nota
Azure Pipelines si impegna a mascherare i segreti durante l'emissione di dati nei log della pipeline, pertanto è possibile visualizzare variabili aggiuntive e dati mascherati nell'output e nei log che non sono impostati come segreti.
Impostare la variabile segreta mySecretVal
.
- bash: |
echo "##vso[task.setvariable variable=mySecretVal;issecret=true]secretvalue"
Ottenere la variabile mySecretVal
privata .
- bash: |
echo "##vso[task.setvariable variable=mySecretVal;issecret=true]secretvalue"
- bash: |
echo $(mySecretVal)
Risultato delle variabili segrete in bash.
Altre informazioni sull'impostazione e sull'uso delle variabili negli script.