Sdílet prostřednictvím


Koncepty federace identit úloh

Zjistěte, jak federace identit úloh umožňuje zabezpečený přístup k prostředkům chráněným Microsoft Entra bez správy tajných kódů. Tento článek obsahuje přehled jejích výhod a podporovaných scénářů.

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. V případě softwarové úlohy spuštěné mimo Azure nebo těch, které běží v Azure, ale pro jejich identity používají registrace aplikací, musíte 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ěry vaše externí softwarové pracovní zátěže vyměňují důvěryhodné tokeny od externího zprostředkovatele identity za přístupové tokeny z platformy Microsoft Identity. 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 důvěryhodný vztah mezi uživatelsky přiřazenou spravovanou identitou nebo aplikací v Microsoft Entra ID a úlohou Kubernetes (popsané v přehledu identity úloh ).
  • GitHub Actions (akcí GitHubu) 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.
  • Úlohy běžící na výpočetních platformách Azure s využitím identit aplikací Nejprve přiřaďte spravovanou identitu přiřazenou uživatelem k virtuálnímu počítači Azure nebo službě App Service. Pak nakonfigurovat vztah důvěryhodnosti mezi vaší aplikací a identitou přiřazenou uživatelem.
  • 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 uživatelsky přiřazenou spravovanou identitou nebo aplikací v Microsoft Entra ID a externím zprostředkovatelem identity pro vaši platformu výpočetní techniky. 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. Flow klientských pověření použijte k získání přístupového tokenu z platformy Microsoft Identity a předáním JWT zprostředkovatele identity, než abyste jej 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 připojení služby v Azure Pipelines. 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 poskytovatelem identity (IdP) a spravovanou identitou přiřazenou uživatelem nebo aplikací v Microsoft Entra ID. Přihlašovací údaje federované identity jsou používány k určení, který token z externího zprostředkovatele identity by měl být důvěryhodný pro vaši aplikaci nebo spravovanou identitu. Federovanou identitu nakonfigurujete jedním z následujících způsobů:

  • Spravovanou identitu přiřazenou uživatelem prostřednictvím Centra pro správu Microsoft Entra, Azure CLI, Azure PowerShell, Sady Azure SDK a šablon 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ěry se liší v závislosti na scénáři a externím poskytovateli identity.
  • Registrace aplikace v Microsoft Entra admin center 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 o tom, jak nakonfigurovat aplikaci tak, aby důvěřovala externímu poskytovateli identity a jak nakonfigurovat vztah důvěryhodnosti mezi aplikací a spravovanou identitou přiřazenou uživatelem.

Poznámka:

Přihlašovací údaje federované identity issuer, subject a hodnoty audience musí přesně rozlišovat velká a malá písmena a odpovídat hodnotám issuer, subject a audience uvedeným v tokenu, který je odesílán do Microsoft Entra ID externím poskytovatelem identity, aby mohl být tento scénář autorizován. Další informace o této změně najdete v tématu Co je nového pro ověřování.

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 znázorňující externí token vyměněný za přístupový token a přístup k 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 platformě Microsoft Identity Platform a požádá o přístupový token.
  4. Platforma Microsoft identity zkontroluje vztah důvěryhodnosti se spravovanou identitou přiřazenou uživatelem nebo registrací aplikace a ověří externí token podle adresy URL vystavitele OpenID Connect (OIDC) u externího poskytovatele 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 ukládá pouze prvních 100 podpisových klíčů, když jsou staženy z koncového bodu OIDC externího zprostředkovatele identity. Pokud externí zprostředkovatel identity odhaluje více než 100 podpisových klíčů, mohou nastat chyby při použití federace identit úloh.

Viz také