Jak spravované identity pro prostředky Azure fungují s virtuálními počítači Azure
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 dozvíte, jak spravované identity fungují s virtuálními počítači Azure.
Jak to funguje
Spravované identity jsou interně instančními objekty speciálního typu, které je možné použít pouze s prostředky Azure. Po odstranění spravované identity se odpovídající instanční objekt automaticky odebere. Při vytvoření identity přiřazené uživatelem nebo systémem také poskytovatel prostředků spravované identity (MSRP) vydá certifikát interně této identitě.
Váš kód může použít spravovanou identitu k vyžádání přístupových tokenů pro služby, které podporují ověřování Microsoft Entra. Azure zajistí vracení přístupových údajů, které instance služby používá.
Následující diagram ukazuje fungování identit spravovaných služeb s virtuálními počítači Azure:
Následující tabulka ukazuje rozdíly mezi spravovanými identitami přiřazenými systémem a přiřazenými uživatelem:
Vlastnost | Spravovaná identita přiřazená systémem | Spravovaná identita přiřazená uživatelem |
---|---|---|
Vytvoření | Vytvořeno jako součást prostředku Azure (například virtuální počítač Azure nebo služba Aplikace Azure). | Vytvořeno jako samostatný prostředek Azure. |
Životní cyklus | Sdílený životní cyklus s prostředkem Azure, se kterým je spravovaná identita vytvořená. Po odstranění nadřazeného prostředku se také odstraní spravovaná identita. |
Nezávislý životní cyklus. Je nutné explicitně odstranit. |
Sdílení napříč prostředky Azure | Nejde sdílet. Dá se přidružit jenom k jednomu prostředku Azure. |
Je možné sdílet. Stejnou spravovanou identitu přiřazenou uživatelem je možné přidružit k více prostředkům Azure. |
Běžné případy použití | Úlohy obsažené v jednom prostředku Azure Úlohy, pro které potřebujete nezávislé identity. Například aplikace, která běží na jednom virtuálním počítači |
Úlohy, které běží na více prostředcích a které můžou sdílet jednu identitu Úlohy, které potřebují předběžnou autorizaci k zabezpečenému prostředku jako součást toku zřizování Úlohy, ve kterých se prostředky recyklují často, ale oprávnění by měla zůstat konzistentní. Například úloha, ve které více virtuálních počítačů potřebuje přístup ke stejnému prostředku |
Spravovaná identita přiřazená systémem
Azure Resource Manager přijme požadavek, aby na virtuálním počítači povolil spravovanou identitu přiřazenou systémem.
Azure Resource Manager vytvoří instanční objekt v Microsoft Entra ID pro identitu virtuálního počítače. Instanční objekt se vytvoří v tenantovi Microsoft Entra, kterému předplatné důvěřuje.
Azure Resource Manager aktualizuje identitu virtuálního počítače pomocí koncového bodu identity služby Azure Instance Metadata Service (pro Windows a Linux), který poskytuje koncový bod s ID klienta a certifikátem instančního objektu.
Jakmile bude virtuální počítač mít identitu, s použitím informací o instančním objektu udělte virtuálnímu počítači přístup k prostředkům Azure. Pokud chcete volat Azure Resource Manager, přiřaďte k instančnímu objektu virtuálního počítače příslušnou roli pomocí řízení přístupu na základě role (Azure RBAC). Pokud chcete volat službu Key Vault, udělte kódu přístup ke konkrétnímu tajnému kódu nebo klíči ve službě Key Vault.
Váš kód spuštěný na virtuálním počítači může požádat o token z koncového bodu služby Azure Instance Metadata, který je přístupný jenom z virtuálního počítače:
http://169.254.169.254/metadata/identity/oauth2/token
- Parametr resource (prostředek) určuje službu, do které se token odešle. K ověření v Azure Resource Manageru použijte
resource=https://management.azure.com/
. - Parametr verze rozhraní API určuje verzi IMDS. Použijte api-version=2018-02-01 nebo novější.
Následující příklad ukazuje, jak použít CURL k vytvoření požadavku na místní koncový bod spravované identity k získání přístupového tokenu pro službu Azure Instance Metadata.
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fstorage.azure.com%2F' -H Metadata:true
- Parametr resource (prostředek) určuje službu, do které se token odešle. K ověření v Azure Resource Manageru použijte
Volání microsoft Entra ID k vyžádání přístupového tokenu (jak je uvedeno v kroku 5) pomocí ID klienta a certifikátu nakonfigurovaného v kroku 3. Microsoft Entra ID vrátí přístupový token JSON Web Token (JWT).
Váš kód odešle přístupový token při volání služby, která podporuje ověřování Microsoft Entra.
Spravovaná identita přiřazená uživatelem
Azure Resource Manager přijme požadavek na vytvoření spravované identity přiřazené uživatelem.
Azure Resource Manager vytvoří instanční objekt v MICROSOFT Entra ID pro spravovanou identitu přiřazenou uživatelem. Instanční objekt se vytvoří v tenantovi Microsoft Entra, kterému předplatné důvěřuje.
Azure Resource Manager obdrží požadavek na konfiguraci spravované identity přiřazené uživatelem na virtuálním počítači a aktualizuje koncový bod identity služby Azure Instance Metadata Service pomocí ID klienta a certifikátu instančního objektu spravované identity přiřazené uživatelem.
Jakmile vytvoříte spravovanou identitu přiřazenou uživatelem, použijte informace o instančním objektu a udělte identitě přístup k prostředkům Azure. Pokud chcete volat Azure Resource Manager, pomocí Azure RBAC přiřaďte příslušné roli instančnímu objektu identity přiřazené uživatelem. Pokud chcete volat službu Key Vault, udělte kódu přístup ke konkrétnímu tajnému kódu nebo klíči ve službě Key Vault.
Poznámka:
Tento krok můžete provést také před krokem 3.
Váš kód spuštěný na virtuálním počítači může požádat o token z koncového bodu identity služby Azure Instance Metadata Service, který je přístupný jenom z virtuálního počítače:
http://169.254.169.254/metadata/identity/oauth2/token
Parametr resource (prostředek) určuje službu, do které se token odešle. K ověření v Azure Resource Manageru použijte
resource=https://management.azure.com/
.Parametr
client_id
určuje identitu, pro kterou se token požaduje. Tato hodnota je nutná k jednoznačnému určení v případě, že je na jednom virtuálním počítači více identit přiřazených uživatelem. ID klienta najdete v přehledu spravované identity:Parametr verze rozhraní API určuje verzi služby Azure Instance Metadata Service. Použijte
api-version=2018-02-01
nebo novější.Následující příklad ukazuje, jak použít CURL k vytvoření požadavku na místní koncový bod spravované identity k získání přístupového tokenu pro službu Azure Instance Metadata.
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fstorage.azure.com%2F&client_id=00001111-aaaa-2222-bbbb-3333cccc4444' -H Metadata:true
Volání microsoft Entra ID k vyžádání přístupového tokenu (jak je uvedeno v kroku 5) pomocí ID klienta a certifikátu nakonfigurovaného v kroku 3. Microsoft Entra ID vrátí přístupový token JSON Web Token (JWT).
Váš kód odešle přístupový token při volání služby, která podporuje ověřování Microsoft Entra.
Další kroky
Pokud chcete začít používat funkci spravovaných identit prostředků Azure, projděte si následující články Rychlý start: