Dela via


Använda Azure Key Vault-hemligheter i pipelinen

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Med Azure Key Vault kan du lagra och hantera känslig information på ett säkert sätt, till exempel lösenord, API-nycklar, certifikat osv. Med Azure Key Vault kan du enkelt skapa och hantera krypteringsnycklar för att kryptera dina data. Azure Key Vault kan också användas för att hantera certifikat för alla dina resurser. I den här artikeln får du lära dig att:

  • Skapa ett Azure Key Vault.
  • Konfigurera dina Key Vault-behörigheter.
  • Skapa en ny tjänstanslutning.
  • Fråga efter hemligheter från din Azure Pipeline.

Förutsättningar

Skapa en Key Vault-lösning

  1. Logga in på Azure Portal och välj sedan Skapa en resurs.

  2. Under Key Vault väljer du Skapa för att skapa ett nytt Azure Key Vault.

  3. Välj din prenumeration på den nedrullningsbara menyn och välj sedan en befintlig resursgrupp eller skapa en ny. Ange ett key vault-namn, välj en region, välj en prisnivå och välj Nästa om du vill konfigurera ytterligare egenskaper. Annars väljer du Granska + skapa för att behålla standardinställningarna.

  4. När distributionen är klar väljer du Gå till resurs.

Konfigurera autentisering

Skapa en användartilldelad hanterad identitet

  1. Logga in på Azure Portal och sök sedan efter tjänsten Hanterade identiteter i sökfältet.

  2. Välj Skapa och fyll i de obligatoriska fälten på följande sätt:

    • Prenumeration: Välj din prenumeration på den nedrullningsbara menyn.
    • Resursgrupp: Välj en befintlig resursgrupp eller skapa en ny.
    • Region: Välj en region på den nedrullningsbara menyn.
    • Namn: Ange ett namn på din användartilldelade hanterade identitet.
  3. Välj Granska + skapa när du är klar.

  4. När distributionen är klar väljer du Gå till resurs och kopierar sedan de prenumerations - och klient-ID-värden som ska användas i kommande steg.

  5. Gå till Egenskaper för inställningar>och kopiera den hanterade identitetens klient-ID-värde för senare användning.

Konfigurera åtkomstprinciper för key vault

  1. Navigera till Azure Portal och använd sökfältet för att hitta nyckelvalvet som du skapade tidigare.

  2. Välj Åtkomstprinciper och sedan Skapa för att lägga till en ny princip.

  3. Under Hemliga behörigheter markerar du kryssrutorna Hämta och Lista .

  4. Välj Nästa och klistra sedan in klient-ID:t för den hanterade identitet som du skapade tidigare i sökfältet. Välj din hanterade identitet.

  5. Välj Nästa och sedan Nästa en gång till.

  6. Granska dina nya principer och välj sedan Skapa när du är klar.

Skapa en tjänstanslutning

  1. Logga in på din Azure DevOps-organisation och navigera sedan till projektet.

  2. Välj Projektinställningar>Tjänstanslutningar och välj sedan Ny tjänstanslutning för att skapa en ny tjänstanslutning.

  3. Välj Azure Resource Manager och välj sedan Nästa.

  4. För Identitetstyp väljer du Hanterad identitet på den nedrullningsbara menyn.

  5. För steg 1: Information om hanterad identitet fyller du i fälten på följande sätt:

    • Prenumeration för hanterad identitet: Välj den prenumeration som innehåller din hanterade identitet.

    • Resursgrupp för hanterad identitet: Välj den resursgrupp som är värd för din hanterade identitet.

    • Hanterad identitet: Välj din hanterade identitet på den nedrullningsbara menyn.

  6. För steg 2: Azure-omfång fyller du i fälten på följande sätt:

    • Omfångsnivå för tjänstanslutning: Välj Prenumeration.

    • Prenumeration för tjänstanslutning: Välj den prenumeration som din hanterade identitet ska komma åt.

    • Resursgrupp för tjänstanslutning: (Valfritt) Ange för att begränsa åtkomsten till hanterade identiteter till en resursgrupp.

  7. För steg 3: Information om tjänstanslutning:

    • Tjänstanslutningsnamn: Ange ett namn för tjänstanslutningen.

    • Tjänsthanteringsreferens: (valfritt) Kontextinformation från en ITSM-databas.

    • Beskrivning: (Valfritt) Lägg till en beskrivning.

  8. I Säkerhet markerar du kryssrutan Bevilja åtkomstbehörighet till alla pipelines för att tillåta att alla pipelines använder den här tjänstanslutningen. Om du inte väljer det här alternativet måste du manuellt bevilja åtkomst till varje pipeline som använder den här tjänstanslutningen.

  9. Välj Spara för att verifiera och skapa tjänstanslutningen.

    En skärmbild som visar hur du skapar en arm-tjänstanslutning för hanterad identitet.

Fråga efter och använda hemligheter i pipelinen

Med hjälp av Azure Key Vault-uppgiften kan vi hämta värdet för vår hemlighet och använda den i efterföljande uppgifter i pipelinen. En sak att tänka på är att hemligheter uttryckligen måste mappas till env-variabel enligt exemplet nedan.

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)

Utdata från det senaste bash-kommandot bör se ut så här:

Secret Found! ***

Kommentar

Om du vill fråga efter flera hemligheter från Azure Key Vault använder du SecretsFilter argumentet för att skicka en kommaavgränsad lista med hemliga namn: "secret1, secret2".