Questa esercitazione offre un'introduzione alla firma del codice con Azure DevOps, usando un certificato archiviato in Azure Key Vault. Per seguire queste istruzioni avrai bisogno di:
- An Account Azure
- A Progetto DevOps
- A Cassaforte delle chiavi
- A certificato di firma del codice installato in Key Vault. Puoi:
Vai a questo articolo per una guida su come integrare eSigner con Azure DevOps: Guida all'integrazione della firma nel cloud di Azure DevOps.
Registra un'applicazione Azure
Innanzitutto, dovrai registrare una nuova applicazione Azure in modo da poterti connettere a Key Vault per la firma.
- Accedi al Portale di Azure.
- Accedere a Directory attiva di Azure. (Clic Più servizi se l'icona di Azure Active Directory non è visibile.)
- Clicchi Registrazioni app, nella colonna di sinistra.
- Clicchi Nuova registrazione.
- Dai alla tua domanda un file Nome e fare clic sul Registrati pulsante. Lascia le altre impostazioni ai valori predefiniti.
- La tua nuova applicazione è stata registrata. Copia e salva il valore mostrato per ID dell'applicazione (client), perché ne avrai bisogno in seguito.
Crea un client secret
Quindi, genera un segreto client, che servirà come credenziale durante la firma.
- Clicchi Certificati e segreti nel menu a sinistra.
- Clicchi Nuovo segreto del cliente.
- Dai al tuo cliente un segreto Descrizione, impostare la scadenza come desiderato e fare clic su Aggiungi pulsante.
- copiare il Valore del tuo nuovo segreto cliente subito e conservalo in un luogo sicuro. Al successivo aggiornamento della pagina, questo valore sarà mascherato e non sarà più recuperabile.
Abilita l'accesso in Key Vault
Ora dovrai abilitare l'accesso per la tua applicazione in Azure Key Vault.
- Passare al Key Vault contenente il certificato che si desidera utilizzare per la firma e fare clic su Criteri di accesso collegamento.
- Clicchi Aggiungi politica di accesso.
- Sotto Autorizzazioni chiave, abilitare
Verify
,Sign
,Get
eList
.
- Sotto Autorizzazioni segrete, abilitare
Get
eList
.
- Sotto Autorizzazioni del certificato, abilitare
Get
eList
.
- Clicca su Nessuno selezionato link, sotto Seleziona preside, quindi utilizza il campo di ricerca per individuare e selezionare l'applicazione creata nella sezione precedente.
- Clicca su Seleziona pulsante.
- Clicca su Aggiungi pulsante.
- Clicchi Risparmi.
- La tua politica di accesso è impostata.
Configura DevOps Build
Ora puoi configurare la tua build. Apri il tuo progetto in Azure DevOps.
Memorizza le credenziali dell'applicazione come variabili
Puoi includere l'ID applicazione e il segreto client direttamente nel file della pipeline YAML, ma è più sicuro se li archivi come variabili in DevOps.
- Clicchi Condotte.
- Clicchi Biblioteca.
- Clicchi + Gruppo variabile.
- Assegna un nome al tuo gruppo di variabili.
- Clicchi Aggiungi.
- Immettere un nome di variabile per l'ID dell'applicazione, quindi incollare il valore. Fare clic sul lucchetto per crittografare la variabile una volta terminato.
- Ripeti il processo per aggiungere una variabile per il tuo segreto client.
- Clicchi Risparmi.
- Collega il gruppo di variabili nella tua pipeline. (sostituisci VARIABLE-GROUP con il nome del tuo attuale gruppo di variabili.)
variabili: - gruppo: 'VARIABLE-GROUP'
Aggiungi passaggio della pipeline per installare lo strumento di firma di Azure
Strumento per la firma di Azure è un'utilità open source che offre SignTool funzionalità per certificati e chiavi archiviate in Azure Key Vault. Aggiungere il passaggio seguente nella pipeline per installare lo strumento di firma di Azure:
- attività: DotNetCoreCLI @ 2 input: comando: 'custom' custom: 'tool' argomenti: 'install --global azuresigntool' displayName: Installa AzureSignTool
Aggiungi il comando dello strumento di firma di Azure alla pipeline
- Ora puoi aggiungere un'attività per firmare il tuo codice nella pipeline. Avrai bisogno delle seguenti informazioni:
- Aggiungi la chiamata allo strumento di firma di Azure alla tua pipeline. Sostituisci i valori mostrati in MAIUSCOLO con i tuoi valori effettivi:
- attività: CmdLine @ 2 input: script: AzureSignTool sign -kvu "KEY-VAULT-URI" -kvi "$ (APPLICATION-ID-VAR)" -kvs "$ (CLIENT-SECRET-VAR)" -kvc CERTIFICATE-NAME -tr "http://ts.ssl.com" -td sha256 "FILE-TO-SIGN" displayName: codice segno
- Dovresti vedere un output come questo se la firma ha esito positivo:
info: AzureSignTool.Program [0] => File: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe File di firma D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe info: AzureSignTool. Programma [0] => File: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe Firma completata con successo per il file D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe.