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:

Diagram znázorňující přidružení identit spravovaných služeb k virtuálním počítačům Azure, získání přístupového tokenu a vyvolání chráněného prostředku Microsoft Entra

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

  1. Azure Resource Manager přijme požadavek, aby na virtuálním počítači povolil spravovanou identitu přiřazenou systémem.

  2. 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.

  3. 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.

  4. 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.

  5. 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
    
  6. 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).

  7. 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

  1. Azure Resource Manager přijme požadavek na vytvoření spravované identity přiřazené uživatelem.

  2. 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.

  3. 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.

  4. 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.

  5. 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:

      Snímek obrazovky, který ukazuje, jak zkopírovat ID klienta 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=12345678-0000-0000-0000-000000000000' -H Metadata:true
      
  6. 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).

  7. 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: