Självstudie: Använda en systemtilldelad hanterad identitet för en virtuell Windows-dator för åtkomst till Azure Key Vault

Hanterade identiteter för Azure-resurser är en funktion i Azure Active Directory. Alla Azure-tjänster som stöder hanterade identiteter för Azure-resurser har sin egen tidslinje. Var noga med att kontrollera tillgänglighetsstatus för hanterade identiteter för din resurs och kända problem innan du börjar.

Den här självstudien visar hur en virtuell Windows-dator (VM) kan använda en systemtilldelad hanterad identitet för att få åtkomst till Azure Key Vault. Key Vault gör det möjligt för klientprogrammet att använda en hemlighet för att komma åt resurser som inte skyddas av Azure Active Directory (Azure AD). Hanterade identiteter hanteras automatiskt av Azure. De gör att du kan autentisera mot tjänster som stöder Azure AD-autentisering, utan att inkludera autentiseringsinformation i koden.

Lär dig att:

  • Ge din virtuella dator åtkomst till en hemlighet som lagras i Key Vault
  • Få ett åtkomsttoken med hjälp av den virtuella datorns identitet och använd den när du hämtar hemligheten från Key Vault

Förutsättningar

Skapa en Key Vault-lösning

Det här avsnittet visar hur du ger den virtuella datorn åtkomst till en hemlighet som lagras i ett Key Vault. När du använder hanterade identiteter för Azure-resurser kan din kod få åtkomsttoken för att autentisera mot resurser som stöder Azure AD-autentisering.  Men alla Azure-tjänster stöder inte Azure Active Directory-autentisering. Om du vill använda hanterade identiteter för Azure-resurser med dessa tjänster lagrar du autentiseringsuppgifterna för tjänsten i Azure Key Vault och får åtkomst till Key Vault och hämtar autentiseringsuppgifterna med hjälp av den virtuella datorns hanterade identitet.

Börja med att skapa ett Key Vault och bevilja den virtuella datorns systemtilldelade hanterade identitet åtkomst till Key Vault.

  1. Öppna Azure-portalen

  2. Längst upp i det vänstra navigeringsfältet väljer du Skapa en resurs

  3. I rutan Sök på Marketplace skriver du in Key Vault och trycker på Retur.  

  4. Välj Key Vault i resultatet.

  5. Välj Skapa

  6. Ange ett namn för det nya Key Vault.

    Create a Key vault screen

  7. Fyll i all nödvändig information. Se till att du väljer den prenumeration och resursgrupp som du använder för den här självstudien.

  8. Välj Granska+ skapa

  9. Välj Skapa

Skapa en hemlighet

Lägg sedan till en hemlighet i Key Vault så att du kan hämta den senare med hjälp av kod som körs på den virtuella datorn. I den här självstudien använder vi PowerShell, men samma begrepp gäller för all kod som körs på den här virtuella datorn.

  1. Gå till ditt nyligen skapade Key Vault.

  2. Välj Hemligheter och välj Lägg till.

  3. Välj Generera/importera

  4. På skärmen Skapa en hemlighet från Uppladdningsalternativ låter du Manuell vara markerad.

  5. Ange ett namn och värde för hemligheten.  Värdet kan vara vad du vill. 

  6. Låt aktiveringsdatum och förfallodatum vara tomt och sätt Aktiverad som Ja

  7. Välj Skapa för att skapa hemligheten.

    Create a secret

Bevilja åtkomst

Den hanterade identitet som används av den virtuella datorn måste beviljas åtkomst för att läsa hemligheten som vi ska lagra i Key Vault.

  1. Gå till ditt nyligen skapade Key Vault

  2. Välj Åtkomstprincip på menyn till vänster.

  3. Välj Lägg till åtkomstprincip

    key vault create access policy screen

  4. I avsnittet Lägg till åtkomstprincip under Konfigurera från mall (valfritt) väljer du Hemlig hantering på den nedrullningsbara menyn.

  5. Välj Välj huvudkonto och ange namnet på den virtuella dator som du skapade tidigare i sökfältet.  Välj den virtuella datorn i resultatlistan och välj Välj.

  6. Välj Lägg till

  7. Välj Spara.

Åtkomst till data

Det här avsnittet visar hur du hämtar en åtkomsttoken med hjälp av den virtuella datoridentiteten och använder den för att hämta hemligheten från Key Vault. Om du inte har PowerShell 4.3.1 eller senaste installerat måste du ladda ned och installera den senaste versionen.

Först måste vi använda den virtuella datorns systemtilldelade hanterade identitet för att få ett åtkomsttoken och autentisera mot Key Vault:

  1. I portalen navigerar du till Virtuella datorer och går till din virtuella Windows-dator och i Översikt väljer du Anslut.
  2. Ange ditt användarnamn och lösenord som du lade till när du skapade den virtuella Windows-datorn.  
  3. Nu när du har skapat en anslutning till fjärrskrivbord med den virtuella datorn öppnar du PowerShell i fjärrsessionen.  
  4. I PowerShell anropar du webbegäran för klientorganisationen om du vill få en token för den lokala värden i porten för den virtuella datorn.  

PowerShell-begäran:

$Response = Invoke-RestMethod -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net' -Method GET -Headers @{Metadata="true"} 

Du kan se hur svaret ser ut nedan:

request with token response

Extrahera sedan åtkomsttoken från svaret.  

   $KeyVaultToken = $Response.access_token

Slutligen använder du PowerShell-kommandot Invoke-WebRequest och hämtar hemligheten som du skapade tidigare i Key Vault, och skickar ditt åtkomsttoken i auktoriseringsrubriken.  Du behöver URL:en till ditt Key Vault, som finns i avsnittet Essentials på Key Vault-sidan Översikt.  

Invoke-RestMethod -Uri https://<your-key-vault-URL>/secrets/<secret-name>?api-version=2016-10-01 -Method GET -Headers @{Authorization="Bearer $KeyVaultToken"}

Svaret ser ut såhär:

  value       id                                                                                    attributes
  -----       --                                                                                    ----------
  'My Secret' https://mi-lab-vault.vault.azure.net/secrets/mi-test/50644e90b13249b584c44b9f712f2e51 @{enabled=True; created=16…

När du har hämtat hemligheten från Key Vault kan du använda den och autentisera mot en tjänst som kräver ett namn och lösenord.

Rensa resurser

När du vill rensa resurserna går du till Azure-portalen, väljer Resursgrupper, letar upp och väljer den resursgrupp som skapades under den här självstudien (till exempel mi-test) och använder sedan kommandot Ta bort resursgrupp .

Du kan också rensa resurser via PowerShell eller CLI

Nästa steg

I den här självstudien har du lärt dig hur du använder en systemtilldelad hanterad identitet för virtuella Windows-datorer för att få åtkomst till Azure Key Vault. Mer information om Azure Key Vault finns i: