Konfigurace spravovaných identit pro prostředky Azure na virtuálním počítači Azure pomocí PowerShellu

Spravované identity pro prostředky Azure jsou funkcí ID Microsoft Entra. Každá ze služeb Azure, které podporují spravované identity pro prostředky Azure, se řídí vlastní časovou osou. Než začnete, nezapomeňte zkontrolovat stav dostupnosti spravovaných identit pro váš prostředek a známé problémy.

Spravované identity pro prostředky Azure poskytují službám Azure automaticky spravovanou identitu v Microsoft Entra ID. Tuto identitu můžete použít k ověření v jakékoli službě, která podporuje ověřování Microsoft Entra, aniž byste ve vašem kódu museli mít přihlašovací údaje.

V tomto článku se pomocí PowerShellu naučíte provádět následující spravované identity pro operace prostředků Azure na virtuálním počítači Azure.

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Požadavky

  • Pokud neznáte spravované identity pro prostředky Azure, projděte si část s přehledem. Nezapomeňte zkontrolovat rozdíl mezi spravovanou identitou přiřazenou systémem a přiřazenou uživatelem.
  • Pokud ještě nemáte účet Azure, zaregistrujte si bezplatný účet před tím, než budete pokračovat.
  • Pokud chcete spustit ukázkové skripty, máte dvě možnosti:
    • Použijte Azure Cloud Shell, který můžete otevřít pomocí tlačítka Vyzkoušet v pravém horním rohu bloků kódu.
    • Spusťte skripty místně instalací nejnovější verze Azure PowerShellu a pak se přihlaste k Azure pomocí Connect-AzAccount.

Spravovaná identita přiřazená systémem

V této části si projdeme, jak povolit a zakázat spravovanou identitu přiřazenou systémem pomocí Azure PowerShellu.

Povolení spravované identity přiřazené systémem během vytváření virtuálního počítače Azure

Pokud chcete vytvořit virtuální počítač Azure s povolenou spravovanou identitou přiřazenou systémem, váš účet potřebuje přiřazení role Přispěvatel virtuálních počítačů. Nejsou vyžadována žádná další přiřazení rolí adresáře Microsoft Entra.

  1. Projděte si jeden z následujících rychlých startů pro virtuální počítače Azure a vyplňte jenom potřebné části (Přihlášení k Azure, Vytvoření skupiny prostředků, Vytvoření síťové skupiny, Vytvoření virtuálního počítače).

    Když se dostanete do části Vytvoření virtuálního počítače, proveďte mírnou změnu syntaxe rutiny New-AzVMConfig . Nezapomeňte přidat -IdentityType SystemAssigned parametr pro zřízení virtuálního počítače s povolenou identitou přiřazenou systémem, například:

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

Povolení spravované identity přiřazené systémem na existujícím virtuálním počítači Azure

Pokud chcete povolit spravovanou identitu přiřazenou systémem na virtuálním počítači, který byl původně zřízený bez ní, váš účet potřebuje přiřazení role Přispěvatel virtuálních počítačů. Nejsou vyžadována žádná další přiřazení rolí adresáře Microsoft Entra.

  1. Pomocí rutiny Get-AzVM načtěte vlastnosti virtuálního počítače. Potom pomocí přepínače v rutině Update-AzVM povolte -IdentityType spravovanou identitu přiřazenou systémem:

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

Přidání identity přiřazené systémem virtuálního počítače do skupiny

Jakmile na virtuálním počítači povolíte identitu přiřazenou systémem, můžete ji přidat do skupiny. Následující postup přidá identitu přiřazenou systémem virtuálního počítače do skupiny.

  1. Načtěte a poznamenejte si ObjectID (jak je uvedeno v Id poli vrácených hodnot) instančního objektu virtuálního počítače:

    Get-AzADServicePrincipal -displayname "myVM"
    
  2. Načtěte a poznamenejte si ObjectID (jak je uvedeno v Id poli vrácených hodnot) skupiny:

    Get-AzADGroup -searchstring "myGroup"
    
  3. Přidejte instanční objekt virtuálního počítače do skupiny:

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

Zakázání spravované identity přiřazené systémem z virtuálního počítače Azure

Pokud chcete na virtuálním počítači zakázat spravovanou identitu přiřazenou systémem, váš účet potřebuje přiřazení role Přispěvatel virtuálních počítačů. Nejsou vyžadována žádná další přiřazení rolí adresáře Microsoft Entra.

Pokud máte virtuální počítač, který už nepotřebuje spravovanou identitu přiřazenou systémem, ale přesto potřebuje spravované identity přiřazené uživatelem, použijte následující rutinu:

  1. Načtěte vlastnosti virtuálního počítače pomocí rutiny Get-AzVM a nastavte parametr na UserAssigned-IdentityType :

    $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>..."
    

Pokud máte virtuální počítač, který už nepotřebuje spravovanou identitu přiřazenou systémem a nemá spravované identity přiřazené uživatelem, použijte následující příkazy:

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

Spravovaná identita přiřazená uživatelem

V této části se dozvíte, jak přidat a odebrat spravovanou identitu přiřazenou uživatelem z virtuálního počítače pomocí Azure PowerShellu.

Přiřazení spravované identity přiřazené uživatelem k virtuálnímu počítači během vytváření

Pokud chcete přiřadit identitu přiřazenou uživatelem k virtuálnímu počítači, váš účet potřebuje přiřazení rolí Přispěvatel virtuálních počítačů a Operátor spravované identity. Nejsou vyžadována žádná další přiřazení rolí adresáře Microsoft Entra.

  1. Projděte si jeden z následujících rychlých startů pro virtuální počítače Azure a vyplňte jenom potřebné části (Přihlášení k Azure, Vytvoření skupiny prostředků, Vytvoření síťové skupiny, Vytvoření virtuálního počítače).

    Když se dostanete do části Vytvoření virtuálního počítače, proveďte malou změnu New-AzVMConfig syntaxe rutiny. -IdentityType UserAssigned Přidejte parametry -IdentityID pro zřízení virtuálního počítače s identitou přiřazenou uživatelem. Nahraďte <VM NAME>hodnoty a<SUBSCRIPTION ID><RESROURCE GROUP><USER ASSIGNED IDENTITY NAME> vlastními hodnotami. Příklad:

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

Přiřazení spravované identity přiřazené uživatelem k existujícímu virtuálnímu počítači Azure

Pokud chcete přiřadit identitu přiřazenou uživatelem k virtuálnímu počítači, váš účet potřebuje přiřazení rolí Přispěvatel virtuálních počítačů a Operátor spravované identity. Nejsou vyžadována žádná další přiřazení rolí adresáře Microsoft Entra.

  1. Vytvořte spravovanou identitu přiřazenou uživatelem pomocí rutiny New-AzUserAssignedIdentity . Id Všimněte si výstupu, protože tyto informace budete potřebovat v dalším kroku.

    Důležité

    Vytváření spravovaných identit přiřazených uživatelem podporuje pouze alfanumerické znaky, podtržítka a pomlčky (0-9 nebo a-z nebo A-Z, _ nebo -). Kromě toho by měl být název omezen na délku 3 až 128 znaků, aby přiřazení k virtuálnímu počítači nebo VMSS fungovalo správně. Další informace najdete v nejčastějších dotazech a známých problémech.

    New-AzUserAssignedIdentity -ResourceGroupName <RESOURCEGROUP> -Name <USER ASSIGNED IDENTITY NAME>
    
  2. Pomocí rutiny Get-AzVM načtěte vlastnosti virtuálního počítače. Potom k virtuálnímu počítači Azure přiřadíte spravovanou identitu přiřazenou uživatelem, použijte rutinu -IdentityTypeUpdate-AzVM a -IdentityID zapněte ji. Hodnota parametru-IdentityId je hodnota, kterou Id jste si poznamenali v předchozím kroku. Nahraďte <VM NAME>, <SUBSCRIPTION ID>a <RESROURCE GROUP><USER ASSIGNED IDENTITY NAME> vlastními hodnotami.

    Upozorňující

    Pokud chcete zachovat všechny dříve uživatelem přiřazené spravované identity přiřazené k virtuálnímu počítači, zadejte dotaz na Identity vlastnost objektu virtuálního počítače (například $vm.Identity). Pokud se vrátí nějaká spravovaná identita přiřazená uživatelem, zahrňte je do následujícího příkazu spolu s novou spravovanou identitou přiřazenou uživatelem, kterou chcete přiřadit k virtuálnímu počítači.

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

Odebrání spravované identity přiřazené uživatelem z virtuálního počítače Azure

Pokud chcete odebrat identitu přiřazenou uživatelem k virtuálnímu počítači, váš účet potřebuje přiřazení role Přispěvatel virtuálních počítačů.

Pokud má váš virtuální počítač více spravovaných identit přiřazených uživatelem, můžete odebrat všechny identity kromě poslední identity pomocí následujících příkazů. Nezapomeňte nahradit hodnoty parametrů <RESOURCE GROUP> a <VM NAME> vlastními hodnotami. Jedná se <USER ASSIGNED IDENTITY NAME> o vlastnost názvu spravované identity přiřazenou uživatelem, která by měla zůstat na virtuálním počítači. Tyto informace lze zjistit pomocí dotazu k vyhledání Identity vlastnosti objektu virtuálního počítače. Příklad: $vm.Identity

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

Pokud váš virtuální počítač nemá spravovanou identitu přiřazenou systémem a chcete z ní odebrat všechny spravované identity přiřazené uživatelem, použijte následující příkaz:

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

Pokud má váš virtuální počítač spravované identity přiřazené systémem i spravované identity přiřazené uživatelem, můžete odebrat všechny spravované identity přiřazené uživatelem tak, že přepnete na použití jenom spravovaných identit přiřazených systémem.

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

Další kroky