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

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.

  1. 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
    
  2. 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.

  1. 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
    
  2. 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.

  1. 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>
    
  2. 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"    
    }
    
  3. 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.

  1. 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"    
    }
    
  2. 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ść zasobu name 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