Konfigurace deklarací identity skupin pro aplikace pomocí ID Microsoft Entra

Microsoft Entra ID může poskytnout informace o členství uživatele ve skupinách v tokenech pro použití v aplikacích. Tato funkce podporuje tři hlavní vzory:

  • Skupiny identifikované pomocí atributu Microsoft Entra object identifier (OID)
  • Skupiny identifikované atributem nebo GroupSID skupinami synchronizovanými službou sAMAccountName Active Directory
  • Skupiny identifikované atributem Zobrazovaný název pro skupiny pouze v cloudu

Důležité

Počet skupin vygenerovaných v tokenu je omezený na 150 pro kontrolní výrazy SAML a 200 pro JWT, včetně vnořených skupin. Ve větších organizacích může počet skupin, ve kterých je uživatel členem, překročit limit, který microsoft Entra ID přidá do tokenu. Překročení limitu může vést k nepředvídatelným výsledkům. Alternativní řešení těchto omezení najdete v důležitých upozorněních pro tuto funkci.

Důležité upozornění pro tuto funkci

  • Podpora použití atributů identifikátorů sAMAccountName zabezpečení (SID) synchronizovaných z místního prostředí je navržená tak, aby umožňovala přesun stávajících aplikací z Active Directory Federation Services (AD FS) (AD FS) a dalších zprostředkovatelů identity. Skupiny spravované v MICROSOFT Entra ID neobsahují atributy potřebné k generování těchto deklarací identity.

  • Abyste se vyhnuli limitu počtu skupin, pokud uživatelé mají velký počet členství ve skupinách, můžete omezit skupiny vygenerované v deklarací identity na příslušné skupiny pro aplikaci. Přečtěte si další informace o generování skupin přiřazených k aplikaci pro tokeny JWT a tokeny SAML. Pokud přiřazení skupin k aplikacím není možné, můžete také nakonfigurovat filtr skupiny, abyste snížili počet skupin vygenerovaných v deklaraci identity. Filtrování skupin se vztahuje na tokeny vygenerované pro aplikace, ve kterých byly deklarace identity skupin a filtrování nakonfigurované v okně Podnikové aplikace na portálu.

  • Deklarace identity skupin mají limit pěti skupin, pokud je token vystavený prostřednictvím implicitního toku. Tokeny požadované prostřednictvím implicitního toku budou mít "hasgroups":true deklaraci identity pouze v případě, že je uživatel ve více než pěti skupinách.

  • Doporučujeme místo skupin založit autorizaci v aplikaci na rolích aplikací:

    • Vyvíjíte novou aplikaci nebo pro ni můžete nakonfigurovat existující aplikaci.
    • Podpora vnořených skupin se nevyžaduje.

    Použití aplikačních rolí omezuje množství informací, které je potřeba do tokenu přejít, je bezpečnější a odděluje přiřazení uživatelů od konfigurace aplikace.

Deklarace identity skupin pro aplikace migrující ze služby AD FS a dalších zprostředkovatelů identity

Mnoho aplikací, které jsou nakonfigurované pro ověřování pomocí služby AD FS, závisí na informacích o členství ve skupinách ve formě atributů skupiny služby Active Directory systému Windows Server. Tyto atributy jsou skupina sAMAccountName, která může být kvalifikovaná podle názvu domény nebo identifikátoru zabezpečení skupiny Systému Windows (GroupSID). Když je aplikace federovaná se službou AD FS, služba AD FS použije TokenGroups funkci k načtení členství ve skupinách pro uživatele.

Aplikace přesunutá ze služby AD FS potřebuje deklarace identity ve stejném formátu. Deklarace identity skupin a rolí generované z ID Microsoft Entra mohou obsahovat atribut kvalifikovaný sAMAccountName pro doménu nebo GroupSID atribut synchronizovaný ze služby Active Directory, a ne atribut Microsoft Entra ID objectID skupiny.

Podporované formáty deklarací identity skupin jsou:

  • Microsoft Entra group ObjectId: K dispozici pro všechny skupiny.
  • sAMAccountName: K dispozici pro skupiny synchronizované ze služby Active Directory.
  • NetbiosDomain\sAMAccountName: K dispozici pro skupiny synchronizované ze služby Active Directory.
  • DNSDomainName\sAMAccountName: K dispozici pro skupiny synchronizované ze služby Active Directory.
  • Identifikátor zabezpečení místní skupiny: K dispozici pro skupiny synchronizované ze služby Active Directory.

Poznámka:

sAMAccountName a místní GroupSID atributy jsou k dispozici pouze u objektů skupiny synchronizovaných ze služby Active Directory. Nejsou dostupné u skupin vytvořených v Microsoft Entra ID nebo Office 365. Aplikace nakonfigurované v Microsoft Entra ID pro získání synchronizovaných atributů místní skupiny je získají pouze pro synchronizované skupiny.

Možnosti pro aplikace pro využívání informací o skupině

Aplikace můžou volat koncový bod skupiny Microsoft Graphu, aby získaly informace o skupině ověřeného uživatele. Toto volání zajišťuje, že jsou k dispozici všechny skupiny, ve kterých je uživatel členem, i když je zapojen velký počet skupin. Výčet skupin je pak nezávislý na omezení velikosti tokenu.

Pokud ale existující aplikace očekává, že bude využívat informace o skupině prostřednictvím deklarací identity, můžete nakonfigurovat ID Microsoft Entra s různými formáty deklarací identity. Zvažte následující možnosti:

  • Pokud používáte členství ve skupinách pro autorizaci v aplikaci, je vhodnější použít atribut skupiny ObjectID . Atribut skupiny ObjectID je neměnný a jedinečný v MICROSOFT Entra ID. Je k dispozici pro všechny skupiny.

  • Pokud k autorizaci používáte atribut místní skupiny sAMAccountName , použijte názvy kvalifikované pro doménu. Snižuje šanci na kolidování jmen. sAMAccountName může být jedinečný v rámci domény služby Active Directory, ale pokud je více než jedna doména Active Directory synchronizována s tenantem Microsoft Entra, existuje možnost, že více než jedna skupina bude mít stejný název.

  • Zvažte použití aplikačních rolí k zajištění vrstvy nepřímého rozdělení mezi členstvím ve skupině a aplikací. Aplikace pak provádí interní rozhodnutí o autorizaci na základě deklarací rolí v tokenu.

  • Pokud je aplikace nakonfigurovaná tak, aby získala atributy skupiny synchronizované ze služby Active Directory a skupina tyto atributy neobsahuje, nebudou zahrnuty do deklarací identity.

  • Deklarace identity skupin v tokenech zahrnují vnořené skupiny s výjimkou případů, kdy používáte možnost omezit deklarace identity skupiny na skupiny přiřazené k aplikaci.

    Pokud je uživatel členem skupiny GroupB a SkupinaB je členem skupiny A, pak deklarace identity skupiny pro uživatele budou obsahovat skupinu GroupA i GroupB. Pokud uživatelé organizace mají velký počet členství ve skupinách, může počet skupin uvedených v tokenu zvětšit velikost tokenu. Microsoft Entra ID omezuje počet skupin, které bude generovat v tokenu na 150 pro kontrolní výrazy SAML a 200 pro JWT. Pokud je uživatel členem většího počtu skupin, skupiny se vynechá. Místo toho je k dispozici odkaz na koncový bod Microsoft Graphu pro získání informací o skupině.

Předpoklady pro použití atributů skupiny synchronizovaných ze služby Active Directory

Deklarace identity členství ve skupinách se dají generovat v tokenech pro libovolnou skupinu, pokud použijete ObjectId formát. Chcete-li použít deklarace identity skupin v jiných formátech než skupinaObjectId, musí být skupiny synchronizovány ze služby Active Directory prostřednictvím služby Microsoft Entra Připojení.

Konfigurace ID Microsoft Entra tak, aby vygenerovávala názvy skupin pro skupiny služby Active Directory:

  1. Synchronizace názvů skupin ze služby Active Directory

    Než může ID Microsoft Entra vygenerovat názvy skupin nebo identifikátor SID místní skupiny ve skupině nebo deklarací identity rolí, musíte synchronizovat požadované atributy ze služby Active Directory. Musíte používat Microsoft Entra Připojení verze 1.2.70 nebo novější. Starší verze microsoft Entra Připojení než 1.2.70 synchronizují objekty skupiny ze služby Active Directory, ale nebudou obsahovat požadované atributy názvu skupiny.

  2. Nakonfigurujte registraci aplikace v ID Microsoft Entra tak, aby zahrnovala deklarace identity skupin do tokenů.

    Deklarace identity skupin můžete nakonfigurovat v části Podnikové aplikace portálu nebo pomocí manifestu aplikace v části Registrace aplikací. Informace o konfiguraci deklarací identity skupin v manifestu aplikace naleznete v části Konfigurace registrace aplikace Microsoft Entra pro atributy skupiny dále v tomto článku.

Přidání deklarací identity skupin do tokenů pro aplikace SAML pomocí konfigurace jednotného přihlašování

Konfigurace deklarací identity skupin pro galerii nebo aplikaci SAML mimo galerii prostřednictvím jednotného přihlašování:

  1. Otevřete podnikové aplikace, vyberte aplikaci v seznamu, vyberte Jednotné přihlašování konfiguraci a pak vyberte Atributy a deklarace identity uživatele.

  2. Vyberte Přidat deklaraci identity skupiny.

    Screenshot that shows the page for user attributes and claims, with the button for adding a group claim selected.

  3. Pomocí možností vyberte, které skupiny mají být zahrnuty do tokenu.

    Screenshot that shows the Group Claims window with group options.

    Výběr Popis
    Všechny skupiny Generuje skupiny zabezpečení a distribuční seznamy a role.
    Skupiny zabezpečení Generuje skupiny zabezpečení, které je uživatel členem deklarace identity skupin.
    Role adresáře Pokud má uživatel přiřazené role adresáře, vygeneruje se jako wids deklarace identity. (Deklarace identity skupiny se nevygeneruje.)
    Skupiny přiřazené k aplikaci Generuje pouze skupiny, které jsou explicitně přiřazeny k aplikaci a že uživatel je členem. Doporučuje se pro velké organizace kvůli limitu počtu skupin v tokenu.
    • Pokud například chcete vygenerovat všechny skupiny zabezpečení, ve které je uživatel členem, vyberte skupiny zabezpečení.

      Screenshot that shows the Group Claims window, with the option for security groups selected.

      Pokud chcete generovat skupiny pomocí atributů služby Active Directory synchronizovaných ze služby Active Directory místo atributů Microsoft Entra ID objectID , vyberte požadovaný formát z rozevíracího seznamu Zdrojový atribut . Do deklarací identity budou zahrnuty pouze skupiny synchronizované ze služby Active Directory.

      Screenshot that shows the drop-down menu for the source attribute.

    • Pokud chcete generovat pouze skupiny přiřazené k aplikaci, vyberte Skupiny přiřazené k aplikaci.

      Screenshot that shows the Group Claims window, with the option for groups assigned to the application selected.

      Do tokenu se zahrnou skupiny přiřazené k aplikaci. Ostatní skupiny, pro které je uživatel členem, budou vynechány. U této možnosti nejsou zahrnuté vnořené skupiny a uživatel musí být přímým členem skupiny přiřazené k aplikaci.

      Pokud chcete změnit skupiny přiřazené k aplikaci, vyberte aplikaci ze seznamu Podnikové aplikace . V levé nabídce aplikace vyberte Uživatelé a skupiny .

      Další informace o správě přiřazení skupin k aplikacím najdete v tématu Přiřazení uživatele nebo skupiny k podnikové aplikaci.

Generování zobrazovaného názvu skupiny jen pro cloud v tokenu

Můžete nakonfigurovat deklaraci identity skupiny tak, aby zahrnovala zobrazovaný název skupiny pouze pro skupiny v cloudu.

  1. Otevřete podnikové aplikace, vyberte aplikaci v seznamu, vyberte Jednotné přihlašování konfiguraci a pak vyberte Atributy a deklarace identity uživatele.

  2. Pokud už máte nakonfigurované deklarace identity skupin, vyberte je v části Další deklarace identity . V opačném případě můžete přidat deklaraci identity skupiny, jak je popsáno v předchozích krocích.

  3. Pro typ skupiny vygenerované v tokenu vyberte Skupiny přiřazené k aplikaci:

    Screenshot that shows the Group Claims window, with the option for groups assigned to the application selected.

  4. Pokud chcete generovat zobrazovaný název skupiny jenom pro cloudové skupiny, vyberte v rozevíracím seznamu Zdrojový atribut zobrazované názvy skupin jen pro cloud:

    Screenshot that shows the Group Claims source attribute dropdown, with the option for configuring cloud only group names selected.

  5. Pokud chcete v případě hybridního nastavení vygenerovat atribut místní skupiny pro synchronizované skupiny a zobrazovaný název pro cloudové skupiny, můžete vybrat požadovaný atribut místních zdrojů a zaškrtnout políčko Generovat název skupiny pouze pro skupiny cloudu:

    Screenshot that shows the configuration to emit on-premises group attribute for synced groups and display name for cloud groups.

Poznámka:

Názvy přiřazených skupin v cloudu můžete přidat jenom do aplikace. Omezení groups assigned to the application spočívá v tom, že název skupiny není jedinečný a zobrazované názvy se dají vygenerovat jenom pro skupiny, které jsou explicitně přiřazené aplikaci, aby se snížila rizika zabezpečení. Jinak by každý uživatel mohl vytvořit skupinu s duplicitním názvem a získat přístup na straně aplikace.

Nastavení pokročilých možností

Přizpůsobení názvu deklarace identity skupiny

Způsob, jakým se deklarace identity skupin generují, můžete upravit pomocí nastavení v části Upřesnit možnosti.

Pokud vyberete Možnost Přizpůsobit název deklarace identity skupiny, můžete pro deklarace skupin zadat jiný typ deklarace identity. Do pole Název zadejte typ deklarace identity a volitelný obor názvů deklarace identity do pole Obor názvů.

Screenshot that shows advanced options, with the option of customizing the name of the group claim selected and the name and namespace values entered.

Některé aplikace vyžadují, aby se informace o členství ve skupině zobrazovaly v deklaraci identity role. Volitelně můžete skupiny uživatele generovat jako role zaškrtnutím políčka Generovat skupiny jako deklarace identity rolí.

Screenshot that shows advanced options, with the checkboxes selected for customizing the name of the group claim and emitting groups as role claims.

Poznámka:

Pokud použijete možnost generovat data skupiny jako role, zobrazí se v deklaraci identity role pouze skupiny. V deklaraci identity role se nezobrazí všechny role aplikace, ke kterým je uživatel přiřazený.

Filtrování skupin

Filtrování skupin umožňuje jemně řídit seznam skupin, které jsou součástí deklarace identity skupiny. Pokud je filtr nakonfigurovaný, budou do deklarace identity skupiny odeslané do této aplikace zahrnuty pouze skupiny, které odpovídají filtru. Filtr se použije pro všechny skupiny bez ohledu na hierarchii skupin.

Poznámka:

Filtrování skupin se vztahuje na tokeny vygenerované pro aplikace, ve kterých se na portálu nakonfigurovaly deklarace identity skupin a filtrování.
Filtrování skupin se nevztahuje na role Microsoft Entra.

Filtry můžete nakonfigurovat tak, aby se použily na zobrazovaný název nebo SAMAccountName atribut skupiny. Podporují se následující operace filtrování:

  • Předpona: Odpovídá začátku vybraného atributu.
  • Přípona: Odpovídá konci vybraného atributu.
  • Obsahuje: Odpovídá libovolnému umístění ve vybraném atributu.

Screenshot that shows filtering options.

Transformace skupiny

Některé aplikace mohou vyžadovat skupiny v jiném formátu, než jak jsou reprezentovány v MICROSOFT Entra ID. Pokud chcete tento požadavek podporovat, můžete u každé skupiny, která se v deklaraci identity skupiny vygeneruje, použít transformaci. Dosáhnete toho tak, že povolíte konfiguraci regulárního výrazu (regex) a náhradní hodnotu pro deklarace identity vlastní skupiny.

Screenshot of group transformation, with regex information added.\

  • Vzor regulárního výrazu: Pomocí regulárního výrazu parsujte textové řetězce podle vzoru, který jste v tomto poli nastavili. Pokud se vzor regulárního výrazu, který nastíníte, vyhodnotí jako true, spustí se vzor nahrazení regulárních výrazů.
  • Vzor nahrazení regulárních výrazů: Osnova v zápisu regulárních výrazů, jak chcete nahradit řetězec, pokud se vzor regulárního výrazu, který jste popsali, vyhodnotí jako true. Skupiny zachycení použijte ke shodě dílčích výrazů v tomto náhradním regulárním výrazu.

Další informace o nahrazení a zachycení skupin regulárních výrazů naleznete v tématu Model objektu regulárního výrazu: Zachycená skupina.

Poznámka:

Jak je popsáno v dokumentaci k Microsoft Entra, nemůžete upravit omezenou deklaraci identity pomocí zásad. Zdroj dat nejde změnit a při generování těchto deklarací identity se nepoužije žádná transformace. Deklarace identity skupiny je stále omezená, takže skupiny je potřeba přizpůsobit změnou názvu. Pokud pro název deklarace identity vlastní skupiny vyberete omezený název, bude deklarace za běhu ignorována.

Funkci transformace regulárních výrazů můžete použít také jako filtr, protože všechny skupiny, které neodpovídají vzoru regulárních výrazů, se ve výsledné deklaraci identity nevygenerují.

Pokud transformace použitá na původní deklaraci identity skupin způsobí novou vlastní deklaraci identity, původní deklarace skupiny se z tokenu vynechá. Pokud však nakonfigurovaný regulární výraz neodpovídá žádné hodnotě v původním seznamu, vlastní deklarace identity nebude k dispozici a původní deklarace identity skupin bude zahrnuta do tokenu.

Úprava konfigurace deklarace identity skupiny

Po přidání konfigurace deklarace identity skupiny do konfigurace Atributů a deklarací identity uživatele nebude možnost přidat deklaraci identity skupiny nedostupná. Pokud chcete změnit konfiguraci deklarace identity skupiny, vyberte deklaraci identity skupiny v seznamu Dalších deklarací identity .

Screenshot of the area for user attributes and claims, with the name of a group claim highlighted.

Konfigurace registrace aplikace Microsoft Entra pro atributy skupiny

Můžete také nakonfigurovat deklarace identity skupiny v volitelné části deklarací identity manifestu aplikace.

  1. Na portálu vyberte Identity>Applications> Registrace aplikací> Select Application>Manifest.

  2. Povolení deklarací členství ve skupinách změnou groupMembershipClaims.

    Platné hodnoty jsou:

    Výběr Popis
    All Generuje skupiny zabezpečení, distribuční seznamy a role.
    SecurityGroup Generuje skupiny zabezpečení a role Microsoft Entra, které je uživatel členem deklarace identity skupiny.
    DirectoryRole Pokud má uživatel přiřazené role adresáře, vygeneruje se jako wids deklarace identity. (Deklarace identity skupiny se nevygeneruje.)
    ApplicationGroup Generuje pouze skupiny, které jsou explicitně přiřazeny k aplikaci a že uživatel je členem.
    None Nejsou vráceny žádné skupiny. (Nerozlišuje se malá a velká písmena, takže none také funguje. Dá se nastavit přímo v manifestu aplikace.)

    Příklad:

    "groupMembershipClaims": "SecurityGroup"
    

    Ve výchozím nastavení se atributy skupiny ObjectID vygenerují v hodnotě deklarace identity skupiny. Chcete-li upravit hodnotu deklarace identity tak, aby obsahovala atributy místní skupiny nebo změnit typ deklarace identity na roli, použijte optionalClaims konfiguraci popsanou v dalším kroku.

  3. Nastavte volitelné deklarace identity pro konfiguraci názvu skupiny.

    Pokud chcete, aby skupiny v tokenu obsahovaly atributy skupiny místní Active Directory, určete, které deklarace identity typu tokenu by se měla v oddílu optionalClaims použít. Můžete uvést více typů tokenů:

    • idToken pro token ID OIDC
    • accessToken pro přístupový token OAuth/OIDC
    • Saml2Token pro tokeny SAML

    Poznámka:

    Typ Saml2Token se vztahuje na tokeny ve formátu SAML1.1 i SAML2.0.

    Pro každý relevantní typ tokenu upravte deklaraci identity skupiny tak, aby používala optionalClaims oddíl v manifestu. Schéma optionalClaims je následující:

    {
    "name": "groups",
    "source": null,
    "essential": false,
    "additionalProperties": []
    }
    
    Volitelné schéma deklarací identity Hodnota
    name Musí být "groups".
    source Nepoužívá se. Vynechat nebo zadat null.
    essential Nepoužívá se. Vynechat nebo zadat false.
    additionalProperties Seznam dalších vlastností Platné možnosti jsou "sam_account_name", , "netbios_domain_and_sam_account_name""dns_domain_and_sam_account_name", "cloud_displayname"a "emit_as_roles".

    V additionalProperties, pouze jeden z "sam_account_name", "dns_domain_and_sam_account_name"nebo "netbios_domain_and_sam_account_name" je požadován. Pokud existuje více než jeden, použije se první a ostatní se ignorují.

    Některé aplikace vyžadují informace o skupině o uživateli v deklaraci identity role. Pokud chcete změnit typ deklarace identity ze skupiny na deklaraci identity role, přidejte "emit_as_roles" do dalších vlastností. Hodnoty skupiny budou generovány v deklaraci identity role.

    Chcete-li generovat zobrazovaný název skupiny pouze pro cloud, můžete přidat "cloud_displayname" do additional properties. Tato možnost bude fungovat pouze v případě, že “groupMembershipClaims” je nastavená možnost ApplicationGroup

    Poznámka:

    Pokud použijete "emit_as_roles", všechny nakonfigurované aplikační role, ke kterým je uživatel přiřazený, se v deklaraci identity role nezobrazí.

Příklady

Vygenerování skupin jako názvů skupin v přístupových tokenech OAuth ve DNSDomainName\sAMAccountName formátu:

"optionalClaims": {
    "accessToken": [{
        "name": "groups",
        "additionalProperties": ["dns_domain_and_sam_account_name"]
    }]
}

Vygenerujte názvy skupin, které se mají vrátit ve NetbiosDomain\sAMAccountName formátu jako deklarace identity role v tokenech SAML a OIDC ID:

"optionalClaims": {
    "saml2Token": [{
        "name": "groups",
        "additionalProperties": ["netbios_domain_and_sam_account_name", "emit_as_roles"]
    }],

    "idToken": [{
        "name": "groups",
        "additionalProperties": ["netbios_domain_and_sam_account_name", "emit_as_roles"]
    }]
}

Další kroky