Ćwiczenie — Konfigurowanie tożsamości zarządzanej przypisanej przez system dla maszyny wirtualnej platformy Azure

Ukończone

Maszyna wirtualna, która hostuje aplikację, została wdrożona na platformie Azure. Teraz musisz włączyć tożsamość zarządzaną w subskrypcji platformy Azure firmy. Chodzi o to, aby umożliwić aplikacji śledzącej zapasy uzyskiwanie dostępu do potrzebnych zasobów platformy Azure.

W tej lekcji utworzysz tożsamość zarządzaną przypisaną przez system dla maszyny wirtualnej. Zobaczysz również, w jaki sposób uzyskać z niej dostęp do zasobów platformy Azure.

Konfigurowanie środowiska

  1. Użyj poniższego kodu, aby utworzyć wystąpienie usługi Azure Key Vault do przechowywania prywatnych danych firmy. Nazwa każdej usługi Azure Key Vault musi być globalnie unikatowa.

    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. Utwórz maszynę wirtualną do hostowania aplikacji firmy. Przechowuj publiczny adres IP w zmiennej środowiskowej.

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

    Uwaga

    Uruchomienie maszyny wirtualnej może potrwać kilka minut.

Konfigurowanie tożsamości zarządzanej przypisanej przez system dla maszyny wirtualnej platformy Azure

  1. Przypisz tożsamość zarządzaną przypisaną przez system do maszyny wirtualnej.

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

    To polecenie powinno zwrócić odpowiedź pokazującą tożsamość zarządzaną. Oto przykładowa odpowiedź:

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

Przechowywanie wpisu tajnego za pomocą magazynu kluczy

  1. Dodaj parametry połączenia do magazynu kluczy.

    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. Zanotuj nazwę magazynu kluczy.

    echo $KVNAME
    

Konfigurowanie maszyny wirtualnej na potrzeby aplikacji śledzącej zapasy firmy

  1. Użyj protokołu SSH, aby uzyskać dostęp do maszyny wirtualnej.

    ssh $publicIP
    

    W wierszu polecenia wpisz wyraz yes.

  2. W następnym ćwiczeniu pobierz i zainstaluj wersję platformy .NET Core na maszynie wirtualnej, która będzie używana przez przykładową aplikację modułu.

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

    Uwaga

    Zainstalowanie zestawu .NET SDK może potrwać kilka minut.

  3. Pobierz kod źródłowy dla przykładowej aplikacji z tego modułu.

    git clone https://github.com/MicrosoftDocs/mslearn-authenticate-apps-with-managed-identities identity
    
  4. Zakończ sesję SSH.

    exit