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:
- Za pomocą szablonu niestandardowego z witryny Azure Marketplace, który umożliwia utworzenie szablonu od podstaw lub oparcie go na istniejącym typowym lub szybki start szablonie.
- Wyprowadzając z istniejącej grupy zasobów, eksportując szablon z oryginalnego wdrożenia lub z bieżącego stanu wdrożenia.
- Za pomocą lokalnego edytora JSON (takiego jak program VS Code), a następnie przekazywania i wdrażania przy użyciu programu PowerShell lub interfejsu wiersza polecenia.
- Tworzenie i wdrażanie szablonu przy użyciu projektu Grupa zasobów platformy Azure programu Visual Studio.
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.
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ą.
Aby włączyć tożsamość zarządzaną przypisaną przez system, załaduj szablon do edytora, znajdź
Microsoft.Compute/virtualMachines
interesujący go zasób wresources
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" },
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.
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ą.
Załaduj szablon do edytora i znajdź
Microsoft.Compute/virtualMachines
interesujący go zasób wresources
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 naNone
.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 zachowajUserAssigned
razem z wartościami słownikauserAssignedIdentities
.Microsoft.Compute/virtualMachines API w wersji 2018-06-01
apiVersion
Jeśli twoja maszyna wirtualna2017-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 zachowajUserAssigned
wraz zidentityIds
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.
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
to2018-06-01
, tożsamości zarządzane przypisane przez użytkownika są przechowywane wuserAssignedIdentities
formacie słownika, a<USERASSIGNEDIDENTITYNAME>
wartość musi być przechowywana w zmiennej zdefiniowanej wvariables
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
to2017-12-01
, tożsamości zarządzane przypisane przez użytkownika są przechowywane widentityIds
tablicy, a<USERASSIGNEDIDENTITYNAME>
wartość musi być przechowywana w zmiennej zdefiniowanej wvariables
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>'))]" ] } }
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.
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ą.
Załaduj szablon do edytora i znajdź
Microsoft.Compute/virtualMachines
interesujący go zasób wresources
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 naNone
.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żejidentity
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żejidentity
wartości.
Następne kroki
- Omówienie tożsamości zarządzanych dla zasobów platformy Azure.