Instanční objekty aplikací a služeb v Azure Active Directory

Tento článek popisuje registraci aplikací, objekty aplikací a instanční objekty v Azure Active Directory (Azure AD): co jsou, jak se používají a jak spolu souvisejí. Zobrazí se také ukázkový scénář s více tenanty, který znázorňuje vztah mezi objektem aplikace a odpovídajícími objekty instančního objektu.

Registrace aplikací

Pokud chcete delegovat funkce správy identit a přístupu na Azure AD, musí být aplikace zaregistrovaná v tenantovi Azure AD. Při registraci aplikace v Azure AD vytváříte konfiguraci identity pro vaši aplikaci, která umožňuje integraci s Azure AD. Když zaregistrujete aplikaci v Azure Portal, zvolíte, jestli se jedná o jednoho tenanta nebo více tenantů, a můžete volitelně nastavit identifikátor URI přesměrování. Podrobné pokyny k registraci aplikace najdete v rychlém startu registrace aplikace.

Po dokončení registrace aplikace máte globálně jedinečnou instanci aplikace (objekt aplikace), která se nachází ve vašem domovském tenantovi nebo adresáři. Máte také globálně jedinečné ID aplikace (id aplikace nebo klienta). Na portálu pak můžete přidat tajné kódy nebo certifikáty a obory, aby aplikace fungovala, přizpůsobila branding aplikace v dialogovém okně pro přihlášení a další.

Pokud aplikaci zaregistrujete na portálu, objekt aplikace a instanční objekt se automaticky vytvoří ve vašem domovském tenantovi. Pokud zaregistrujete nebo vytvoříte aplikaci pomocí rozhraní Microsoft Graph API, vytvoření instančního objektu je samostatný krok.

Objekt aplikace

Aplikace Azure AD je definována jedním a jediným objektem aplikace, který se nachází v tenantovi Azure AD, ve kterém byla aplikace zaregistrována (označuje se jako "domovský" tenant aplikace). Objekt aplikace se používá jako šablona nebo podrobný plán k vytvoření jednoho nebo více objektů instančního objektu. Instanční objekt se vytvoří v každém tenantovi, ve kterém se aplikace používá. Podobně jako u třídy v objektově orientovaném programování má objekt aplikace některé statické vlastnosti, které se použijí na všechny vytvořené instanční objekty (nebo instance aplikace).

Objekt aplikace popisuje tři aspekty aplikace:

  • Jak může služba vydávat tokeny za účelem přístupu k aplikaci
  • Prostředky, ke kterým může aplikace potřebovat přístup
  • Akce, které může aplikace provést

Stránku Registrace aplikací na Azure Portal můžete použít k výpisu a správě objektů aplikace ve vašem domovském tenantovi.

okno Registrace aplikací

Entita aplikace Microsoft Graph definuje schéma vlastností objektu aplikace.

Instanční objekt

Pokud chcete získat přístup k prostředkům zabezpečeným tenantem Azure AD, musí být entita, která vyžaduje přístup, reprezentována objektem zabezpečení. Tento požadavek platí pro uživatele (instanční objekt) i aplikace (instanční objekt). Objekt zabezpečení definuje zásady přístupu a oprávnění pro uživatele nebo aplikaci v tenantovi Azure AD. To umožňuje základní funkce, jako je ověřování uživatele nebo aplikace během přihlašování a autorizace během přístupu k prostředkům.

Existují tři typy instančního objektu:

  • Aplikace – Typ instančního objektu je místní reprezentace nebo instance aplikace globálního objektu aplikace v jednom tenantovi nebo adresáři. V tomto případě je instanční objekt konkrétní instancí vytvořenou z objektu aplikace a dědí určité vlastnosti z tohoto objektu aplikace. Instanční objekt se vytvoří v každém tenantovi, kde se aplikace používá, a odkazuje na globálně jedinečný objekt aplikace. Instanční objekt definuje, co aplikace může ve skutečnosti dělat v konkrétním tenantovi, kdo má přístup k aplikaci a k jakým prostředkům má aplikace přístup.

    Když je aplikaci uděleno oprávnění pro přístup k prostředkům v tenantovi (při registraci nebo souhlasu), vytvoří se objekt instančního objektu. Když zaregistrujete aplikaci pomocí Azure Portal, vytvoří se instanční objekt automaticky. Instanční objekty můžete v tenantovi vytvářet také pomocí Azure PowerShell, Azure CLI, Microsoft Graphu a dalších nástrojů.

  • Spravovaná identita – Tento typ instančního objektu se používá k reprezentaci spravované identity. Spravované identity eliminují potřebu vývojářů spravovat tyto přihlašovací údaje. Spravované identity poskytují identitu aplikacím, které se mají použít při připojování k prostředkům, které podporují ověřování Azure AD. Pokud je povolená spravovaná identita, vytvoří se ve vašem tenantovi instanční objekt představující tuto spravovanou identitu. Instanční objekty představující spravované identity můžou mít udělený přístup a oprávnění, ale nedají se aktualizovat ani upravovat přímo.

  • Starší verze – Tento typ instančního objektu představuje starší verzi aplikace, což je aplikace vytvořená před zavedením registrace aplikací nebo aplikací vytvořených prostřednictvím starších prostředí. Starší instanční objekt může mít přihlašovací údaje, hlavní názvy služeb, adresy URL odpovědí a další vlastnosti, které může autorizovaný uživatel upravovat, ale nemá přidruženou registraci aplikace. Instanční objekt lze použít pouze v tenantovi, ve kterém byl vytvořen.

