Udostępnij za pośrednictwem


Konfigurowanie tożsamości zarządzanych na maszynach wirtualnych 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 usługi Microsoft Entra bez konieczności przechowywania poświadczeń w kodzie.

Aby uzyskać informacje na temat definicji i szczegółów usługi Azure Policy, zobacz Przypisywanie tożsamości zarządzanych (wersja zapoznawcza) przy użyciu usługi Azure Policy.

Z tego artykułu dowiesz się, jak włączać i wyłączać tożsamości zarządzane przypisane przez użytkownika i systemowe dla maszyny wirtualnej platformy Azure przy użyciu witryny Azure Portal.

Wymagania wstępne

  • Jeśli nie znasz tożsamości zarządzanych dla zasobów platformy Azure, zapoznaj się z sekcją Przegląd.
  • Jeśli nie masz jeszcze konta platformy Azure, utwórz bezpłatne konto przed kontynuowaniem.

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 dla maszyny wirtualnej przy użyciu witryny Azure Portal.

Włączanie tożsamości zarządzanej przypisanej przez system podczas tworzenia maszyny wirtualnej

Aby włączyć tożsamość zarządzaną przypisaną przez system na maszynie wirtualnej podczas jej tworzenia, twoje konto wymaga przypisania roli Współautor maszyny wirtualnej. Nie są wymagane żadne inne przypisania roli katalogu Entra firmy Microsoft.

  • Na karcie Zarządzanie w sekcji Tożsamość przełącz tożsamość usługi zarządzanej na wartość Włączone.

Zrzut ekranu przedstawiający sposób włączania tożsamości przypisanej przez system podczas tworzenia maszyny wirtualnej.

Zapoznaj się z następującymi przewodnikami Szybki start, aby utworzyć maszynę wirtualną:

Włączanie tożsamości zarządzanej przypisanej przez system na istniejącej maszynie wirtualnej

Napiwek

Kroki opisane w tym artykule mogą się nieznacznie różnić w zależności od portalu, od którego zaczynasz.

Aby włączyć tożsamość zarządzaną przypisaną przez system na maszynie wirtualnej, która została pierwotnie aprowizowana bez niej, twoje konto wymaga przypisania roli Współautor maszyny wirtualnej. Nie są wymagane żadne inne przypisania roli katalogu Entra firmy Microsoft.

  1. Zaloguj się do witryny Azure Portal przy użyciu konta skojarzonego z subskrypcją platformy Azure, która zawiera maszynę wirtualną.

  2. Przejdź do żądanej maszyny wirtualnej i wybierz pozycję Tożsamość.

  3. W obszarze System przypisany stan wybierz pozycję Włączone, a następnie kliknij przycisk Zapisz:

    Zrzut ekranu przedstawiający stronę

Usuwanie tożsamości zarządzanej przypisanej przez system z maszyny wirtualnej

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.

Jeśli masz maszynę wirtualną, która nie potrzebuje już przypisanej przez system tożsamości zarządzanej:

  1. Zaloguj się do witryny Azure Portal przy użyciu konta skojarzonego z subskrypcją platformy Azure, która zawiera maszynę wirtualną.

  2. Przejdź do żądanej maszyny wirtualnej i wybierz pozycję Tożsamość.

  3. W obszarze System przypisany, Wybierz pozycję Wyłączone , a następnie kliknij przycisk Zapisz:

    Zrzut ekranu przedstawiający stronę konfiguracji.

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

W tej sekcji dowiesz się, jak dodać i usunąć tożsamość zarządzaną przypisaną przez użytkownika z maszyny wirtualnej przy użyciu witryny Azure Portal.

Przypisywanie tożsamości przypisanej przez użytkownika podczas tworzenia maszyny wirtualnej

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.

Obecnie witryna Azure Portal nie obsługuje przypisywania tożsamości zarządzanej przypisanej przez użytkownika podczas tworzenia maszyny wirtualnej. Zamiast tego zapoznaj się z jednym z następujących artykułów Szybki start dotyczących tworzenia maszyny wirtualnej, aby najpierw utworzyć maszynę wirtualną, a następnie przejdź do następnej sekcji, aby uzyskać szczegółowe informacje na temat przypisywania tożsamości zarządzanej przypisanej przez użytkownika do maszyny wirtualnej:

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

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. Zaloguj się do witryny Azure Portal przy użyciu konta skojarzonego z subskrypcją platformy Azure, która zawiera maszynę wirtualną.

  2. Przejdź do żądanej maszyny wirtualnej i kliknij pozycję Tożsamość, Użytkownik przypisany, a następnie +Dodaj.

    Zrzut ekranu przedstawiający stronę Tożsamość z wybraną pozycją Użytkownik i wyróżnionym przyciskiem Dodaj.

  3. Kliknij tożsamość przypisaną przez użytkownika, którą chcesz dodać do maszyny wirtualnej, a następnie kliknij przycisk Dodaj.

    Zrzut ekranu przedstawiający dodawanie tożsamości zarządzanej przypisanej przez użytkownika do maszyny wirtualnej.

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

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. Zaloguj się do witryny Azure Portal przy użyciu konta skojarzonego z subskrypcją platformy Azure, która zawiera maszynę wirtualną.

  2. Przejdź do żądanej maszyny wirtualnej i wybierz pozycję Tożsamość, Przypisana przez użytkownika, nazwa tożsamości zarządzanej przypisanej przez użytkownika, którą chcesz usunąć, a następnie kliknij przycisk Usuń (kliknij przycisk Tak w okienku potwierdzenia).

    Zrzut ekranu przedstawiający sposób usuwania tożsamości zarządzanej przypisanej przez użytkownika z maszyny wirtualnej

Następne kroki

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. Na 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 nazwa musi zaczynać się literą lub cyfrą i może zawierać kombinację znaków alfanumerycznych, łączników (-) i podkreśleń (_). 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": "00001111-aaaa-2222-bbbb-3333cccc4444",
        "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<myUserAssignedIdentity>/credentials?tid=5678&oid=9012&aid=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
        "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
        "location": "westcentralus",
        "name": "<USER ASSIGNED IDENTITY NAME>",
        "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "resourceGroup": "<RESOURCE GROUP>",
        "tags": {},
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "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 (czyli podkreślenie) 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": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "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=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
      "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
      "location": "westcentralus",
      "name": "<USER ASSIGNED IDENTITY NAME>",
      "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
      "resourceGroup": "<RESOURCE GROUP>",
      "tags": {},
      "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
      "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

W tym artykule, korzystając z programu PowerShell, dowiesz się, jak wykonywać następujące tożsamości zarządzane dla operacji zasobów platformy Azure na maszynie wirtualnej platformy Azure.

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Wymagania wstępne

  • Jeśli nie znasz tożsamości zarządzanych dla zasobów platformy Azure, zapoznaj się z sekcją Przegląd. 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.
  • Aby uruchomić przykładowe skrypty, dostępne są dwie opcje:
    • Użyj usługi Azure Cloud Shell, którą można otworzyć za pomocą przycisku Wypróbuj w prawym górnym rogu bloków kodu.
    • Uruchom skrypty lokalnie, instalując najnowszą wersję programu Azure PowerShell, a następnie zaloguj się do platformy Azure przy użyciu polecenia Connect-AzAccount.

Tożsamość zarządzana przypisana przez system

W tej sekcji omówimy sposób włączania i wyłączania tożsamości zarządzanej przypisanej przez system przy użyciu programu Azure PowerShell.

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. Zapoznaj się z jednym z następujących przewodników Szybki start dotyczących maszyn wirtualnych platformy Azure, wykonując tylko niezbędne sekcje ("Zaloguj się do platformy Azure", "Tworzenie grupy zasobów", "Tworzenie grupy sieci", "Tworzenie maszyny wirtualnej").

    Po przejściu do sekcji "Tworzenie maszyny wirtualnej" wprowadź niewielką modyfikację składni polecenia cmdlet New-AzVMConfig . Pamiętaj, aby dodać parametr, aby aprowizować maszynę -IdentityType SystemAssigned wirtualną z włączoną tożsamością przypisaną przez system, na przykład:

    $vmConfig = New-AzVMConfig -VMName myVM -IdentityType SystemAssigned ...
    

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, która została pierwotnie aprowizowana bez niej, twoje konto wymaga przypisania roli Współautor maszyny wirtualnej. Nie są wymagane żadne inne przypisania roli katalogu Entra firmy Microsoft.

  1. Pobierz właściwości maszyny wirtualnej przy użyciu Get-AzVM polecenia cmdlet . Następnie, aby włączyć tożsamość zarządzaną przypisaną przez system, użyj przełącznika -IdentityType polecenia cmdlet Update-AzVM :

    $vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
    Update-AzVM -ResourceGroupName myResourceGroup -VM $vm -IdentityType SystemAssigned
    

Dodawanie tożsamości przypisanej przez system maszyny wirtualnej do grupy

Po włączeniu tożsamości przypisanej przez system na maszynie wirtualnej możesz dodać ją do grupy. Poniższa procedura dodaje tożsamość przypisaną przez system maszyny wirtualnej do grupy.

  1. Pobierz i zanotuj wartości ObjectID (określone w Id polu zwróconych wartości) jednostki usługi maszyny wirtualnej:

    Get-AzADServicePrincipal -displayname "myVM"
    
  2. Pobierz i zanotuj wartości ObjectID (określone w Id polu zwróconych wartości) grupy:

    Get-AzADGroup -searchstring "myGroup"
    
  3. Dodaj jednostkę usługi maszyny wirtualnej do grupy:

    New-MgGroupMember -GroupId "<Id of group>" -DirectoryObjectId "<Id of VM service principal>" 
    

Wyłączanie tożsamości zarządzanej 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ż przypisanej przez system tożsamości zarządzanej, ale nadal potrzebuje tożsamości zarządzanych przypisanych przez użytkownika, użyj następującego polecenia cmdlet:

  1. Pobierz właściwości maszyny wirtualnej przy użyciu Get-AzVM polecenia cmdlet i ustaw -IdentityType parametr na UserAssigned:

    $vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
    Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType "UserAssigned" -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
    

Jeśli masz maszynę wirtualną, która nie potrzebuje już przypisanej przez system tożsamości zarządzanej i nie ma tożsamości zarządzanych przypisanych przez użytkownika, użyj następujących poleceń:

$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None

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

W tej sekcji dowiesz się, jak dodać i usunąć tożsamość zarządzaną przypisaną przez użytkownika z maszyny wirtualnej przy użyciu programu Azure PowerShell.

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

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. Zapoznaj się z jednym z następujących przewodników Szybki start dotyczących maszyn wirtualnych platformy Azure, wykonując tylko niezbędne sekcje ("Zaloguj się do platformy Azure", "Tworzenie grupy zasobów", "Tworzenie grupy sieci", "Tworzenie maszyny wirtualnej").

    Po przejściu do sekcji "Tworzenie maszyny wirtualnej" wprowadź niewielką modyfikację New-AzVMConfig składni polecenia cmdlet. Dodaj parametry i-IdentityID, -IdentityType UserAssigned aby aprowizować maszynę wirtualną przy użyciu tożsamości przypisanej przez użytkownika. Zastąp <VM NAME>wartości ,<SUBSCRIPTION ID>, <RESROURCE GROUP>i <USER ASSIGNED IDENTITY NAME> własnymi wartościami. Na przykład:

    $vmConfig = New-AzVMConfig -VMName <VM NAME> -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
    

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ść zarządzaną przypisaną przez użytkownika przy użyciu polecenia cmdlet New-AzUserAssignedIdentity . Zanotuj Id dane wyjściowe, ponieważ te informacje będą potrzebne w następnym kroku.

    Ważne

    Tworzenie tożsamości zarządzanych przypisanych przez użytkownika obsługuje tylko znaki alfanumeryczne, podkreślenie i łącznik (0–9 lub a–z lub A-Z, _ lub -). Ponadto nazwa powinna być ograniczona z zakresu od 3 do 128 znaków, aby przypisanie do maszyny wirtualnej/zestawu skalowania maszyn wirtualnych działało prawidłowo. Aby uzyskać więcej informacji, zobacz Często zadawane pytania i znane problemy

    New-AzUserAssignedIdentity -ResourceGroupName <RESOURCEGROUP> -Name <USER ASSIGNED IDENTITY NAME>
    
  2. Pobierz właściwości maszyny wirtualnej przy użyciu Get-AzVM polecenia cmdlet . Następnie, aby przypisać tożsamość zarządzaną przypisaną przez użytkownika do maszyny wirtualnej platformy Azure, użyj -IdentityType polecenia cmdlet Update-AzVM i -IdentityID . Wartość parametru-IdentityId jest wartością Id zanotowaną w poprzednim kroku. Zastąp <VM NAME>wartości , <SUBSCRIPTION ID>, <RESROURCE GROUP>i <USER ASSIGNED IDENTITY NAME> własnymi wartościami.

    Ostrzeżenie

    Aby zachować wszystkie wcześniej przypisane przez użytkownika tożsamości zarządzane przypisane do maszyny wirtualnej, wykonaj zapytanie o Identity właściwość obiektu maszyny wirtualnej (na przykład $vm.Identity). Jeśli zostaną zwrócone tożsamości zarządzane przypisane przez użytkownika, dołącz je do następującego polecenia wraz z nową tożsamością zarządzaną przypisaną przez użytkownika, którą chcesz przypisać do maszyny wirtualnej.

    $vm = Get-AzVM -ResourceGroupName <RESOURCE GROUP> -Name <VM NAME>
    
    # Get the list of existing identity IDs and then append to it
    $identityIds = $vm.Identity.UserAssignedIdentities.Keys
    $uid = "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>"
    $identityIds = $identityIds + $uid 
    
    # Update the VM with added identity IDs
    Update-AzVM -ResourceGroupName <RESOURCE GROUP> -VM $vm -IdentityType UserAssigned -IdentityID $uid 
    

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 maszyna wirtualna ma wiele tożsamości zarządzanych przypisanych przez użytkownika, możesz usunąć wszystkie, ale ostatnie przy użyciu następujących poleceń. 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ść name tożsamości zarządzanej przypisanej przez użytkownika, która powinna pozostać na maszynie wirtualnej. Te informacje można odnaleźć za pomocą zapytania w celu wyszukania Identity właściwości obiektu maszyny wirtualnej. Na przykład : $vm.Identity

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType UserAssigned -IdentityID <USER ASSIGNED IDENTITY NAME>

Jeśli maszyna wirtualna nie ma przypisanej przez system tożsamości zarządzanej i chcesz usunąć z niej wszystkie tożsamości zarządzane przypisane przez użytkownika, użyj następującego polecenia:

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None

Jeśli maszyna wirtualna ma tożsamości zarządzane przypisane przez system i przypisane przez użytkownika, możesz usunąć wszystkie tożsamości zarządzane przypisane przez użytkownika, przełączając się na używanie tylko tożsamości zarządzanych przypisanych przez system.

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType "SystemAssigned"

Następne kroki

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.

W tym artykule, używając narzędzia CURL do wykonywania wywołań do punktu końcowego REST 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:

  • 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 narzędzia CURL w celu wykonywania wywołań do punktu końcowego REST usługi Azure Resource Manager.

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 interfejs sieciowy dla maszyny wirtualnej:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Pobierz token dostępu elementu nośnego, który zostanie użyty w następnym kroku w nagłówku Autoryzacja w celu utworzenia maszyny wirtualnej z tożsamością zarządzaną przypisaną przez system.

    az account get-access-token
    
  4. Za pomocą usługi Azure Cloud Shell utwórz maszynę wirtualną przy użyciu narzędzia CURL w celu wywołania punktu końcowego REST usługi Azure Resource Manager. Poniższy przykład tworzy maszynę wirtualną o nazwie myVM z tożsamością zarządzaną przypisaną przez system zgodnie z wartością "identity":{"type":"SystemAssigned"}w treści żądania. Zastąp <ACCESS TOKEN> ciąg wartością otrzymaną w poprzednim kroku, gdy zażądano tokenu dostępu elementu nośnego i <SUBSCRIPTION ID> wartość odpowiednią dla danego środowiska.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"SystemAssigned"},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"<SECURE PASSWORD STRING>"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

      {
        "location":"westus",
        "name":"myVM",
        "identity":{
           "type":"SystemAssigned"
        },
        "properties":{
           "hardwareProfile":{
              "vmSize":"Standard_D2_v2"
           },
           "storageProfile":{
              "imageReference":{
                 "sku":"2016-Datacenter",
                 "publisher":"MicrosoftWindowsServer",
                 "version":"latest",
                 "offer":"WindowsServer"
              },
              "osDisk":{
                 "caching":"ReadWrite",
                 "managedDisk":{
                    "storageAccountType":"StandardSSD_LRS"
                 },
                 "name":"myVM3osdisk",
                 "createOption":"FromImage"
              },
              "dataDisks":[
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":0
                 },
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":1
                 }
              ]
           },
           "osProfile":{
              "adminUsername":"azureuser",
              "computerName":"myVM",
              "adminPassword":"myPassword12"
           },
           "networkProfile":{
              "networkInterfaces":[
                 {
                    "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
                    "properties":{
                       "primary":true
                    }
                 }
              ]
           }
        }
     }  
    

Włączanie tożsamości przypisanej przez system na istniejącej maszynie wirtualnej platformy Azure

Aby włączyć tożsamość zarządzaną przypisaną przez system na maszynie wirtualnej, która została pierwotnie aprowizowana bez niej, twoje konto wymaga przypisania roli Współautor maszyny wirtualnej. Nie są wymagane żadne inne przypisania roli katalogu Entra firmy Microsoft.

  1. Pobierz token dostępu elementu nośnego, który zostanie użyty w następnym kroku w nagłówku Autoryzacja w celu utworzenia maszyny wirtualnej z tożsamością zarządzaną przypisaną przez system.

    az account get-access-token
    
  2. Użyj następującego polecenia CURL, aby wywołać punkt końcowy REST usługi Azure Resource Manager, aby włączyć tożsamość zarządzaną przypisaną przez system na maszynie wirtualnej zgodnie z opisem w treści żądania przez wartość {"identity":{"type":"SystemAssigned"} maszyny wirtualnej o nazwie myVM. Zastąp <ACCESS TOKEN> ciąg wartością otrzymaną w poprzednim kroku, gdy zażądano tokenu dostępu elementu nośnego i <SUBSCRIPTION ID> wartość odpowiednią dla danego środowiska.

    Ważne

    Aby upewnić się, że nie usuniesz żadnych istniejących tożsamości zarządzanych przypisanych przez użytkownika przypisanych do maszyny wirtualnej, musisz wyświetlić listę tożsamości zarządzanych przypisanych przez użytkownika przy użyciu tego polecenia CURL: curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Jeśli masz przypisane przez użytkownika tożsamości zarządzane przypisane do maszyny wirtualnej zgodnie z wartością w identity odpowiedzi, przejdź do kroku 3, który pokazuje, jak zachować tożsamości zarządzane przypisane przez użytkownika podczas włączania tożsamości zarządzanej przypisanej przez system na maszynie wirtualnej.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {  
        "identity":{  
           "type":"SystemAssigned"
        }
     }
    
  3. Aby włączyć tożsamość zarządzaną przypisaną przez system na maszynie wirtualnej z istniejącymi tożsamościami zarządzanymi przypisanymi przez użytkownika, należy dodać SystemAssignedtype wartość.

    Jeśli na przykład maszyna wirtualna ma przypisane przez użytkownika tożsamości ID1 zarządzane i ID2 do niej przypisane, i chcesz dodać tożsamość zarządzaną przypisaną przez system do maszyny wirtualnej, użyj następującego wywołania CURL. Zastąp <ACCESS TOKEN> wartości i <SUBSCRIPTION ID> odpowiednimi dla danego środowiska.

    Wersja 2018-06-01 interfejsu API przechowuje tożsamości zarządzane przypisane przez użytkownika w userAssignedIdentities wartości w formacie słownika, w przeciwieństwie do identityIds wartości w formacie tablicy używanym w wersji 2017-12-01interfejsu API .

    INTERFEJS API W WERSJI 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {  
        "identity":{  
           "type":"SystemAssigned, UserAssigned",
           "userAssignedIdentities":{  
              "/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{  
    
              },
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{  
    
              }
           }
        }
     }
    

    INTERFEJS API W WERSJI 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {  
        "identity":{  
           "type":"SystemAssigned, UserAssigned",
           "identityIds":[  
              "/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1",
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"
           ]
        }
     }
    

Wyłączanie tożsamości zarządzanej 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.

  1. Pobierz token dostępu elementu nośnego, który zostanie użyty w następnym kroku w nagłówku Autoryzacja w celu utworzenia maszyny wirtualnej z tożsamością zarządzaną przypisaną przez system.

    az account get-access-token
    
  2. Zaktualizuj maszynę wirtualną przy użyciu narzędzia CURL, aby wywołać punkt końcowy REST usługi Azure Resource Manager, aby wyłączyć tożsamość zarządzaną przypisaną przez system. Poniższy przykład wyłącza tożsamość zarządzaną przypisaną przez system zgodnie z opisem w treści żądania przez wartość {"identity":{"type":"None"}} z maszyny wirtualnej o nazwie myVM. Zastąp <ACCESS TOKEN> ciąg wartością otrzymaną w poprzednim kroku, gdy zażądano tokenu dostępu elementu nośnego i <SUBSCRIPTION ID> wartość odpowiednią dla danego środowiska.

    Ważne

    Aby upewnić się, że nie usuniesz żadnych istniejących tożsamości zarządzanych przypisanych przez użytkownika przypisanych do maszyny wirtualnej, musisz wyświetlić listę tożsamości zarządzanych przypisanych przez użytkownika przy użyciu tego polecenia CURL: curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Jeśli masz przypisane przez użytkownika tożsamości zarządzane przypisane do maszyny wirtualnej zgodnie z wartością w identity odpowiedzi, przejdź do kroku 3, który pokazuje, jak zachować tożsamości zarządzane przypisane przez użytkownika podczas wyłączania tożsamości zarządzanej przypisanej przez system na maszynie wirtualnej.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {  
        "identity":{  
           "type":"None"
        }
     }
    

    Aby usunąć tożsamość zarządzaną przypisaną przez system z maszyny wirtualnej, która ma przypisane przez użytkownika tożsamości zarządzane, usuń SystemAssigned z wartości przy zachowaniu UserAssigned wartości i userAssignedIdentities wartości słownika, jeśli używasz interfejsu API w wersji 2018-06-01{"identity":{"type:" "}}. Jeśli używasz interfejsu API w wersji 2017-12-01 lub starszej, zachowaj tablicę identityIds .

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 na maszynie wirtualnej platformy Azure przy użyciu narzędzia CURL w celu wykonywania wywołań do punktu końcowego REST usługi Azure Resource Manager.

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, 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. Pobierz token dostępu elementu nośnego, który zostanie użyty w następnym kroku w nagłówku Autoryzacja w celu utworzenia maszyny wirtualnej z tożsamością zarządzaną przypisaną przez system.

    az account get-access-token
    
  2. Utwórz interfejs sieciowy dla maszyny wirtualnej:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Pobierz token dostępu elementu nośnego, który zostanie użyty w następnym kroku w nagłówku Autoryzacja w celu utworzenia maszyny wirtualnej z tożsamością zarządzaną przypisaną przez system.

    az account get-access-token
    
  4. Utwórz tożsamość zarządzaną przypisaną przez użytkownika, korzystając z instrukcji podanych tutaj: Tworzenie tożsamości zarządzanej przypisanej przez użytkownika.

  5. Utwórz maszynę wirtualną przy użyciu narzędzia CURL w celu wywołania punktu końcowego REST usługi Azure Resource Manager. W poniższym przykładzie utworzono maszynę wirtualną o nazwie myVM w grupie zasobów myResourceGroup z tożsamością zarządzaną przypisaną przez użytkownika, zgodnie z opisem ID1w treści żądania o wartości "identity":{"type":"UserAssigned"}. Zastąp <ACCESS TOKEN> ciąg wartością otrzymaną w poprzednim kroku, gdy zażądano tokenu dostępu elementu nośnego i <SUBSCRIPTION ID> wartość odpowiednią dla danego środowiska.

    INTERFEJS API W WERSJI 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {  
        "location":"westus",
        "name":"myVM",
        "identity":{  
           "type":"UserAssigned",
           "identityIds":[  
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{  
           "hardwareProfile":{  
              "vmSize":"Standard_D2_v2"
           },
           "storageProfile":{  
              "imageReference":{  
                 "sku":"2016-Datacenter",
                 "publisher":"MicrosoftWindowsServer",
                 "version":"latest",
                 "offer":"WindowsServer"
              },
              "osDisk":{  
                 "caching":"ReadWrite",
                 "managedDisk":{  
                    "storageAccountType":"StandardSSD_LRS"
                 },
                 "name":"myVM3osdisk",
                 "createOption":"FromImage"
              },
              "dataDisks":[  
                 {  
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":0
                 },
                 {  
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":1
                 }
              ]
           },
           "osProfile":{  
              "adminUsername":"azureuser",
              "computerName":"myVM",
              "adminPassword":"myPassword12"
           },
           "networkProfile":{  
              "networkInterfaces":[  
                 {  
                    "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
                    "properties":{  
                       "primary":true
                    }
                 }
              ]
           }
        }
     }
    
    

    INTERFEJS API W WERSJI 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "location":"westus",
        "name":"myVM",
        "identity":{
           "type":"UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{
           "hardwareProfile":{
              "vmSize":"Standard_D2_v2"
           },
           "storageProfile":{
              "imageReference":{
                 "sku":"2016-Datacenter",
                 "publisher":"MicrosoftWindowsServer",
                 "version":"latest",
                 "offer":"WindowsServer"
              },
              "osDisk":{
                 "caching":"ReadWrite",
                 "managedDisk":{
                    "storageAccountType":"StandardSSD_LRS"
                 },
                 "name":"myVM3osdisk",
                 "createOption":"FromImage"
              },
              "dataDisks":[
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":0
                 },
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":1
                 }
              ]
           },
           "osProfile":{
              "adminUsername":"azureuser",
              "computerName":"myVM",
              "adminPassword":"myPassword12"
           },
           "networkProfile":{
              "networkInterfaces":[
                 {
                    "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
                    "properties":{
                       "primary":true
                    }
                 }
              ]
           }
        }
     }
    

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. Pobierz token dostępu elementu nośnego, który zostanie użyty w następnym kroku w nagłówku Autoryzacja w celu utworzenia maszyny wirtualnej z tożsamością zarządzaną przypisaną przez system.

    az account get-access-token
    
  2. Utwórz tożsamość zarządzaną przypisaną przez użytkownika, korzystając z instrukcji podanych tutaj: Tworzenie tożsamości zarządzanej przypisanej przez użytkownika.

  3. Aby upewnić się, że nie usuniesz istniejących tożsamości zarządzanych przypisanych przez użytkownika ani przypisane przez system do maszyny wirtualnej, musisz wyświetlić listę typów tożsamości przypisanych do maszyny wirtualnej przy użyciu następującego polecenia CURL. Jeśli masz tożsamości zarządzane przypisane do zestawu skalowania maszyn wirtualnych, są one wymienione w obszarze w identity wartości .

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>" 
    
    GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Jeśli masz tożsamości zarządzane przypisane przez użytkownika lub system przypisane do maszyny wirtualnej zgodnie identity z wartością w odpowiedzi, przejdź do kroku 5, który pokazuje, jak zachować tożsamość zarządzaną przypisaną przez system podczas dodawania tożsamości zarządzanej przypisanej przez użytkownika na maszynie wirtualnej.

  4. Jeśli nie masz przypisanych przez użytkownika tożsamości zarządzanych do maszyny wirtualnej, użyj następującego polecenia CURL, aby wywołać punkt końcowy REST usługi Azure Resource Manager, aby przypisać pierwszą tożsamość zarządzaną przypisaną przez użytkownika do maszyny wirtualnej.

    W poniższym przykładzie przypisano tożsamość ID1 zarządzaną przypisaną przez użytkownika do maszyny wirtualnej o nazwie myVM w grupie zasobów myResourceGroup. Zastąp <ACCESS TOKEN> ciąg wartością otrzymaną w poprzednim kroku, gdy zażądano tokenu dostępu elementu nośnego i <SUBSCRIPTION ID> wartość odpowiednią dla danego środowiska.

    INTERFEJS API W WERSJI 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "identity":{
           "type":"UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              }
           }
        }
     }
    

    INTERFEJS API W WERSJI 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "identity":{
           "type":"userAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    
  5. Jeśli masz przypisaną przez użytkownika lub przypisaną przez system tożsamość zarządzaną przypisaną do maszyny wirtualnej:

    INTERFEJS API W WERSJI 2018-06-01

    Dodaj tożsamość zarządzaną przypisaną przez użytkownika do wartości słownika userAssignedIdentities .

    Jeśli na przykład masz tożsamość zarządzaną przypisaną przez system i tożsamość ID1 zarządzaną przypisaną przez użytkownika do maszyny wirtualnej i chcesz dodać do niej tożsamość ID2 zarządzaną przypisaną przez użytkownika:

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              },
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{
    
              }
           }
        }
     }
    

    INTERFEJS API W WERSJI 2017-12-01

    Zachowaj tożsamości zarządzane przypisane przez użytkownika, które chcesz zachować w identityIds wartości tablicy podczas dodawania nowej tożsamości zarządzanej przypisanej przez użytkownika.

    Jeśli na przykład masz tożsamość zarządzaną przypisaną przez system i tożsamość ID1 zarządzaną przypisaną przez użytkownika do maszyny wirtualnej i chcesz dodać do niej tożsamość ID2 zarządzaną przypisaną przez użytkownika:

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "identity":{
           "type":"SystemAssigned,UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1",
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"
           ]
        }
     }
    

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.

  1. Pobierz token dostępu elementu nośnego, który zostanie użyty w następnym kroku w nagłówku Autoryzacja w celu utworzenia maszyny wirtualnej z tożsamością zarządzaną przypisaną przez system.

    az account get-access-token
    
  2. Aby upewnić się, że nie usuniesz żadnych istniejących tożsamości zarządzanych przypisanych przez użytkownika, które chcesz zachować przypisane do maszyny wirtualnej lub usuń tożsamość zarządzaną przypisaną przez system, musisz wyświetlić listę tożsamości zarządzanych przy użyciu następującego polecenia CURL:

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
    
    GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Jeśli masz tożsamości zarządzane przypisane do maszyny wirtualnej, są one wymienione w odpowiedzi w identity wartości .

    Jeśli na przykład masz przypisane przez użytkownika tożsamości ID1 zarządzane i ID2 przypisane do maszyny wirtualnej, a chcesz zachować ID1 przypisaną i zachowaną tożsamość przypisaną przez system:

    INTERFEJS API W WERSJI 2018-06-01

    Dodaj null do tożsamości zarządzanej przypisanej przez użytkownika, którą chcesz usunąć:

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null
           }
        }
     }
    

    INTERFEJS API W WERSJI 2017-12-01

    Zachowaj tylko tożsamości zarządzane przypisane przez użytkownika, które mają być przechowywane w tablicy identityIds :

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
    

    Nagłówki żądań

    Nagłówek żądania opis
    Typ zawartości Wymagany. Ustaw wartość application/json.
    Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

    Treść żądania

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    

Jeśli maszyna wirtualna ma tożsamości zarządzane przypisane przez system i przypisane przez użytkownika, możesz usunąć wszystkie tożsamości zarządzane przypisane przez użytkownika, przełączając się na użycie tylko przypisanej przez system tożsamości zarządzanej przy użyciu następującego polecenia:

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1

Nagłówki żądań

Nagłówek żądania opis
Typ zawartości Wymagany. Ustaw wartość application/json.
Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

Treść żądania

{
   "identity":{
      "type":"SystemAssigned"
   }
}

Jeśli maszyna wirtualna ma tylko tożsamości zarządzane przypisane przez użytkownika i chcesz je usunąć, użyj następującego polecenia:

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1

Nagłówki żądań

Nagłówek żądania opis
Typ zawartości Wymagany. Ustaw wartość application/json.
Autoryzacja Wymagany. Ustaw prawidłowy Bearer token dostępu.

Treść żądania

{
   "identity":{
      "type":"None"
   }
}

Następne kroki

Aby uzyskać informacje na temat tworzenia, wyświetlania listy lub usuwania tożsamości zarządzanych przypisanych przez użytkownika przy użyciu interfejsu REST, zobacz:

Z tego artykułu dowiesz się, jak włączać i usuwać tożsamości zarządzane dla zasobów platformy Azure dla maszyny wirtualnej platformy Azure przy użyciu zestawu Azure SDK.

Wymagania wstępne

  • Jeśli nie znasz funkcji tożsamości zarządzanych dla zasobów platformy Azure, zobacz to omówienie. Jeśli nie masz jeszcze konta platformy Azure, przed kontynuowaniem utwórz bezpłatne konto.

Zestawy SDK platformy Azure z tożsamościami zarządzanymi dla zasobów platformy Azure obsługują

pomoc techniczna platformy Azure wiele platform programowania za pomocą serii Zestawy SDK platformy Azure. Kilka z nich zostało zaktualizowanych w celu obsługi tożsamości zarządzanych dla zasobów platformy Azure i dostarczenia odpowiednich przykładów w celu zademonstrowania użycia. Ta lista jest aktualizowana w miarę dodawania innego wsparcia:

SDK Przykład
.NET Zarządzanie zasobem z maszyny wirtualnej z włączoną tożsamościami zarządzanymi dla zasobów platformy Azure
Java Zarządzanie magazynem z maszyny wirtualnej z włączoną tożsamościami zarządzanymi dla zasobów platformy Azure
Node.js Tworzenie maszyny wirtualnej z włączoną tożsamością zarządzaną przypisaną przez system
Python Tworzenie maszyny wirtualnej z włączoną tożsamością zarządzaną przypisaną przez system
Ruby Tworzenie maszyny wirtualnej platformy Azure z włączoną tożsamością przypisaną przez system

Następne kroki

  • Zobacz powiązane artykuły w obszarze Konfigurowanie tożsamości dla maszyny wirtualnej platformy Azure, aby dowiedzieć się, jak można również używać witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia i szablonów zasobów.