Delen via


Azure Key Vault-geheimen gebruiken in uw pijplijn

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Met Azure Key Vaults kunnen ontwikkelaars veilig gevoelige informatie opslaan en beheren, zoals wachtwoorden, API-sleutels en certificaten. In dit artikel wordt uitgelegd hoe u geheimen uit een Azure Key Vault in uw pijplijn opvraagt en gebruikt.

Vereisten

Product Eisen
Azure DevOps - Een Azure DevOps-project.
- Toestemmingen:
    - Als u toegang wilt verlenen tot alle pijplijnen in het project: u moet lid zijn van de groep Projectbeheerders.
    - Als u serviceverbindingen wilt maken: u moet de Administrator- of Creator- rol hebben voor serviceverbindingen.
GitHub - Een GitHub-account en een GitHub-opslagplaats.
- Een GitHub-serviceverbinding om Azure Pipelines te autoriseren.
Azuur - Een Azure-abonnement.

Een Key Vault maken

  1. Meld u aan bij de Azure-portal en selecteer Resource maken.

  2. Onder Key Vault, selecteer Maken om een nieuwe Azure Key Vault te maken.

  3. Selecteer uw abonnement in de vervolgkeuzelijst en selecteer vervolgens een bestaande resourcegroep of maak een nieuwe. Voer een sleutelkluisnaam in, selecteer een regio, kies een prijscategorie en selecteer Volgende als u aanvullende eigenschappen wilt configureren. Anders, selecteer Beoordelen en aanmaken om de standaardinstellingen te behouden.

  4. Zodra de implementatie is voltooid, selecteert u Ga naar de resource.

Verificatie instellen

Een door de gebruiker toegewezen beheerde identiteit maken

  1. Meld u aan bij Azure Portal en zoek vervolgens naar de service Beheerde identiteiten in de zoekbalk.

  2. Selecteer Maken en vul de vereiste velden als volgt in:

    • Abonnement: Selecteer uw abonnement in de vervolgkeuzelijst.
    • Resourcegroep: Selecteer een bestaande resourcegroep of maak een nieuwe.
    • Regio: Selecteer een regio in de vervolgkeuzelijst.
    • Naam: voer een naam in voor uw door de gebruiker toegewezen beheerde identiteit.
  3. Selecteer Beoordelen en maken wanneer u klaar bent.

  4. Zodra de implementatie is voltooid, selecteert u Ga naar de resource en kopieert u vervolgens het abonnement en de client-id. U hebt deze nodig in de volgende stappen.

  5. Navigeer naar Eigenschappen van instellingen> en kopieer de tenant-id van uw beheerde identiteit om later te gebruiken.

Toegangsbeleid voor key vault instellen

  1. Navigeer naar Azure Portal en gebruik de zoekbalk om de sleutelkluis te vinden die u eerder hebt gemaakt.

  2. Selecteer Toegangsbeleid en selecteer vervolgens Maken om een nieuw beleid toe te voegen.

  3. Schakel onder Geheime machtigingen de selectievakjesOphalen en Lijst in.

  4. Selecteer Volgende en plak vervolgens de client-id van de beheerde identiteit die u eerder hebt gemaakt in de zoekbalk.

  5. Selecteer uw beheerde identiteit, selecteer Volgende en vervolgens Nogmaals Volgende .

  6. Controleer uw nieuwe beleid en selecteer Vervolgens Maken wanneer u klaar bent.

Een serviceverbinding maken

  1. Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.

  2. SelecteerServiceverbindingen voor> en selecteer vervolgens Nieuwe serviceverbinding.

  3. Selecteer Azure Resource Manager en selecteer daarna Volgende.

  4. Selecteer onder Identiteitstypebeheerde identiteit in de vervolgkeuzelijst.

  5. Vul voor stap 1: Details van beheerde identiteit de velden als volgt in:

    • Abonnement voor beheerde identiteit: selecteer het abonnement dat uw beheerde identiteit bevat.

    • Resourcegroep voor beheerde identiteit: selecteer de resourcegroep waarin uw beheerde identiteit wordt gehost.

    • Beheerde identiteit: selecteer uw beheerde identiteit in de vervolgkeuzelijst.

  6. Vul voor stap 2: Azure Scope de velden als volgt in:

    • Bereikniveau voor serviceverbinding: Selecteer Abonnement.

    • Abonnement voor serviceverbinding: selecteer het abonnement waartoe uw beheerde identiteit toegang heeft.

    • Resourcegroep voor serviceverbinding: (optioneel) Geef dit op als u de toegang tot een specifieke resourcegroep wilt beperken.

  7. Voor stap 3: Serviceverbindingsgegevens:

    • Serviceverbindingsnaam: geef een naam op voor uw serviceverbinding.

    • Naslaginformatie over servicebeheer: (optioneel) Neem contextinformatie op uit een ITSM-database.

    • Beschrijving: (Optioneel) Voeg een beschrijving toe.

  8. Schakel onder Beveiliging het selectievakje Toegang verlenen toe aan alle pijplijnen om toe te staan dat alle pijplijnen deze serviceverbinding gebruiken. Als u dit uitgeschakeld laat, moet u handmatig toegang verlenen voor elke pijplijn.

  9. Selecteer Opslaan om de serviceverbinding te valideren en te maken.

    Een schermopname van het maken van een verbinding met een ARM-service voor beheerde identiteiten.

Geheimen in uw pijplijn opvragen en gebruiken

Met behulp van de Azure Key Vault-taak kunt u nu geheimen opvragen en ophalen uit Azure Key Vault en deze gebruiken in volgende taken in uw pijplijn. Houd er rekening mee dat geheimen expliciet moeten worden toegewezen aan omgevingsvariabelen, zoals wordt weergegeven in het volgende voorbeeld:

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: AzureKeyVault@1
  inputs:
    azureSubscription: 'SERVICE_CONNECTION_NAME'
    KeyVaultName: 'KEY_VAULT_NAME'
    SecretsFilter: '*'

- bash: |
    echo "Secret Found! $MY_MAPPED_ENV_VAR"        
  env:
    MY_MAPPED_ENV_VAR: $(SECRET_NAME)

De uitvoer van de laatste bash-stap moet er als volgt uitzien:

Secret Found! ***

Notitie

Als u meerdere geheimen uit uw Azure Key Vault wilt opvragen, gebruikt u de SecretsFilter invoer en geeft u een door komma's gescheiden lijst met geheime namen op, zoals: 'secret1, secret2'.