Zabezpečení instančních objektů v Microsoft Entra ID

Instanční objekt Microsoft Entra je místní reprezentace objektu aplikace v tenantovi nebo adresáři. Je to identita instance aplikace. Instanční objekty definují přístup k aplikacím a prostředky, ke které aplikace přistupuje. Instanční objekt je vytvořen v každém klientu, kde se aplikace používá, a odkazuje na globálně jedinečný objekt aplikace. Tenant zabezpečuje přihlášení instančního objektu a přístup k prostředkům.

Další informace: Objekty aplikace a instanční objekty v ID Microsoft Entra

Vztahy instančního objektu tenanta

Aplikace s jedním tenantem má ve svém domovském tenantovi jeden instanční objekt. Webová aplikace nebo rozhraní API s více tenanty vyžaduje instanční objekt v každém tenantovi. Instanční objekt se vytvoří, když uživatel z tohoto tenanta souhlasí s používáním aplikace nebo rozhraní API. Tento souhlas vytvoří vztah 1:N mezi aplikací s více tenanty a přidruženými instančními objekty.

Aplikace s více tenanty se nachází v tenantovi a má instance v jiných tenantech. Většina aplikací typu software jako služba (SaaS) je součástí víceklientské architektury. Instanční objekty slouží k zajištění potřebného stavu zabezpečení pro aplikaci a jejích uživatelů ve scénářích s jedním a více tenanty.

APPLICATIONID a ObjectID

Instance aplikace má dvě vlastnosti: ApplicationID (nebo ClientID) a ObjectID.

Poznámka:

Termíny aplikace a instanční objekt se používají zaměnitelně při odkazech na aplikaci v úlohách ověřování. Jedná se však o dvě reprezentace aplikací v MICROSOFT Entra ID.

ID aplikace představuje globální aplikaci a je stejná pro instance aplikací napříč tenanty. ObjectID je jedinečná hodnota objektu aplikace. Stejně jako u uživatelů, skupin a dalších prostředků pomáhá ObjectID identifikovat instanci aplikace v Microsoft Entra ID.

Další informace najdete v tématu Vztah aplikace a instančního objektu v ID Microsoft Entra

Vytvoření aplikace a jejího instančního objektu

Aplikaci a její instanční objekt (ObjectID) v tenantovi můžete vytvořit pomocí:

  • Azure PowerShell
  • Microsoft Graph PowerShell
  • Rozhraní příkazového řádku Azure (Azure CLI)
  • Microsoft Graph API
  • Azure Portal
  • Další nástroje

Screenshot of Application or Client ID and Object ID on the New App page.

Ověřování instančního objektu

Při použití instančních objektů – klientských certifikátů a tajných klíčů klienta existují dva mechanismy ověřování.

Screenshot of Certificates and Client secrets under New App, Certificates and secrets.

Vzhledem k tomu, že jsou certifikáty bezpečnější, doporučujeme je používat, pokud je to možné. Na rozdíl od tajných klíčů klienta není možné certifikáty klientů vkládat do kódu omylem. Pokud je to možné, použijte Azure Key Vault pro správu certifikátů a tajných kódů k šifrování prostředků pomocí klíčů chráněných moduly hardwarového zabezpečení:

  • Ověřovací klíče
  • Klíče účtu úložiště
  • Šifrovací klíče dat
  • Soubory .pfx
  • Passwords

Další informace o službě Azure Key Vault a jeho použití pro správu certifikátů a tajných kódů najdete v tématech:

Výzvy a zmírnění rizik

Pokud používáte instanční objekty, použijte následující tabulku ke shodě s výzvami a zmírněními rizik.

Výzva Zmírnění
Kontroly přístupu pro instanční objekty přiřazené k privilegovaným rolím Tato funkce je ve verzi Preview.
Kontroly přístupu instančního objektu Ruční kontrola seznamu řízení přístupu k prostředkům pomocí webu Azure Portal
Instanční objekty s více oprávněními Při vytváření účtů služby Automation nebo instančních objektů udělte oprávnění k úloze. Vyhodnoťte instanční objekty, abyste snížili oprávnění.
Identifikace změn přihlašovacích údajů instančního objektu nebo metod ověřování - Viz sešit
sestavy citlivých operací - viz blogový příspěvek technické komunity, sešit Microsoft Entra, který vám pomůže vyhodnotit rizika Solorigate

Vyhledání účtů pomocí instančních objektů

Pokud chcete najít účty, spusťte následující příkazy pomocí instančních objektů pomocí Azure CLI nebo PowerShellu.

  • Azure CLI – az ad sp list
  • Powershell- Get-MgServicePrincipal -All:$true

Další informace naleznete v tématu Get-MgServicePrincipal

Posouzení zabezpečení instančního objektu

Pokud chcete vyhodnotit zabezpečení, vyhodnoťte oprávnění a úložiště přihlašovacích údajů. Pomocí následující tabulky můžete zmírnit problémy:

Výzva Zmírnění
Zjištění uživatele, který souhlasil s aplikací s více tenanty, a zjištění neoprávněných udělení souhlasu pro aplikaci s více tenanty – Spuštěním následujícího PowerShellu vyhledejte aplikace s více tenanty.
Get-MgServicePrincipal -All:$true | ? {$_.Tags -eq "WindowsAzureActiveDirectoryIntegratedApp"}
– Zakázání souhlasu
uživatele – Povolení souhlasu uživatele od ověřených vydavatelů pro vybraná oprávnění (doporučeno)
– Konfigurace v kontextu
uživatele – Použití tokenů k aktivaci instančního objektu
Použití pevně zakódovaného sdíleného tajného kódu ve skriptu pomocí instančního objektu Použití certifikátu
Sledování, kdo používá certifikát nebo tajný kód Monitorování přihlášení instančního objektu pomocí protokolů přihlašování Microsoft Entra
Nejde spravovat přihlášení instančního objektu pomocí podmíněného přístupu Monitorování přihlášení pomocí protokolů přihlašování Microsoft Entra
Přispěvatel je výchozí role řízení přístupu na základě role v Azure (Azure RBAC). Vyhodnocení potřeb a použití nejnižších možných oprávnění

Další informace: Co je podmíněný přístup?

Přechod z uživatelského účtu na instanční objekt

Pokud jako instanční objekt používáte uživatelský účet Azure, vyhodnoťte, jestli můžete přejít na spravovanou identitu nebo instanční objekt. Pokud nemůžete použít spravovanou identitu, udělte instančnímu objektu dostatečná oprávnění a obor ke spuštění požadovaných úloh. Instanční objekt můžete vytvořit registrací aplikace nebo pomocí PowerShellu.

Při používání Microsoft Graphu si projděte dokumentaci k rozhraní API. Ujistěte se, že je podporovaný typ oprávnění pro aplikaci.
Viz, vytvoření servicePrincipal

Další informace:

Další kroky

Další informace o instančních objektech:

Účty zabezpečené služby:

Podmíněný přístup:

Pomocí podmíněného přístupu zablokujte instanční objekty z nedůvěryhodných umístění.

Viz, Vytvoření zásad podmíněného přístupu založeného na umístění