Federace identit úloh

Tento článek obsahuje přehled federace identit úloh pro softwarové úlohy. Použití federace identit úloh umožňuje přístup k prostředkům chráněným Microsoft Entra, aniž byste museli spravovat tajné kódy (pro podporované scénáře).

Federaci identit úloh můžete použít ve scénářích, jako jsou GitHub Actions, úlohy spuštěné v Kubernetes nebo úlohy běžící na výpočetních platformách mimo Azure.

Proč používat federaci identit úloh?

V tomto videu se dozvíte, proč byste použili federaci identit úloh.

Softwarová úloha (například aplikace, služba, skript nebo aplikace založená na kontejneru) obvykle potřebuje identitu, aby mohla ověřovat a přistupovat k prostředkům nebo komunikovat s jinými službami. Když tyto úlohy běží v Azure, můžete použít spravované identity a platforma Azure za vás spravuje přihlašovací údaje. Spravované identity ale můžete používat jenom pro softwarové úlohy spuštěné v Azure. V případě softwarové úlohy spuštěné mimo Azure je potřeba použít přihlašovací údaje aplikace (tajný klíč nebo certifikát) pro přístup k prostředkům chráněným Microsoft Entra (jako jsou Azure, Microsoft Graph, Microsoft 365 nebo prostředky třetích stran). Tyto přihlašovací údaje představují bezpečnostní riziko a musí se bezpečně ukládat a pravidelně obměňovat. Pokud vyprší platnost přihlašovacích údajů, riskujete také výpadek služby.

Federace identit úloh slouží ke konfiguraci spravované identity přiřazené uživatelem nebo registrace aplikace v Microsoft Entra ID tak, aby důvěřovala tokenům od externího zprostředkovatele identity (IDP), jako je GitHub nebo Google. Spravovaná identita přiřazená uživatelem nebo registrace aplikace v Microsoft Entra ID se stane identitou pro softwarové úlohy spuštěné, například v místních pracovních postupech Kubernetes nebo GitHub Actions. Po vytvoření vztahu důvěryhodnosti externí softwarové úlohy vyměňují důvěryhodné tokeny z externího zprostředkovatele identity pro přístupové tokeny z platformy Microsoft Identity Platform. Vaše softwarová úloha používá tento přístupový token pro přístup k prostředkům chráněným Microsoft Entra, ke kterým má úloha udělený přístup. Eliminujete náklady na údržbu ruční správy přihlašovacích údajů a eliminujete riziko úniku tajných kódů nebo vypršení platnosti certifikátů.

Podporované scénáře

