Övning – Konfigurera en systemtilldelad hanterad identitet för en virtuell Azure-dator

Slutförd

Den virtuella dator som är värd för din app har distribuerats i Azure. Nu måste du aktivera en hanterad identitet i företagets Azure-prenumeration. Tanken är att din lagerspårningsapp ska få åtkomst till de Azure-resurser den behöver.

I den här enheten skapar du en system tilldelad hanterad identitet för den virtuella datorn. Sedan tittar vi på hur du får åtkomst till Azure-resurser från identiteten.

Konfigurera miljön

  1. Skapa en Azure Key Vault-instans för att lagra företagets privata data. Varje Azure Key Vault-namn måste vara globalt unikt.

    export VMNAME=prodserver
    export KVNAME=furniture-secrets$RANDOM
    
    az keyvault create --name $KVNAME \
        --resource-group <rgn>[Sandbox resource group]</rgn> \
        --default-action Allow \
        --location $(az resource list --output tsv --query [0].location) \
        --sku standard
    
  2. Skapa en virtuell värddator för din företagsapp. Lagra den offentliga IP-adressen i en miljövariabel.

    export publicIP=$(az vm create \
        --name $VMNAME \
        --resource-group <rgn>[Sandbox resource group]</rgn> \
        --image UbuntuLTS \
        --generate-ssh-keys \
        --output tsv \
        --query "publicIpAddress")
    

    Anteckning

    Det kan ta några minuter att skapa den virtuella datorn.

Konfigurera en systemtilldelad hanterad identitet för en virtuell Azure-dator

  1. Tilldela en systemhanterad identitet till den virtuella datorn.

    az vm identity assign \
      --name $VMNAME \
      --resource-group <rgn>[Sandbox resource group]</rgn>
    

    Det här kommandot bör returnera ett svar som visar den hanterade identiteten. Här är ett exempel:

    {
        "systemAssignedIdentity": "a78ddd60-183b-4e27-9f0d-c11a11c417d8",
        "userAssignedIdentities": {}
    }
    

Använd ditt nyckelvalv till att lagra en hemlighet

  1. Lägg till din anslutningssträng till nyckelvalvet.

    az keyvault secret set \
      --vault-name $KVNAME \
      --name DBCredentials \
      --value "Server=tcp:prodserverSQL.database.windows.net,1433;Database=myDataBase;User ID=mylogin@myserver;Password=examplePassword;Trusted_Connection=False;Encrypt=True;"
    
  2. Anteckna namnet på nyckelvalvet.

    echo $KVNAME
    

Konfigurera den virtuella datorn för företagets lagerspårningsapp

  1. Anslut till den virtuella datorn via SSH.

    ssh $publicIP
    

    Skriv yes vid prompten.

  2. I nästa övning laddar du ned och installerar .NET Core-versionen på den virtuella dator som ska användas av modulens exempelapp.

    sudo snap install dotnet-sdk --classic --channel=3.1
    

    Anteckning

    Det kan ta .NET Core SDK minuter att installera den nya programinstallationen.

  3. Ladda ned källkoden för den här modulens exempelapp.

    git clone https://github.com/MicrosoftDocs/mslearn-authenticate-apps-with-managed-identities identity
    
  4. Avsluta SSH-sessionen.

    exit