Zelfstudie: een door het Windows-VM-systeem toegewezen beheerde identiteit gebruiken voor toegang tot Azure Key Vault

Beheerde identiteiten voor Azure-resources is een functie van Microsoft Entra ID. Voor alle Azure-services die beheerde identiteiten voor Azure-resources ondersteunen, geldt een eigen tijdlijn. Controleer de beschikbaarheidsstatus van beheerde identiteiten voor uw resource en eventuele bekende problemen voordat u begint.

Deze zelfstudie laat zien hoe een virtuele Windows-machine (VM) een door het systeem toegewezen beheerde identiteit kan gebruiken om toegang tot Azure Key Vault te krijgen. Key Vault maakt het mogelijk voor uw clienttoepassing om een geheim te gebruiken voor toegang tot resources die niet zijn beveiligd door Microsoft Entra-id. Beheerde identiteiten worden automatisch beheerd door Azure. Hiermee kunt u zich verifiëren bij services die Ondersteuning bieden voor Microsoft Entra-verificatie, zonder verificatiegegevens in uw code op te slaan.

U leert het volgende:

  • Uw virtuele machine toegang verlenen tot een geheim dat is opgeslagen in een sleutelkluis
  • Een toegangstoken ophalen met behulp van de identiteit van de virtuele machine en daarmee het geheim uit Key Vault ophalen

Vereisten

Een sleutelkluis maken

Tip

Stappen in dit artikel kunnen enigszins variëren op basis van de portal waaruit u begint.

In deze sectie wordt uitgelegd hoe u uw VM toegang verleent tot een geheim dat is opgeslagen in een sleutelkluis. Wanneer u beheerde identiteiten gebruikt voor Azure-resources, kan uw code toegangstokens ophalen om te verifiëren bij resources die ondersteuning bieden voor Microsoft Entra-verificatie.  Niet alle Azure-services ondersteunen Microsoft Entra-verificatie. Als u bij deze services beheerde identiteiten voor Azure-resources wilt gebruiken, slaat u de servicereferenties op in Azure Key Vault en gebruikt u de beheerde identiteit van de VM om toegang te krijgen tot Key Vault en de referenties op te halen.

Eerst moeten we een sleutelkluis maken en de door het systeem toegewezen beheerde identiteit van onze VM toegang tot de sleutelkluis verlenen.

  1. Meld u aan bij [Azure Portal]portal](https://portal.azure.com/).

  2. Selecteer bovenaan de linkernavigatiebalk de optie Een resource maken.

  3. In het vak Marketplace doorzoeken typt u Key Vault en drukt u op Enter.

  4. Selecteer Key Vault in de resultaten.

  5. Selecteer Maken.

  6. Geef een naam op voor de nieuwe sleutelkluis.

    Een sleutelkluisscherm maken.

  7. Vul alle vereiste gegevens in. Zorg ervoor dat u het abonnement en de resourcegroep kiest die u voor deze zelfstudie gebruikt.

  8. Selecteer Controleren en maken

  9. Selecteer Maken.

Een geheim maken

Voeg vervolgens een geheim toe aan de sleutelkluis, zodat u het later kunt ophalen met behulp van code die wordt uitgevoerd op uw virtuele machine. In deze zelfstudie gebruiken we PowerShell, maar dezelfde concepten zijn van toepassing op code die wordt uitgevoerd op deze virtuele machine.

  1. Ga naar uw zojuist gemaakte sleutelkluis.

  2. Selecteer Geheimen en selecteer Toevoegen.

  3. Selecteer Genereren/importeren

  4. In het scherm Een geheim maken, laat u bij Uploadopties Handmatig geselecteerd.

  5. Voer een naam en een waarde in voor de geheime sleutel.  De waarde mag elke gewenste waarde zijn. 

  6. Laat de activeringsdatum en vervaldatum leeg en laat Ingeschakeld ingesteld staan op Ja

  7. Selecteer Maken om het geheim te maken.

    Schermopname die laat zien hoe u een geheim maakt.

Toegang verlenen

De beheerde identiteit die door de virtuele machine wordt gebruikt, moet toegang krijgen tot het lezen van het geheim dat we opslaan in de Key Vault.

  1. Ga naar uw zojuist aangemaakte sleutelkluis

  2. Selecteer Toegangsbeleid in het menu aan de linkerkant.

  3. Selecteer Toegangsbeleid toevoegen

    Schermopname van het scherm toegangsbeleid voor Key Vault.

  4. Kies in de sectie Toegangsbeleid toevoegen onder Configureren vanuit sjabloon (optioneel) de optie Geheimbeheer in de vervolgkeuzelijst.

  5. Kies Principal selecteren, en voer in het zoekveld de naam in van de virtuele machine die u eerder hebt gemaakt.  Selecteer de virtuele machine in de lijst met resultaten en kies Selecteren.

  6. Selecteer Toevoegen

  7. Selecteer Opslaan.

Toegang tot gegevens

In deze sectie wordt uitgelegd hoe u een toegangstoken verkrijgt met behulp van de identiteit van de virtuele machine en daarmee het geheim uit de sleutelkluis ophaalt. Als PowerShell 4.3.1 of hoger niet is geïnstalleerd, moet u de meest recente versie downloaden en installeren.

Eerst gebruiken we de door het systeem toegewezen beheerde identiteit van de VIRTUELE machine om een toegangstoken op te halen voor verificatie bij Key Vault:

  1. Navigeer in de portal naar Virtuele machines en ga naar uw virtuele Windows-machine en selecteer in het overzicht Verbinding maken.
  2. Voer uw referenties (gebruikersnaam en wachtwoord) in die u hebt toegevoegd bij het maken van de virtuele Windows-machine.
  3. Nu u een extern bureaublad-Verbinding maken hebt gemaakt met de virtuele machine, opent u PowerShell in de externe sessie.
  4. Voer in PowerShell een Invoke-WebRequest-opdracht uit op de tenant om het token voor de lokale host in de specifieke poort voor de virtuele machine op te halen.

De PowerShell-aanvraag:

$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"} 

U ziet dat het antwoord er als volgt uitziet:

Schermopname van een aanvraag met tokenantwoord.

Extraheer vervolgens het toegangstoken uit het antwoord.

   $KeyVaultToken = $Response.access_token

Gebruik ten slotte de Invoke-WebRequest-opdracht van Powershell om het geheim op te halen dat u eerder in de sleutelkluis hebt gemaakt, waarbij u het toegangstoken doorgeeft in de autorisatie-header.  U hebt de URL van uw sleutelkluis nodig. Deze vindt u in de sectie Essentials van de pagina Overzicht van de sleutelkluis.

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

Het antwoord ziet er als volgt uit:

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

Zodra u het geheim hebt opgehaald uit de sleutelkluis, kunt u deze gebruiken om te verifiëren bij een service die een gebruikersnaam en wachtwoord vereist.

Resources opschonen

Wanneer u de resources wilt opschonen, meldt u zich aan bij Azure Portal, selecteert u Resourcegroepen, zoekt en selecteert u de resourcegroep die in het proces van deze zelfstudie is gemaakt (zoals mi-test) en gebruikt u vervolgens de opdracht Resourcegroep verwijderen.

U kunt ook resources opschonen via PowerShell of de CLI

Volgende stappen

In deze zelfstudie hebt u geleerd hoe u een door het Windows-VM-systeem toegewezen beheerde identiteit kunt gebruiken voor toegang tot Azure Key Vault. Zie voor meer informatie over Azure Key Vault: