Konfigurowanie tożsamości zarządzanych dla zasobów platformy Azure w zestawie skalowania maszyn wirtualnych przy użyciu interfejsu wiersza polecenia platformy Azure

Zarządzane tożsamości dla zasobów platformy Azure to funkcja usługi Azure Active Directory. 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 zapewniają usługom platformy Azure automatyczną tożsamość zarządzaną w Azure Active Directory. Za pomocą tej tożsamości można uwierzytelnić się w dowolnej usłudze obsługującej uwierzytelnianie usługi Azure AD bez konieczności przechowywania poświadczeń w kodzie.

Z tego artykułu dowiesz się, jak wykonywać następujące tożsamości zarządzane dla operacji zasobów platformy Azure w zestawie skalowania maszyn wirtualnych platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure:

  • Włączanie i wyłączanie przypisanej przez system tożsamości zarządzanej w zestawie skalowania maszyn wirtualnych platformy Azure
  • Dodawanie i usuwanie tożsamości zarządzanej przypisanej przez użytkownika w zestawie skalowania maszyn wirtualnych platformy Azure

Jeśli nie masz jeszcze konta platformy Azure, utwórz bezpłatne konto przed kontynuowaniem.

Wymagania wstępne

  • Jeśli nie znasz tożsamości zarządzanych dla zasobów platformy Azure, zobacz Co to są tożsamości zarządzane dla zasobów platformy Azure?. Aby dowiedzieć się więcej o typach tożsamości zarządzanych przypisanych przez system i przypisanych przez użytkownika, zobacz Typy tożsamości zarządzanych.

  • Aby wykonać operacje zarządzania w tym artykule, Twoje konto wymaga następujących przypisań kontroli dostępu opartej na rolach platformy Azure:

    • Współautor maszyny wirtualnej w celu utworzenia zestawu skalowania maszyn wirtualnych oraz włączenia i usunięcia tożsamości zarządzanej przypisanej przez użytkownika i/lub systemu z zestawu skalowania maszyn wirtualnych.

    • Rola Współautor tożsamości zarządzanej w celu utworzenia tożsamości zarządzanej przypisanej przez użytkownika.

    • Rola operator tożsamości zarządzanej do przypisywania i usuwania tożsamości zarządzanej przypisanej przez użytkownika z i do zestawu skalowania maszyn wirtualnych.

    Uwaga

    Nie są wymagane żadne dodatkowe przypisania ról Azure AD katalogu.

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 zestawu skalowania maszyn wirtualnych platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure.

Włączanie tożsamości zarządzanej przypisanej przez system podczas tworzenia zestawu skalowania maszyn wirtualnych platformy Azure

Aby utworzyć zestaw skalowania maszyn wirtualnych z włączoną tożsamością zarządzaną przypisaną przez system:

  1. Utwórz grupę zasobów na potrzeby zawierania i wdrażania zestawu skalowania maszyn wirtualnych oraz powiązanych zasobów przy użyciu polecenia az group create. Jeśli masz już grupę zasobów, której chcesz użyć, możesz pominąć ten krok:

    az group create --name myResourceGroup --location westus
    
  2. Utwórz zestaw skalowania maszyn wirtualnych. W poniższym przykładzie tworzony jest zestaw skalowania maszyn wirtualnych o nazwie myVMSS z tożsamością zarządzaną przypisaną przez system zgodnie z żądaniem parametru --assign-identity z określonymi --role parametrami 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 vmss create --resource-group myResourceGroup --name myVMSS --image win2016datacenter --upgrade-policy-mode automatic --custom-data cloud-init.txt --admin-username azureuser --admin-password myPassword12 --assign-identity --generate-ssh-keys --role contributor --scope mySubscription
    

Włączanie tożsamości zarządzanej przypisanej przez system w istniejącym zestawie skalowania maszyn wirtualnych platformy Azure

Jeśli musisz włączyć tożsamość zarządzaną przypisaną przez system w istniejącym zestawie skalowania maszyn wirtualnych platformy Azure:

az vmss identity assign -g myResourceGroup -n myVMSS

Wyłączanie tożsamości zarządzanej przypisanej przez system z zestawu skalowania maszyn wirtualnych platformy Azure

Jeśli masz zestaw skalowania maszyn wirtualnych, który nie potrzebuje już przypisanej przez system tożsamości zarządzanej, ale nadal wymaga tożsamości zarządzanych przypisanych przez użytkownika, użyj następującego polecenia:

az vmss update -n myVM -g myResourceGroup --set identity.type='UserAssigned' 

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ącego polecenia:

Uwaga

W wartości jest uwzględniana wielkość none liter. Musi to być małe litery.

az vmss update -n myVM -g myResourceGroup --set identity.type="none"

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

W tej sekcji dowiesz się, jak włączyć i usunąć tożsamość zarządzaną przypisaną przez użytkownika przy użyciu interfejsu wiersza polecenia platformy Azure.

Przypisywanie tożsamości zarządzanej przypisanej przez użytkownika podczas tworzenia zestawu skalowania maszyn wirtualnych

W tej sekcji przedstawiono proces tworzenia zestawu skalowania maszyn wirtualnych i przypisywania tożsamości zarządzanej przypisanej przez użytkownika do zestawu skalowania maszyn wirtualnych. Jeśli masz już zestaw skalowania maszyn wirtualnych, którego chcesz użyć, pomiń tę sekcję i przejdź do następnej.

  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ę. Upewnij się, że parametry <RESOURCE GROUP> i <USER ASSIGNED IDENTITY NAME> zostały zastąpione własnymi wartościami:

    Ważne

    Podczas tworzenia tożsamości zarządzanych przypisanych przez użytkownika obsługiwane są tylko znaki alfanumeryczne (0–9, a–z i A–Z) oraz łącznik (-). Aby przypisanie do maszyny wirtualnej lub zestawu skalowania maszyn wirtualnych działało prawidłowo, nazwa jest ograniczona do 24 znaków. Aby uzyskać więcej informacji, zobacz FAQs and known issues (Często zadawane pytania i znane problemy).

    az identity create -g <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. Wartość zasobu id przypisana do tożsamości zarządzanej przypisanej przez użytkownika jest używana w następnym kroku.

    {
         "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz",
         "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz",
         "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
         "location": "westcentralus",
         "name": "<USER ASSIGNED IDENTITY NAME>",
         "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll",
         "resourceGroup": "<RESOURCE GROUP>",
         "tags": {},
         "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl",
         "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  3. Utwórz zestaw skalowania maszyn wirtualnych. W poniższym przykładzie tworzony jest zestaw skalowania maszyn wirtualnych skojarzony z nową tożsamością zarządzaną przypisaną przez użytkownika, zgodnie z parametrem --assign-identity z określonymi --role parametrami i --scope. Pamiętaj, aby zastąpić wartości parametrów <RESOURCE GROUP>, , <PASSWORD><USER NAME><USER ASSIGNED IDENTITY><VMSS NAME>, <ROLE>i <SUBSCRIPTION> własnymi wartościami.

    az vmss create --resource-group <RESOURCE GROUP> --name <VMSS NAME> --image UbuntuLTS --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY> --role <ROLE> --scope <SUBSCRIPTION>
    

Przypisywanie tożsamości zarządzanej przypisanej przez użytkownika do istniejącego zestawu skalowania maszyn wirtualnych

  1. 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ę. Upewnij się, że parametry <RESOURCE GROUP> i <USER ASSIGNED IDENTITY NAME> zostały zastąpione własnymi wartościami:

    az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
    

    Odpowiedź zawiera szczegóły utworzonej tożsamości zarządzanej przypisanej przez użytkownika, podobnie jak poniżej.

    {
         "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz",
         "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY >/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz",
         "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY>",
         "location": "westcentralus",
         "name": "<USER ASSIGNED IDENTITY>",
         "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll",
         "resourceGroup": "<RESOURCE GROUP>",
         "tags": {},
         "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl",
         "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  2. Przypisz tożsamość zarządzaną przypisaną przez użytkownika do zestawu skalowania maszyn wirtualnych. Upewnij się, że parametry <RESOURCE GROUP> i <VIRTUAL MACHINE SCALE SET NAME> zostały zastąpione własnymi wartościami. Jest <USER ASSIGNED IDENTITY> to właściwość zasobu name tożsamości przypisanej przez użytkownika, która została utworzona w poprzednim kroku:

    az vmss identity assign -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>
    

Usuwanie tożsamości zarządzanej przypisanej przez użytkownika z zestawu skalowania maszyn wirtualnych platformy Azure

Aby usunąć tożsamość zarządzaną przypisaną przez użytkownika z zestawu skalowania maszyn wirtualnych, użyj polecenia az vmss identity remove. Jeśli jest to jedyna tożsamość zarządzana przypisana przez użytkownika przypisana do zestawu skalowania maszyn wirtualnych, UserAssigned zostanie usunięta z wartości typu tożsamości. Upewnij się, że parametry <RESOURCE GROUP> i <VIRTUAL MACHINE SCALE SET NAME> zostały zastąpione własnymi wartościami. Będzie <USER ASSIGNED IDENTITY> to właściwość tożsamości name zarządzanej przypisanej przez użytkownika, którą można znaleźć w sekcji tożsamości zestawu skalowania maszyn wirtualnych przy użyciu polecenia az vmss identity show:

az vmss identity remove -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>

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

Uwaga

W wartości jest uwzględniana wielkość none liter. Musi to być małe litery.

az vmss update -n myVMSS -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null

Jeśli zestaw skalowania maszyn wirtualnych ma tożsamości zarządzane 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żywanie tylko tożsamości zarządzanej przypisanej przez system. Użyj następującego polecenia:

az vmss update -n myVMSS -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null 

Następne kroki