Konfigurowanie tożsamości zarządzanych dla zasobów platformy Azure na maszynie wirtualnej platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure
Tożsamości zarządzane dla zasobów platformy Azure to funkcja identyfikatora Entra firmy Microsoft. Każda usługa platformy Azure obsługująca tożsamości zarządzane dla zasobów platformy Azure ma własną oś czasu. Pamiętaj, aby przed rozpoczęciem sprawdzić stan dostępności tożsamości zarządzanych dla swojego zasobu i znane problemy.
Tożsamości zarządzane dla zasobów platformy Azure udostępniają usługom platformy Azure automatycznie zarządzaną tożsamość w usłudze Microsoft Entra ID. Za pomocą tej tożsamości można uwierzytelnić się w dowolnej usłudze obsługującej uwierzytelnianie firmy Microsoft Entra bez konieczności posiadania poświadczeń w kodzie.
W tym artykule, korzystając z interfejsu wiersza polecenia platformy Azure, dowiesz się, jak wykonywać następujące tożsamości zarządzane dla operacji zasobów platformy Azure na maszynie wirtualnej platformy Azure:
- Włączanie i wyłączanie tożsamości zarządzanej przypisanej przez system na maszynie wirtualnej platformy Azure
- Dodawanie i usuwanie tożsamości zarządzanej przypisanej przez użytkownika na maszynie wirtualnej platformy Azure
Jeśli nie masz jeszcze konta platformy Azure, utwórz bezpłatne konto przed kontynuowaniem.
Wymagania wstępne
- Jeśli nie znasz tożsamości zarządzanych dla zasobów platformy Azure, zobacz Co to są tożsamości zarządzane dla zasobów platformy Azure?. Aby dowiedzieć się więcej o typach tożsamości zarządzanych przypisanych przez system i przypisanych przez użytkownika, zobacz Typy tożsamości zarządzanych.
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
Tożsamość zarządzana przypisana przez system
W tej sekcji dowiesz się, jak włączyć i wyłączyć tożsamość zarządzaną przypisaną przez system na maszynie wirtualnej platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Włączanie tożsamości zarządzanej przypisanej przez system podczas tworzenia maszyny wirtualnej platformy Azure
Aby utworzyć maszynę wirtualną platformy Azure z włączoną tożsamością zarządzaną przypisaną przez system, twoje konto wymaga przypisania roli Współautor maszyny wirtualnej. Nie są wymagane żadne inne przypisania roli katalogu Entra firmy Microsoft.
Utwórz grupę zasobów w celu uwzględnienia i wdrożenia maszyny wirtualnej i jej powiązanych zasobów przy użyciu polecenia az group create. Ten krok możesz pominąć, jeśli masz już grupę zasobów, której chcesz użyć w zamian:
az group create --name myResourceGroup --location westus
Utwórz maszynę wirtualną przy użyciu polecenia az vm create. Poniższy przykład tworzy maszynę wirtualną o nazwie myVM z tożsamością zarządzaną przypisaną przez system zgodnie z żądaniem parametru
--assign-identity
z określonymi--role
wartościami i--scope
. Parametry--admin-username
i--admin-password
określają konto nazwy użytkownika administracyjnego i hasła na potrzeby logowania do maszyny wirtualnej. Zaktualizuj te wartości zgodnie z wymaganiami środowiska:az vm create --resource-group myResourceGroup --name myVM --image win2016datacenter --generate-ssh-keys --assign-identity --role contributor --scope mySubscription --admin-username azureuser --admin-password myPassword12
Włączanie tożsamości zarządzanej przypisanej przez system na istniejącej maszynie wirtualnej platformy Azure
Aby włączyć tożsamość zarządzaną przypisaną przez system na maszynie wirtualnej, twoje konto wymaga przypisania roli Współautor maszyny wirtualnej. Nie są wymagane żadne inne przypisania roli katalogu Entra firmy Microsoft.
Jeśli używasz interfejsu wiersza polecenia platformy Azure w konsoli lokalnej, najpierw zaloguj się do platformy Azure za pomocą polecenia az login. Użyj konta skojarzonego z subskrypcją platformy Azure zawierającą maszynę wirtualną.
az login
Użyj polecenia az vm identity assign z
identity assign
poleceniem włącz tożsamość przypisaną przez system do istniejącej maszyny wirtualnej:az vm identity assign -g myResourceGroup -n myVm
Wyłączanie tożsamości przypisanej przez system z maszyny wirtualnej platformy Azure
Aby wyłączyć tożsamość zarządzaną przypisaną przez system na maszynie wirtualnej, twoje konto wymaga przypisania roli Współautor maszyny wirtualnej. Nie są wymagane żadne inne przypisania roli katalogu Entra firmy Microsoft.
Jeśli masz maszynę wirtualną, która nie potrzebuje już tożsamości przypisanej przez system, ale nadal potrzebuje tożsamości przypisanych przez użytkownika, użyj następującego polecenia:
az vm update -n myVM -g myResourceGroup --set identity.type='UserAssigned'
Jeśli masz maszynę wirtualną, która nie potrzebuje już tożsamości przypisanej przez system i nie ma tożsamości przypisanych przez użytkownika, użyj następującego polecenia:
Uwaga
W wartości none
jest uwzględniana wielkość liter. Musi to być małe litery.
az vm update -n myVM -g myResourceGroup --set identity.type="none"
Tożsamość zarządzana przypisana przez użytkownika
W tej sekcji dowiesz się, jak dodawać i usuwać tożsamość zarządzaną przypisaną przez użytkownika z maszyny wirtualnej platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure. Jeśli tworzysz tożsamość zarządzaną przypisaną przez użytkownika w innej RG niż maszyna wirtualna. Aby przypisać ją do maszyny wirtualnej, musisz użyć adresu URL tożsamości zarządzanej. Przykład:
--identities "/subscriptions/<SUBID>/resourcegroups/<RESROURCEGROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER_ASSIGNED_ID_NAME>"
Przypisywanie tożsamości zarządzanej przypisanej przez użytkownika podczas tworzenia maszyny wirtualnej platformy Azure
Aby przypisać tożsamość przypisaną przez użytkownika do maszyny wirtualnej podczas jej tworzenia, twoje konto wymaga przypisań ról Współautor maszyny wirtualnej i Operator tożsamości zarządzanej. Nie są wymagane żadne inne przypisania roli katalogu Entra firmy Microsoft.
Możesz pominąć ten krok, jeśli masz już grupę zasobów, której chcesz użyć. Utwórz grupę zasobów do przechowywania i wdrażania tożsamości zarządzanej przypisanej przez użytkownika przy użyciu polecenia az group create. Upewnij się, że parametry
<RESOURCE GROUP>
i<LOCATION>
zostały zastąpione własnymi wartościami. :az group create --name <RESOURCE GROUP> --location <LOCATION>
Utwórz tożsamość zarządzaną przypisaną przez użytkownika za pomocą polecenia az identity create. Parametr
-g
określa grupę zasobów, w której zostanie utworzona tożsamość zarządzana przypisana przez użytkownika, a parametr-n
określa jej nazwę.Ważne
Podczas tworzenia tożsamości zarządzanych przypisanych przez użytkownika obsługiwane są tylko znaki alfanumeryczne (0–9, a–z i A-Z) oraz łącznik (-). Aby przypisanie do maszyny wirtualnej lub zestawu skalowania maszyn wirtualnych działało prawidłowo, nazwa jest ograniczona do 24 znaków. Aby uzyskać więcej informacji, zobacz FAQs and known issues (Często zadawane pytania i znane problemy).
az identity create -g myResourceGroup -n myUserAssignedIdentity
Odpowiedź zawiera szczegóły utworzonej tożsamości zarządzanej przypisanej przez użytkownika, podobnie jak poniżej. Wartość identyfikatora zasobu przypisana do tożsamości zarządzanej przypisanej przez użytkownika jest używana w następnym kroku.
{ "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz", "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<myUserAssignedIdentity>/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Utwórz maszynę wirtualną przy użyciu polecenia az vm create. W poniższym przykładzie tworzona jest maszyna wirtualna skojarzona z nową tożsamością przypisaną przez użytkownika, określona przez
--assign-identity
parametr z określonymi--role
wartościami i--scope
. Pamiętaj, aby zastąpić wartości parametrów<RESOURCE GROUP>
, ,<ROLE>
<PASSWORD>
<USER ASSIGNED IDENTITY NAME>
<VM NAME>
<USER NAME>
i<SUBSCRIPTION>
własnymi wartościami.az vm create --resource-group <RESOURCE GROUP> --name <VM NAME> --image <SKU linux image> --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY NAME> --role <ROLE> --scope <SUBSCRIPTION>
Przypisywanie tożsamości zarządzanej przypisanej przez użytkownika do istniejącej maszyny wirtualnej platformy Azure
Aby przypisać tożsamość przypisaną przez użytkownika do maszyny wirtualnej, twoje konto wymaga przypisań ról Współautor maszyny wirtualnej i Operator tożsamości zarządzanej. Nie są wymagane żadne inne przypisania roli katalogu Entra firmy Microsoft.
Utwórz tożsamość przypisaną przez użytkownika za pomocą polecenia az identity create. Parametr
-g
określa grupę zasobów, w której jest tworzona tożsamość przypisana przez użytkownika, a-n
parametr określa jego nazwę. Upewnij się, że parametry<RESOURCE GROUP>
i<USER ASSIGNED IDENTITY NAME>
zostały zastąpione własnymi wartościami:Ważne
Tworzenie tożsamości zarządzanych przypisanych przez użytkownika ze znakami specjalnymi (tj. podkreślenia) w nazwie nie jest obecnie obsługiwane. Użyj znaków alfanumerycznych. Wracaj tutaj, aby zapoznać się z aktualizacjami. Aby uzyskać więcej informacji, zobacz Często zadawane pytania i znane problemy
az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
Odpowiedź zawiera szczegóły utworzonej tożsamości zarządzanej przypisanej przez użytkownika, podobnie jak poniżej.
{ "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz", "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Przypisz tożsamość przypisaną przez użytkownika do maszyny wirtualnej przy użyciu polecenia az vm identity assign. Upewnij się, że parametry
<RESOURCE GROUP>
i<VM NAME>
zostały zastąpione własnymi wartościami. Jest<USER ASSIGNED IDENTITY NAME>
to właściwość zasobuname
tożsamości zarządzanej przypisanej przez użytkownika, która została utworzona w poprzednim kroku. Jeśli utworzono tożsamość zarządzaną przypisaną przez użytkownika w innej RG niż maszyna wirtualna. Musisz użyć adresu URL tożsamości zarządzanej.az vm identity assign -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
Usuwanie tożsamości zarządzanej przypisanej przez użytkownika z maszyny wirtualnej platformy Azure
Aby usunąć tożsamość przypisaną przez użytkownika do maszyny wirtualnej, twoje konto wymaga przypisania roli Współautor maszyny wirtualnej.
Jeśli jest to jedyna tożsamość zarządzana przypisana przez użytkownika przypisana do maszyny wirtualnej, UserAssigned
zostanie usunięta z wartości typu tożsamości. Upewnij się, że parametry <RESOURCE GROUP>
i <VM NAME>
zostały zastąpione własnymi wartościami. Będzie <USER ASSIGNED IDENTITY>
to właściwość tożsamości name
przypisanej przez użytkownika, którą można znaleźć w sekcji tożsamości maszyny wirtualnej przy użyciu polecenia az vm identity show
:
az vm identity remove -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
Jeśli maszyna wirtualna nie ma przypisanej przez system tożsamości zarządzanej i chcesz usunąć z niej wszystkie tożsamości przypisane przez użytkownika, użyj następującego polecenia:
Uwaga
W wartości none
jest uwzględniana wielkość liter. Musi to być małe litery.
az vm update -n myVM -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null
Jeśli maszyna wirtualna ma tożsamości przypisane przez system i przypisane przez użytkownika, możesz usunąć wszystkie tożsamości przypisane przez użytkownika, przełączając się na użycie tylko przypisanego przez system. Użyj następującego polecenia:
az vm update -n myVM -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null
Następne kroki
- Omówienie tożsamości zarządzanych dla zasobów platformy Azure
- Aby zapoznać się z pełnymi przewodnikami Szybki start tworzenia maszyn wirtualnych platformy Azure, zobacz: