Jak používat spravované identity pro prostředky Azure na virtuálním počítači Azure k přihlášení

Spravované identity pro prostředky Azure jsou funkcí služby Azure Active Directory. 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

Tento článek používá modul Azure Az PowerShellu, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci 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 plánujete používat příklady Azure PowerShell nebo Azure CLI v tomto článku, nezapomeňte nainstalovat nejnovější verzi Azure PowerShell 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 s povolenými spravovanými identitami pro prostředky Azure. Pomocí funkce Připojení virtuálního počítače v 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í Azure Portal nebo některého z článků variant (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 Manager. Podrobnosti najdete v tématu Přiřazení spravovaných identit k prostředkům Azure pomocí 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. Pro přístup k zabezpečeným prostředkům v rámci vlastní identity by klient skriptu tradičně potřeboval:

  • být zaregistrovaný a odsouhlasený s Azure AD jako důvěrná nebo 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).

U spravovaných identit pro prostředky Azure už klient skriptu nemusí provádět, 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 Azure AD 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>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 Azure AD pod spravovanou identitou virtuálního počítače pro instanční objekt prostředků Azure.

  2. Zavolejte rutinu Azure Resource Manager a získejte informace o virtuálním počítači. PowerShell se postará o automatickou správu používání 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í Azure AD , najdete v seznamu prostředků, které podporují Azure AD, a 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 chyby HTTPConnectionPool(host='localhost', port=50342)

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

Další kroky