Pro přístup k prostředkům chráněným Microsoft Entra pomocí federace identit úloh se podporují následující scénáře:

  • Úlohy spuštěné na jakémkoli clusteru Kubernetes (Azure Kubernetes Service (AKS), Amazon Web Services EKS, Google Kubernetes Engine (GKE) nebo místně. Vytvořte vztah důvěryhodnosti mezi spravovanou identitou přiřazenou uživatelem nebo aplikací v Microsoft Entra ID a úlohou Kubernetes (popsaný v přehledu identity úloh).
  • GitHub Actions. Nejprve nakonfigurujte vztah důvěryhodnosti mezi spravovanou identitou přiřazenou uživatelem nebo aplikací v Microsoft Entra ID a úložištěm GitHubu v Centru pro správu Microsoft Entra nebo pomocí Microsoft Graphu. Pak nakonfigurujte pracovní postup GitHub Actions tak, aby získal přístupový token od zprostředkovatele identity Microsoftu a přistupoval k prostředkům Azure.
  • Google Cloud. Nejprve nakonfigurujte vztah důvěryhodnosti mezi spravovanou identitou přiřazenou uživatelem nebo aplikací v Microsoft Entra ID a identitou v Google Cloudu. Potom nakonfigurujte svou softwarovou úlohu spuštěnou v Google Cloudu tak, aby získala přístupový token od zprostředkovatele identity Microsoftu a získala přístup k prostředkům chráněným microsoftem Entra. Viz Přístup k prostředkům chráněným Microsoft Entra z aplikace v Google Cloudu.
  • Úlohy spuštěné ve službě Amazon Web Services (AWS). Nejprve nakonfigurujte vztah důvěryhodnosti mezi spravovanou identitou přiřazenou uživatelem nebo aplikací v Microsoft Entra ID a identitou v Amazon Cognito. Pak nakonfigurujte svou softwarovou úlohu spuštěnou v AWS, aby získala přístupový token od zprostředkovatele identity Microsoftu a přistupovala k prostředkům chráněným Microsoft Entra. Viz Federace identit úloh pomocí AWS.
  • Jiné úlohy běžící na výpočetních platformách mimo Azure Nakonfigurujte vztah důvěryhodnosti mezi spravovanou identitou přiřazenou uživatelem nebo aplikací v Microsoft Entra ID a externím zprostředkovatele identity pro vaši výpočetní platformu. Tokeny vydané danou platformou můžete použít k ověřování pomocí platformy Microsoft Identity Platform a volání rozhraní API v ekosystému Microsoftu. Tok přihlašovacích údajů klienta použijte k získání přístupového tokenu z platformy Microsoft Identity Platform a předání JWT zprostředkovatele identity místo toho, abyste ho sami vytvořili pomocí uloženého certifikátu.
  • SPIFFE a SPIRE jsou sadou opensourcových standardů nezávislé na platformě pro poskytování identit softwarovým úlohám nasazeným napříč platformami a dodavateli cloudu. Nejprve nakonfigurujte vztah důvěryhodnosti mezi spravovanou identitou přiřazenou uživatelem nebo aplikací v Microsoft Entra ID a ID SPIFFE pro externí úlohu. Pak nakonfigurujte úlohu externího softwaru tak, aby získala přístupový token od zprostředkovatele identity Microsoftu a přistupovala k prostředkům chráněným Microsoft Entra. Viz Federace identit úloh pomocí SPIFFE a SPIRE.
  • Vytvořte nové připojení služby v Azure Pipelines (Preview). Vytvořte připojení služby Azure Resource Manager pomocí federace identit úloh.

Poznámka:

Pro toky federované identity se nemusí používat tokeny vydané id Microsoft Entra. Tok přihlašovacích údajů federované identity nepodporuje tokeny vydané ID Microsoft Entra.

Jak to funguje

Vytvořte vztah důvěryhodnosti mezi externím zprostředkovatele identity a spravovanou identitou přiřazenou uživatelem nebo aplikací v Microsoft Entra ID. Přihlašovací údaje federované identity slouží k označení tokenu z externího zprostředkovatele identity, kterému má vaše aplikace nebo spravovaná identita důvěřovat. Federovanou identitu nakonfigurujete:

  • Spravovanou identitu přiřazenou uživatelem prostřednictvím šablon Azure Resource Manageru (ARM) v Centru pro správu Microsoft Entra, Azure CLI, Azure PowerShellu, Sady Azure SDK a Azure Resource Manageru (ARM). Externí úloha používá přístupový token pro přístup k prostředkům chráněným Microsoft Entra bez nutnosti spravovat tajné kódy (v podporovaných scénářích). Postup konfigurace vztahu důvěryhodnosti se bude lišit v závislosti na scénáři a externím zprostředkovatele identity.
  • Registrace aplikace v Centru pro správu Microsoft Entra nebo prostřednictvím Microsoft Graphu Tato konfigurace umožňuje získat přístupový token pro vaši aplikaci, aniž byste museli spravovat tajné kódy mimo Azure. Další informace najdete v tématu Konfigurace aplikace tak, aby důvěřovala externímu zprostředkovateli identity.

Pracovní postup výměny externího tokenu pro přístupový token je však stejný pro všechny scénáře. Následující diagram znázorňuje obecný pracovní postup úlohy výměny externího tokenu pro přístupový token a následný přístup k prostředkům chráněným microsoftem Entra.

Diagram showing an external token exchanged for an access token and accessing Azure

  1. Externí úloha (například pracovní postup GitHub Actions) vyžaduje token z externího zprostředkovatele identity (například GitHub).
  2. Externí zprostředkovatele identity vydává token pro externí úlohu.
  3. Externí úloha (například přihlašovací akce v pracovním postupu GitHubu) odešle token do platformy Microsoft Identity Platform a požádá o přístupový token.
  4. Platforma Microsoft Identity Platform kontroluje vztah důvěryhodnosti u spravované identity nebo registrace spravované identity přiřazené uživatelem a ověřuje externí token vůči adrese URL vystavitele OpenID Připojení (OIDC) na externím zprostředkovateli identity.
  5. Po splnění kontrol platforma Microsoft Identity Platform vydá přístupový token k externí úloze.
  6. Externí úloha přistupuje k prostředkům chráněným Microsoft Entra pomocí přístupového tokenu z platformy Microsoft Identity Platform. Pracovní postup GitHub Actions například používá přístupový token k publikování webové aplikace do služby Aplikace Azure Service.

Platforma Microsoft Identity Platform ukládá pouze prvních 100 podpisových klíčů, když se stáhnou z koncového bodu OIDC externího zprostředkovatele identity. Pokud externí zprostředkovatele identity zveřejňuje více než 100 podpisových klíčů, může dojít k chybám při používání federace identit úloh.

Další kroky

Další informace o fungování federace identit úloh: