Použití spravované identity přiřazené systémem ve virtuálním počítači s Windows pro přístup k Resource Manageru

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.

V tomto kurzu se dozvíte, jak získat přístup k rozhraní API Azure Resource Manageru pomocí virtuálního počítače s Windows s povolenou spravovanou identitou přiřazenou systémem. Spravované identity pro prostředky Azure automaticky spravuje Azure a umožňují ověřování ve službách, které podporují ověřování Microsoft Entra, aniž byste museli do kódu vkládat přihlašovací údaje. Získáte informace pro:

  • Udělení přístupu virtuálnímu počítači ke skupině prostředků v Azure Resource Manageru
  • Získání přístupového tokenu pomocí identity virtuálního počítače a jeho použití k volání Azure Resource Manageru

Požadavky

Povolit

Povolení spravované identity přiřazené systémem je prostředí jedním kliknutím. Můžete ho buď povolit při vytváření virtuálního počítače, nebo ve vlastnostech existujícího virtuálního počítače.

Screenshot shows the System assigned tab for a virtual machine where you can turn on the System assigned status.

Povolení spravované identity přiřazené systémem na novém virtuálním počítači:

  1. Přihlaste se k portálu Azure Portal.

  2. Vytvoření virtuálního počítače s povolenou identitou přiřazenou systémem

Udělení přístupu virtuálnímu počítači ke skupině prostředků v Resource Manageru

Tip

Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.

Pomocí spravovaných identit pro prostředky Azure může vaše aplikace získat přístupové tokeny k ověření prostředků, které podporují ověřování Microsoft Entra. Rozhraní API Azure Resource Manageru podporuje ověřování Microsoft Entra. Identitě tohoto virtuálního počítače udělíme přístup k prostředku v Azure Resource Manageru, v tomto případě skupině prostředků. Roli Čtenář přiřadíme spravované identitě v oboru skupiny prostředků.

  1. Přihlaste se k webu Azure Portal pomocí účtu správce.
  2. Přejděte ke kartě Skupiny prostředků.
  3. Vyberte skupinu prostředků, ke které chcete udělit přístup spravované identity virtuálního počítače.
  4. Na levém panelu vyberte Řízení přístupu (IAM).
  5. Vyberte Přidat a pak vyberte Přidat přiřazení role.
  6. Na kartě Role vyberte Čtenář. Tato role umožňuje zobrazit všechny prostředky, ale neumožňuje provádět žádné změny.
  7. Na kartě Členové v části Přiřadit přístup vyberte Spravovaná identita. Pak vyberte + Vybrat členy.
  8. Ujistěte se, že je v rozevíracím seznamu Předplatné uvedené správné předplatné. A ve skupině prostředků vyberte Všechny skupiny prostředků.
  9. V rozevíracím seznamu Spravovat identitu vyberte Virtuální počítač.
  10. Nakonec v rozevíracím seznamu vyberte virtuální počítač s Windows a vyberte Uložit.

Získání přístupového tokenu pomocí spravované identity přiřazené systémem virtuálního počítače a jeho použití k volání Azure Resource Manageru

V této části budete muset použít PowerShell . Pokud PowerShell nemáte nainstalovaný, stáhněte si ho odtud.

  1. Na portálu přejděte na Virtuální počítače a přejděte na virtuální počítač s Windows a v přehledu vyberte Připojení.

  2. Zadejte své Uživatelské jméno a Heslo, které jste přidali při vytváření virtuálního počítače s Windows.

  3. Teď, když jste vytvořili vzdálenou plochu Připojení s virtuálním počítačem, otevřete PowerShell ve vzdálené relaci.

  4. Pomocí rutiny Invoke-WebRequest vytvořte požadavek na místní spravovanou identitu koncového bodu prostředků Azure, abyste získali přístupový token pro Azure Resource Manager.

       $response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -Method GET -Headers @{Metadata="true"}
    

    Poznámka:

    Hodnota parametru "resource" musí být přesná shoda s tím, co očekává ID Microsoft Entra. Při použití ID prostředku Azure Resource Manageru musí být v identifikátoru URI koncové lomítko.

    V dalším kroku extrahujte úplnou odpověď, která je uložena jako formátovaný řetězec JSON (JavaScript Object Notation) v objektu $response.

    $content = $response.Content | ConvertFrom-Json
    

    Potom z odpovědi extrahujte přístupový token.

    $ArmToken = $content.access_token
    

    Nakonec proveďte pomocí přístupového tokenu volání Azure Resource Manageru. V tomto příkladu také používáme rutinu Invoke-WebRequest k volání Azure Resource Manageru a do hlavičky autorizace zahrneme přístupový token.

    (Invoke-WebRequest -Uri https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>?api-version=2016-06-01 -Method GET -ContentType "application/json" -Headers @{ Authorization ="Bearer $ArmToken"}).content
    

    Poznámka:

    V adrese URL se rozlišují velká a malá písmena. Proto zkontrolujte, jestli používáte přesně stejná velká a malá písmena, jaká jste použili při pojmenování skupiny prostředků, a zkontrolujte také velké G ve výrazu „resourceGroup“.

    Následující příkaz vrátí podrobnosti o skupině prostředků:

    {"id":"/subscriptions/98f51385-2edc-4b79-bed9-7718de4cb861/resourceGroups/DevTest","name":"DevTest","location":"westus","properties":{"provisioningState":"Succeeded"}}
    

Další kroky

V tomto rychlém startu jste se dozvěděli, jak pomocí spravované identity přiřazené systémem získat přístup k rozhraní API Azure Resource Manageru. Další informace o Azure Resource Manageru najdete tady: