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 ještě neznáte funkci spravovaných identit pro prostředky Azure, podívejte se na tento přehled. Pokud nemáte účet Azure, zaregistrujte si bezplatný účet před tím, než budete pokračovat.
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:
Přihlaste se k Azure AD pod spravovanou identitou virtuálního počítače pro instanční objekt prostředků Azure.
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:
Přihlaste se k Azure AD pod spravovanou identitou virtuálního počítače pro instanční objekt prostředků Azure.
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
- Pokud chcete povolit spravované identity pro prostředky Azure na virtuálním počítači Azure, přečtěte si téma Konfigurace spravovaných identit pro prostředky Azure na virtuálním počítači Azure pomocí PowerShellu nebo konfigurace spravovaných identit pro prostředky Azure na virtuálním počítači Azure pomocí Azure CLI.