Konfigurowanie tożsamości zarządzanych dla zasobów platformy Azure na maszynie wirtualnej platformy Azure przy użyciu szablonów

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 usługi Microsoft Entra bez konieczności przechowywania poświadczeń w kodzie.

W tym artykule, korzystając z szablonu wdrażania usługi Azure Resource Manager, dowiesz się, jak wykonywać następujące tożsamości zarządzane dla operacji zasobów platformy Azure na maszynie wirtualnej platformy Azure:

Wymagania wstępne

  • Jeśli nie znasz szablonu wdrażania usługi Azure Resource Manager, zapoznaj się z sekcją przeglądu. Pamiętaj, aby zapoznać się z różnicą między tożsamością zarządzaną przypisaną przez system i przypisaną przez użytkownika.
  • Jeśli nie masz jeszcze konta platformy Azure, utwórz bezpłatne konto przed kontynuowaniem.

Szablony usługi Azure Resource Manager

Podobnie jak w przypadku witryny Azure Portal i skryptów, szablony usługi Azure Resource Manager umożliwiają wdrażanie nowych lub zmodyfikowanych zasobów zdefiniowanych przez grupę zasobów platformy Azure. Dostępnych jest kilka opcji edytowania i wdrażania szablonów, zarówno lokalnych, jak i opartych na portalu, w tym:

Niezależnie od wybranej opcji składnia szablonu jest taka sama podczas początkowego wdrażania i ponownego wdrażania. Włączenie tożsamości zarządzanej przypisanej przez użytkownika lub systemu na nowej lub istniejącej maszynie wirtualnej odbywa się w ten sam sposób. Ponadto usługa Azure Resource Manager domyślnie wykonuje przyrostową aktualizację wdrożeń.

Tożsamość zarządzana przypisana przez system

W tej sekcji włączysz i wyłączysz tożsamość zarządzaną przypisaną przez system przy użyciu szablonu usługi Azure Resource Manager.

Włączanie tożsamości zarządzanej przypisanej przez system podczas tworzenia maszyny wirtualnej platformy Azure lub istniejącej maszyny wirtualnej

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. Niezależnie od tego, czy logujesz się na platformie Azure lokalnie, czy za pośrednictwem witryny Azure Portal, użyj konta skojarzonego z subskrypcją platformy Azure, która zawiera maszynę wirtualną.

  2. Aby włączyć tożsamość zarządzaną przypisaną przez system, załaduj szablon do edytora, znajdź Microsoft.Compute/virtualMachines interesujący go zasób w resources sekcji i dodaj "identity" właściwość na tym samym poziomie co "type": "Microsoft.Compute/virtualMachines" właściwość. Użyj następującej składni:

    "identity": {
        "type": "SystemAssigned"
    },
    
  3. Po zakończeniu należy dodać następujące sekcje do resource sekcji szablonu i powinny wyglądać podobnie do następujących:

     "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "SystemAssigned",
                 }                        
         }
     ]
    

Przypisywanie roli przypisanej przez system tożsamości zarządzanej maszyny wirtualnej

Po włączeniu tożsamości zarządzanej przypisanej przez system na maszynie wirtualnej możesz przyznać jej rolę, taką jak Dostęp czytelnika do grupy zasobów, w której została utworzona. Szczegółowe informacje ułatwiające wykonanie tego kroku można znaleźć w artykule Przypisywanie ról platformy Azure przy użyciu szablonów usługi Azure Resource Manager.

Wyłączanie tożsamości zarządzanej przypisanej przez system z maszyny wirtualnej platformy Azure

Aby usunąć tożsamość zarządzaną przypisaną przez system z maszyny wirtualnej, twoje konto wymaga przypisania roli Współautor maszyny wirtualnej. Nie są wymagane żadne inne przypisania roli katalogu Entra firmy Microsoft.

  1. Niezależnie od tego, czy logujesz się na platformie Azure lokalnie, czy za pośrednictwem witryny Azure Portal, użyj konta skojarzonego z subskrypcją platformy Azure, która zawiera maszynę wirtualną.

  2. Załaduj szablon do edytora i znajdź Microsoft.Compute/virtualMachines interesujący go zasób w resources sekcji. Jeśli masz maszynę wirtualną, która ma tylko tożsamość zarządzaną przypisaną przez system, możesz ją wyłączyć, zmieniając typ tożsamości na None.

    Microsoft.Compute/virtualMachines API w wersji 2018-06-01

    Jeśli maszyna wirtualna ma tożsamości zarządzane przypisane zarówno przez system, jak i użytkownika, usuń SystemAssigned je z typu tożsamości i zachowaj UserAssigned razem z wartościami słownika userAssignedIdentities .

    Microsoft.Compute/virtualMachines API w wersji 2018-06-01

    apiVersion Jeśli twoja maszyna wirtualna 2017-12-01 ma tożsamości zarządzane zarówno systemowe, jak i przypisane przez użytkownika, usuń SystemAssigned je z typu tożsamości i zachowaj UserAssigned wraz z identityIds tablicą tożsamości zarządzanych przypisanych przez użytkownika.

W poniższym przykładzie pokazano, jak usunąć tożsamość zarządzaną przypisaną przez system z maszyny wirtualnej bez tożsamości zarządzanych przypisanych przez użytkownika:

{
    "apiVersion": "2018-06-01",
    "type": "Microsoft.Compute/virtualMachines",
    "name": "[parameters('vmName')]",
    "location": "[resourceGroup().location]",
    "identity": {
        "type": "None"
    }
}