Entita Microsoft Graph ServicePrincipal definuje schéma vlastností instančního objektu.

Pomocí stránky Podnikové aplikace v Azure Portal můžete vypsat a spravovat instanční objekty v tenantovi. Můžete zobrazit oprávnění instančního objektu, oprávnění udělená uživatelem, která uživatelé tento souhlas provedli, přihlašovací informace a další.

Okno Podnikové aplikace

Vztah mezi objekty aplikace a instančními objekty

Objekt aplikace je globální reprezentace vaší aplikace pro použití ve všech tenantech a instanční objekt je místní reprezentace pro použití v konkrétním tenantovi. Aplikační objekt slouží jako šablona, ze které se odvozují běžné nebo výchozí vlastnosti, které se používají při vytváření odpovídajících instančních objektů.

Objekt aplikace obsahuje:

  • Vztah 1:1 se softwarovou aplikací a
  • Relace 1:N s odpovídajícími objekty instančního objektu

Instanční objekt musí být vytvořen v každém tenantovi, kde se aplikace používá, a umožnit mu vytvořit identitu pro přihlášení a/nebo přístup k prostředkům zabezpečeným tenantem. Aplikace s jedním tenantem má jenom jeden instanční objekt (ve svém domovském tenantovi), který je vytvořený a odsouhlasený k použití při registraci aplikace. Aplikace s více tenanty má také instanční objekt vytvořený v každém tenantovi, kde uživatel z daného tenanta souhlasil s jeho použitím.

Důsledky úpravy a odstraňování aplikací

Všechny změny provedené v objektu aplikace se také projeví v objektu instančního objektu pouze v domovském tenantovi aplikace (tenanta, ve kterém byl zaregistrován). To znamená, že odstraněním objektu aplikace dojde také k odstranění objektu instančního objektu domovského tenanta. Obnovení objektu aplikace prostřednictvím uživatelského rozhraní registrace aplikací ale neobnoví odpovídající instanční objekt. Další informace o odstranění a obnovení aplikací a jejich instančních objektů najdete v tématu odstranění a obnovení aplikací a instančních objektů.

Příklad

Následující diagram znázorňuje vztah mezi objektem aplikace a odpovídajícími objekty instančního objektu v kontextu ukázkové aplikace s více tenanty, která se nazývá aplikace HR. V tomto ukázkové situaci existují tři tenanti Azure AD:

  • Adatum – tenant používaný společností, která vyvinula aplikaci HR
  • Contoso – tenant, který používá organizace Contoso, což je spotřebitel aplikace personálního oddělení
  • Fabrikam – tenant používaný organizací Fabrikam, který také využívá aplikaci HR

Vztah mezi objektem aplikace a instančním objektem

V tomto ukázkové situaci:

Krok Popis
1 Proces vytváření objektů aplikace a instančního objektu v domovském tenantovi aplikace
2 Když správci Společnosti Contoso a Fabrikam dokončí souhlas, vytvoří se objekt instančního objektu v Azure AD tenantovi své společnosti a přiřadí mu oprávnění, která správce udělil. Mějte také na paměti, že aplikaci personálního oddělení je možné nakonfigurovat nebo navrhnout tak, aby umožňovala souhlas uživatelům pro individuální použití.
3 Tenanti příjemce aplikace personálního oddělení (Contoso a Fabrikam) mají vlastní objekt instančního objektu. Každý představuje jejich použití instance aplikace za běhu, která se řídí oprávněními udělenými příslušným správcem.

Další kroky

Zjistěte, jak vytvořit instanční objekt: