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 | Azure DevOps Server 2022
Gli sviluppatori possono usare Azure Key Vault per archiviare e gestire in modo sicuro informazioni riservate, ad esempio password, chiavi API e certificati. Questo articolo illustra come interrogare e usare segreti da un insieme di credenziali in Azure Key Vault nella propria pipeline.
Prerequisiti
| Product | Requisiti |
|---|---|
| Azure DevOps | - Un progetto Azure DevOps. -Autorizzazioni: - Per concedere l'accesso a tutte le pipeline nel progetto: devi essere membro del gruppo Project Administrators. - Per creare connessioni al servizio: è necessario avere il ruolo Amministratore o Creator per le connessioni al servizio. |
| GitHub | - Un account GitHub e un repository GitHub. - Una connessione al servizio GitHub per autorizzare Azure Pipelines. |
| Azzurro | - Una sottoscrizione di Azure . |
Creare un insieme di credenziali delle chiavi
Accedere al portale di Azure e quindi selezionare Crea una risorsa.
In Key Vault selezionare Crea per creare un nuovo Azure key vault.
Selezionare la sottoscrizione dal menu a discesa e quindi selezionare un gruppo di risorse esistente o crearne uno nuovo. Immettere il nome del deposito di chiavi, selezionare una regione, scegliere un piano tariffario e selezionare Avanti per configurare altre proprietà. In caso contrario, selezionare Rivedi e crea per mantenere le impostazioni predefinite.
Una volta completata la distribuzione, selezionare Vai alla risorsa.
Configurare l'autenticazione
Creare un'identità gestita assegnata dall'utente
Accedere al portale Azure e quindi cercare il servizio Managed Identities nella barra di ricerca.
Selezionare Crea e quindi compilare i campi obbligatori:
- Sottoscrizione: selezionare la sottoscrizione dal menu a discesa.
- Gruppo di risorse: selezionare un gruppo di risorse esistente o crearne uno nuovo.
- Area: selezionare un'area dal menu a discesa.
- Nome: immetti un nome per l'identità gestita assegnata dall'utente.
Al termine, selezionare Rivedi e crea .
Una volta completata la distribuzione, selezionare Vai alla risorsa. Copiare la sottoscrizione e l'ID client perché sono necessari nei passaggi successivi.
Passare a Impostazioni>Proprietà e copiare il l'ID tenant dell'identità gestita per essere utilizzato in un secondo momento.
Configurare le politiche di accesso del Key Vault
Vai al Azure Portal e usa la barra di ricerca per trovare il Key Vault creato in precedenza.
Selezionare Criteri di accesso e quindi Crea per aggiungere un nuovo criterio.
In Autorizzazioni segrete selezionare le caselle di controllo Recupera ed Elenco .
Selezionare Avanti e quindi incollare l'ID client dell'identità gestita creata in precedenza nella barra di ricerca.
Selezionare l'identità gestita, selezionare Avanti e quindi di nuovo Avanti .
Rivedi la tua nuova politica e quindi seleziona Crea al termine.
Creare una connessione al servizio
Accedere all'organizzazione di Azure DevOps e quindi passare al progetto.
Selezionare Impostazioni progetto>Connessioni al servizio e quindi selezionare Nuova connessione al servizio.
Selezionare Azure Resource Manager, quindi selezionare Avanti.
In Tipo di identità selezionare Identità gestita dal menu a discesa.
Per Passaggio 1: Dettagli identità gestita compilare i campi:
- Sottoscrizione per l'identità gestita: selezionare la sottoscrizione che contiene l'identità gestita.
- Gruppo di risorse per l'identità gestita: selezionare il gruppo di risorse in cui è ospitata l'identità gestita.
- Identità gestita: selezionare l'identità gestita dal menu a discesa.
Per Fase 2: Ambito Azure, compilare i campi:
- Livello di ambito per la connessione al servizio: selezionare Sottoscrizione.
- Sottoscrizione per la connessione al servizio: selezionare la sottoscrizione a cui accede l'identità gestita.
- Gruppo di risorse per la connessione al servizio: (facoltativo) Specificare questo elemento se si vuole limitare l'accesso a un gruppo di risorse specifico.
Per Passaggio 3: Dettagli connessione al servizio, compilare i campi:
- Nome connessione al servizio: immettere un nome per la connessione al servizio.
- Informazioni di riferimento sulla gestione dei servizi: (facoltativo) Includere informazioni di contesto da un database ITSM.
- Descrizione: (Facoltativo) Aggiungere una descrizione.
In Sicurezza selezionare la casella di controllo Concedi l'autorizzazione di accesso a tutte le pipeline per consentire a tutte le pipeline di usare questa connessione al servizio. Se si lascia vuota questa casella di controllo, è necessario concedere manualmente l'accesso per ogni pipeline.
Selezionare Salva per convalidare e creare la connessione al servizio.
Eseguire interrogazioni e usare segreti nel flusso di lavoro
Con l'attività Azure Key Vault, è ora possibile interrogare e recuperare segreti dal tuo key vault e usarli nelle attività successive nella pipeline. I segreti devono essere mappati in modo esplicito alle variabili di ambiente, come illustrato nell'esempio seguente:
pool:
vmImage: 'ubuntu-latest'
steps:
- task: AzureKeyVault@2 # Download Azure Key Vault secrets.
inputs:
azureSubscription: 'SERVICE_CONNECTION_NAME' # Name of the service connection. Alias: ConnectedServiceName.
KeyVaultName: 'KEY_VAULT_NAME' # Name of the key vault.
SecretsFilter: '*' # Secrets filter. Default: *.
- bash: |
echo "Secret Found! $MY_MAPPED_ENV_VAR"
env:
MY_MAPPED_ENV_VAR: $(SECRET_NAME)
L'output dell'ultimo passaggio Bash dovrebbe essere simile all'esempio seguente:
Secret Found! ***
Nota
Per eseguire query su più segreti da Key Vault, usare l'input SecretsFilter e fornire un elenco delimitato da virgole di nomi di segreti, ad esempio "secret1, secret2".