Tożsamość zarządzana przypisana przez użytkownika

W tej sekcji przypiszesz tożsamość zarządzaną przypisaną przez użytkownika do maszyny wirtualnej platformy Azure przy użyciu szablonu usługi Azure Resource Manager.

Uwaga

Aby utworzyć tożsamość zarządzaną przypisaną przez użytkownika przy użyciu szablonu usługi Azure Resource Manager, zobacz Tworzenie tożsamości zarządzanej przypisanej przez użytkownika.

Przypisywanie tożsamości zarządzanej przypisanej przez użytkownika do maszyny wirtualnej platformy Azure

Aby przypisać tożsamość przypisaną przez użytkownika do maszyny wirtualnej, twoje konto wymaga przypisania roli Operator tożsamości zarządzanej. Nie są wymagane żadne inne przypisania roli katalogu Entra firmy Microsoft.

  1. W obszarze elementu resources dodaj następujący wpis, aby przypisać tożsamość zarządzaną przypisaną przez użytkownika do maszyny wirtualnej. Pamiętaj, aby zastąpić <USERASSIGNEDIDENTITY> ciąg nazwą utworzonej tożsamości zarządzanej przypisanej przez użytkownika.

    Microsoft.Compute/virtualMachines API w wersji 2018-06-01

    Jeśli element apiVersion to 2018-06-01, tożsamości zarządzane przypisane przez użytkownika są przechowywane w userAssignedIdentities formacie słownika, a <USERASSIGNEDIDENTITYNAME> wartość musi być przechowywana w zmiennej zdefiniowanej w variables sekcji szablonu.

     {
         "apiVersion": "2018-06-01",
         "type": "Microsoft.Compute/virtualMachines",
         "name": "[variables('vmName')]",
         "location": "[resourceGroup().location]",
         "identity": {
             "type": "userAssigned",
             "userAssignedIdentities": {
                 "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
             }
         }
     }
    

    Microsoft.Compute/virtualMachines API w wersji 2017-12-01

    Jeśli element apiVersion to 2017-12-01, tożsamości zarządzane przypisane przez użytkownika są przechowywane w identityIds tablicy, a <USERASSIGNEDIDENTITYNAME> wartość musi być przechowywana w zmiennej zdefiniowanej w variables sekcji szablonu.

    {
        "apiVersion": "2017-12-01",
        "type": "Microsoft.Compute/virtualMachines",
        "name": "[variables('vmName')]",
        "location": "[resourceGroup().location]",
        "identity": {
            "type": "userAssigned",
            "identityIds": [
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
            ]
        }
    }
    
  2. Po zakończeniu należy dodać następujące sekcje do resource sekcji szablonu i powinny wyglądać podobnie do następujących:

    Microsoft.Compute/virtualMachines API w wersji 2018-06-01

      "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "userAssigned",
                 "userAssignedIdentities": {
                    "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
                 }
             }
         }
     ] 
    

    Microsoft.Compute/virtualMachines API w wersji 2017-12-01

    "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2017-12-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "userAssigned",
                 "identityIds": [
                    "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
                 ]
             }
         }
    ]
    

Usuwanie tożsamości zarządzanej przypisanej przez użytkownika z maszyny wirtualnej platformy Azure

Aby usunąć tożsamość przypisaną przez użytkownika z maszyny wirtualnej, twoje konto wymaga przypisania roli Współautor maszyny wirtualnej. Nie są wymagane żadne inne przypisania roli katalogu Entra firmy Microsoft.

  1. Niezależnie od tego, czy logujesz się na platformie Azure lokalnie, czy za pośrednictwem witryny Azure Portal, użyj konta skojarzonego z subskrypcją platformy Azure, która zawiera maszynę wirtualną.

  2. Załaduj szablon do edytora i znajdź Microsoft.Compute/virtualMachines interesujący go zasób w resources sekcji. Jeśli masz maszynę wirtualną, która ma tylko tożsamość zarządzaną przypisaną przez użytkownika, możesz ją wyłączyć, zmieniając typ tożsamości na None.

    W poniższym przykładzie pokazano, jak usunąć wszystkie tożsamości zarządzane przypisane przez użytkownika z maszyny wirtualnej bez tożsamości zarządzanych przypisanych przez system:

     {
       "apiVersion": "2018-06-01",
       "type": "Microsoft.Compute/virtualMachines",
       "name": "[parameters('vmName')]",
       "location": "[resourceGroup().location]",
       "identity": {
           "type": "None"
           },
     }
    

    Microsoft.Compute/virtualMachines API w wersji 2018-06-01

    Aby usunąć pojedynczą tożsamość zarządzaną przypisaną przez użytkownika z maszyny wirtualnej, usuń ją ze słownika useraAssignedIdentities .

    Jeśli masz tożsamość zarządzaną przypisaną przez system, zachowaj ją w type wartości poniżej identity wartości.

    Microsoft.Compute/virtualMachines API w wersji 2017-12-01

    Aby usunąć pojedynczą tożsamość zarządzaną przypisaną przez użytkownika z maszyny wirtualnej, usuń ją z tablicy identityIds .

    Jeśli masz tożsamość zarządzaną przypisaną przez system, zachowaj ją w type wartości poniżej identity wartości.

Następne kroki

  • Omówienie tożsamości zarządzanych dla zasobów platformy Azure.