Ćwiczenie — Konfigurowanie tożsamości zarządzanej przypisanej przez system dla maszyny wirtualnej platformy Azure
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
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
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
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
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;"
Zanotuj nazwę magazynu kluczy.
echo $KVNAME
Konfigurowanie maszyny wirtualnej na potrzeby aplikacji śledzącej zapasy firmy
Użyj protokołu SSH, aby uzyskać dostęp do maszyny wirtualnej.
ssh $publicIP
W wierszu polecenia wpisz wyraz yes.
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.
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
Zakończ sesję SSH.
exit