Použití spravovaných identit pro prostředky Azure na virtuálním počítači Azure k přihlášení

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.

Tento článek obsahuje příklady skriptů PowerShellu a rozhraní příkazového řádku pro přihlášení pomocí spravovaných identit pro instanční objekt prostředků Azure a pokyny k důležitým tématům, jako je zpracování chyb.

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 máte v plánu používat příklady Azure PowerShellu nebo Azure CLI v tomto článku, nezapomeňte nainstalovat nejnovější verzi Azure PowerShellu nebo Azure CLI.

Důležité

  • Všechny ukázkové skripty v tomto článku předpokládají, že klient příkazového řádku běží na virtuálním počítači se spravovanými identitami pro prostředky Azure s povolenými spravovanými identitami. Pomocí funkce Připojení virtuálního počítače na webu Azure Portal se vzdáleně připojte k virtuálnímu počítači. Podrobnosti o povolení spravovaných identit pro prostředky Azure na virtuálním počítači najdete v tématu Konfigurace spravovaných identit pro prostředky Azure na virtuálním počítači pomocí webu Azure Portal nebo některého z článků o variantách (pomocí PowerShellu, rozhraní příkazového řádku, šablony nebo sady Azure SDK).
  • Aby se zabránilo chybám při přístupu k prostředkům, musí mít spravovaná identita virtuálního počítače alespoň přístup čtenáře v příslušném oboru (virtuální počítač nebo vyšší), aby se na virtuálním počítači povolily operace Azure Resource Manageru. Podrobnosti najdete v tématu Přiřazení spravovaných identit prostředků Azure k prostředku pomocí webu Azure Portal .

Přehled

Spravované identity pro prostředky Azure poskytují objekt instančního objektu , který se vytvoří při povolení spravovaných identit pro prostředky Azure na virtuálním počítači. Instančnímu objektu je možné přidělit přístup k prostředkům Azure a použít ho jako identitu pomocí skriptů nebo klientů příkazového řádku pro přihlášení a přístup k prostředkům. Kvůli přístupu k zabezpečeným prostředkům pod vlastní identitou by klient skriptu tradičně potřeboval:

  • být zaregistrovaný a odsouhlasený s ID Microsoft Entra jako důvěrná/webová klientská aplikace
  • přihlaste se pod instančním objektem pomocí přihlašovacích údajů aplikace (které jsou pravděpodobně vložené do skriptu).

Když máte spravované identity pro prostředky Azure, klient skriptu už nemusí provádět žádné akce, protože se může přihlásit pod spravovanými identitami pro instanční objekt prostředků Azure.

Azure CLI

Následující skript ukazuje, jak:

  1. Přihlaste se k ID Microsoft Entra pod spravovanou identitou virtuálního počítače pro instanční objekt prostředků Azure.

  2. Zavolejte Azure Resource Manager a získejte ID instančního objektu virtuálního počítače. Rozhraní příkazového řádku se postará o automatickou správu získávání a používání tokenů. Nezapomeňte nahradit název <VM-NAME>vašeho virtuálního počítače .

    az login --identity
    
    $spID=$(az resource list -n <VM-NAME> --query [*].identity.principalId --out tsv)
    echo The managed identity for Azure resources service principal ID is $spID
    

Azure PowerShell

Následující skript ukazuje, jak:

  1. Přihlaste se k ID Microsoft Entra pod spravovanou identitou virtuálního počítače pro instanční objekt prostředků Azure.

  2. Pokud chcete získat informace o virtuálním počítači, zavolejte rutinu Azure Resource Manageru. PowerShell se postará o automatickou správu tokenů.

    Add-AzAccount -identity
    
    # Call Azure Resource Manager to get the service principal ID for the VM's managed identity for Azure resources. 
    $vmInfoPs = Get-AzVM -ResourceGroupName <RESOURCE-GROUP> -Name <VM-NAME>
    $spID = $vmInfoPs.Identity.PrincipalId
    echo "The managed identity for Azure resources service principal ID is $spID"
    

ID prostředků pro služby Azure

Podívejte se na služby Azure, které podporují ověřování Microsoft Entra, najdete v seznamu prostředků, které podporují ID Microsoft Entra a které byly testovány se spravovanými identitami pro prostředky Azure a jejich příslušnými ID prostředků.

Pokyny pro zpracování chyb

Odpovědi, například následující, můžou znamenat, že spravovaná identita virtuálního počítače pro prostředky Azure nebyla správně nakonfigurovaná:

  • PowerShell: Invoke-WebRequest: Nejde se připojit ke vzdálenému serveru
  • ROZHRANÍ příkazového řádku: MSI: Nepodařilo se načíst token z http://localhost:50342/oauth2/token http Připojení ionPool(host='localhost', port=50342)

Pokud se zobrazí jedna z těchto chyb, vraťte se na virtuální počítač Azure na webu Azure Portal a přejděte na stránku Identita a ujistěte se, že je přiřazený systém na Ano.

Další kroky