Konfigurace volitelných deklarací identity
Tokeny, které microsoft Entra vrací, se uchovávají menší, aby zajistili optimální výkon klientů, kteří je požadují. V důsledku toho se ve výchozím nastavení v tokenu nezobrazuje několik deklarací identity a musí být požádáno konkrétně pro jednotlivé aplikace.
Volitelné deklarace identity pro vaši aplikaci můžete nakonfigurovat prostřednictvím uživatelského rozhraní nebo manifestu centra pro správu Microsoft Entra.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Dokončení rychlého startu : Registrace aplikace
Konfigurace volitelných deklarací identity v aplikaci
- Přihlaste se do Centra pro správu Microsoft Entra jako alespoň správce cloudových aplikací.
- Přejděte k aplikacím> identit>Registrace aplikací.
- Zvolte aplikaci, pro kterou chcete nakonfigurovat volitelné deklarace identity na základě vašeho scénáře a požadovaného výsledku.
- V části Spravovat vyberte konfiguraci tokenu.
- Vyberte Přidat volitelnou deklaraci identity.
- Vyberte typ tokenu, který chcete nakonfigurovat, například Access.
- Vyberte volitelné deklarace identity, které chcete přidat.
- Vyberte Přidat.
Objekt optionalClaims
deklaruje volitelné deklarace identity požadované aplikací. Aplikace může nakonfigurovat volitelné deklarace identity, které se vrátí v tokenech ID, přístupových tokenech a tokenech SAML 2. Aplikace může nakonfigurovat jinou sadu volitelných deklarací identity, které se mají vrátit v každém typu tokenu.
Name | Typ | Popis |
---|---|---|
idToken |
Kolekce | Volitelné deklarace identity vrácené v tokenu ID JWT. |
accessToken |
Kolekce | Volitelné deklarace identity vrácené v přístupovém tokenu JWT. |
saml2Token |
Kolekce | Volitelné deklarace identity vrácené v tokenu SAML. |
Pokud je určitá deklarace identity podporovaná, můžete také upravit chování volitelné deklarace identity pomocí additionalProperties
pole.
Name | Typ | Popis |
---|---|---|
name |
Edm.String | Název volitelné deklarace identity. |
source |
Edm.String | Zdroj (objekt adresáře) deklarace identity. Existují předdefinované deklarace identity a deklarace identity definované uživatelem z vlastností rozšíření. Pokud je zdrojová hodnota null, deklarace identity je předdefinovaná volitelná deklarace identity. Pokud je zdrojová hodnota uživatel, hodnota ve vlastnosti name je vlastnost rozšíření z objektu uživatele. |
essential |
Edm.Boolean | Pokud je hodnota pravdivá, deklarace identity zadaná klientem je nezbytná k zajištění hladkého prostředí autorizace pro konkrétní úlohu požadovanou koncovým uživatelem. Výchozí hodnota je false. |
additionalProperties |
Kolekce (Edm.String) | Další vlastnosti deklarace identity. Pokud v této kolekci existuje vlastnost, upraví chování volitelné deklarace identity zadané ve vlastnosti name. |
Konfigurace volitelných deklarací identity rozšíření adresáře
Kromě standardní volitelné sady deklarací identity můžete také nakonfigurovat tokeny tak, aby zahrnovaly rozšíření Microsoft Graphu. Další informace najdete v tématu Přidání vlastních dat do prostředků pomocí rozšíření.
Důležité
Přístupové tokeny se vždy generují pomocí manifestu prostředku, nikoli klienta. V požadavku ...scope=https://graph.microsoft.com/user.read...
je prostředek rozhraní Microsoft Graph API. Přístupový token se vytvoří pomocí manifestu rozhraní Microsoft Graph API, nikoli manifestu klienta. Změna manifestu pro vaši aplikaci nikdy nezpůsobí, že tokeny pro rozhraní Microsoft Graph API vypadají jinak. Pokud chcete ověřit, že se změny accessToken
projeví, požádejte o token pro vaši aplikaci, ne o jinou aplikaci.
Volitelné deklarace identity podporují atributy rozšíření a rozšíření adresáře. Tato funkce je užitečná pro připojení dalších informací o uživateli, které může vaše aplikace používat. Například jiné identifikátory nebo důležité možnosti konfigurace, které uživatel nastavil. Pokud manifest aplikace požaduje vlastní rozšíření a uživatel MSA se přihlásí k vaší aplikaci, tato rozšíření se nevrátí.
Formátování rozšíření adresáře
Při konfiguraci volitelných deklarací identity rozšíření adresáře pomocí manifestu aplikace použijte úplný název rozšíření (ve formátu: extension_<appid>_<attributename>
). Jedná se <appid>
o prořezanou verzi appId (nebo ID klienta) aplikace, která žádost o deklaraci identity požaduje.
V JWT se tyto deklarace identity vygenerují s následujícím formátem názvu: extn.<attributename>
. V tokenech SAML se tyto deklarace identity vygenerují s následujícím formátem identifikátoru URI: http://schemas.microsoft.com/identity/claims/extn.<attributename>
Konfigurace volitelných deklarací identity skupin
Tip
Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.
Tato část popisuje možnosti konfigurace v rámci volitelných deklarací identity pro změnu atributů skupiny používaných v deklarací skupiny z výchozího ID objektu skupiny na atributy synchronizované z místní služby Windows Active Directory. Volitelné deklarace identity skupin pro vaši aplikaci můžete nakonfigurovat prostřednictvím webu Azure Portal nebo manifestu aplikace. Volitelné deklarace identity skupiny se generují pouze v JWT pro objekty zabezpečení uživatele. Instanční objekty nejsou zahrnuty do volitelných deklarací identity ve skupině generované v JWT.
Důležité
Počet skupin generovaných v tokenu je omezen na 150 pro kontrolní výrazy SAML a 200 pro JWT včetně vnořených skupin. Další informace o omezeních skupin a důležitých upozorněních pro deklarace identity skupin z místních atributů najdete v tématu Konfigurace deklarací identity skupin pro aplikace.
Pokud chcete nakonfigurovat volitelné deklarace identity skupin pomocí webu Azure Portal, proveďte následující kroky:
- Vyberte aplikaci, pro kterou chcete nakonfigurovat volitelné deklarace identity.
- V části Spravovat vyberte konfiguraci tokenu.
- Vyberte Přidat deklaraci identity skupin.
- Vyberte typy skupin, které se mají vrátit (skupiny zabezpečení nebo role adresáře, všechny skupiny a/nebo skupiny přiřazené k aplikaci):
- Skupiny přiřazené k aplikaci zahrnují pouze skupiny přiřazené k aplikaci. Skupiny přiřazené k aplikaci se doporučují pro velké organizace kvůli limitu počtu skupin v tokenu. Pokud chcete změnit skupiny přiřazené k aplikaci, vyberte aplikaci ze seznamu podnikových aplikací . Vyberte Uživatelé a skupiny a pak přidejte uživatele nebo skupinu. V části Uživatelé a skupiny vyberte skupiny, které chcete přidat do aplikace.
- Možnost Všechny skupiny zahrnuje skupinu SecurityGroup, DirectoryRole a DistributionList, ale ne skupiny přiřazené k aplikaci.
- Volitelné: Vyberte konkrétní vlastnosti typu tokenu a upravte hodnotu deklarace identity skupiny tak, aby obsahovala atributy místní skupiny, nebo změňte typ deklarace identity na roli.
- Zvolte Uložit.
Pomocí následujících kroků nakonfigurujte volitelné deklarace identity skupin prostřednictvím manifestu aplikace:
Vyberte aplikaci, pro kterou chcete nakonfigurovat volitelné deklarace identity.
V části Spravovat vyberte Manifest.
Pomocí editoru manifestu přidejte následující položku:
Platné hodnoty jsou:
- "Vše" (tato možnost zahrnuje SecurityGroup, DirectoryRole a DistributionList)
- "SecurityGroup"
- "DirectoryRole"
- "ApplicationGroup" (tato možnost zahrnuje pouze skupiny, které jsou přiřazeny k aplikaci)
Příklad:
"groupMembershipClaims": "SecurityGroup"
Ve výchozím nastavení se ID objektů skupiny 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 následujícím způsobem:Nastavte volitelné deklarace identity pro konfiguraci názvu skupiny.
Pokud chcete, aby skupiny v tokenu obsahovaly atributy místní skupiny v oddílu volitelných deklarací identity, určete, na který typ tokenu se má použít volitelná deklarace identity. Zadáte také název volitelné požadované deklarace identity a všechny další požadované vlastnosti.
Můžete uvést více typů tokenů:
idToken
pro token ID OIDCaccessToken
pro přístupový token OAuthSaml2Token
pro tokeny SAML.
Typ
Saml2Token
platí pro tokeny formátu SAML1.1 i SAML2.0.Pro každý relevantní typ tokenu upravte deklaraci identity skupin tak, aby používala
optionalClaims
oddíl v manifestu. SchémaoptionalClaims
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. Vynecháte nebo zadejte hodnotu null. essential
Nepoužívá se. Vynecháte nebo zadejte false. additionalProperties
Seznam dalších vlastností Platné možnosti jsou sam_account_name
,dns_domain_and_sam_account_name
,netbios_domain_and_sam_account_name
emit_as_roles
acloud_displayname
.Pouze v
additionalProperties
jednom zsam_account_name
,dns_domain_and_sam_account_name
netbios_domain_and_sam_account_name
jsou požadovány. Pokud je k dispozici více než jeden, použije se první a ostatní budou ignorovány. Můžete také přidatcloud_displayname
zobrazovaný název cloudové skupiny. Tato možnost funguje pouze v případě, žegroupMembershipClaims
je nastavena naApplicationGroup
hodnotu .Některé aplikace vyžadují informace o skupině o uživateli v deklaraci identity role. Chcete-li změnit typ deklarace identity ze skupiny na deklaraci identity role, přidejte
emit_as_roles
doadditionalProperties
. Hodnoty skupiny se v deklaraci identity role vygenerují.Pokud
emit_as_roles
se použije, nebudou v deklaraci identity role přiřazené žádné role aplikace nakonfigurované uživatelem (nebo aplikací prostředků).
Následující příklady ukazují konfiguraci manifestu pro deklarace identity skupin:
Vygeneruje skupiny jako názvy 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 rolí 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"
]
}
]
}
Vygenerujte názvy skupin ve formátu sam_account_name
pro místní synchronizované skupiny a cloud_display
název pro cloudové skupiny v tokenech SAML a ID OIDC pro skupiny přiřazené k aplikaci.
"groupMembershipClaims": "ApplicationGroup",
"optionalClaims": {
"saml2Token": [
{
"name": "groups",
"additionalProperties": [
"sam_account_name",
"cloud_displayname"
]
}
],
"idToken": [
{
"name": "groups",
"additionalProperties": [
"sam_account_name",
"cloud_displayname"
]
}
]
}
Příklad volitelných deklarací identity
Pro povolení a konfiguraci volitelných deklarací identity aplikace je k dispozici několik možností aktualizace vlastností konfigurace identity:
- Můžete použít Azure Portal.
- Manifest můžete použít.
- Je také možné napsat aplikaci, která k aktualizaci aplikace používá rozhraní Microsoft Graph API . Typ OptionalClaims v referenční příručce k rozhraní Microsoft Graph API vám může pomoct s konfigurací volitelných deklarací identity.
V následujícím příkladu se azure Portal a manifest používají k přidání volitelných deklarací identity pro přístup, ID a tokeny SAML určené pro vaši aplikaci. Do každého typu tokenu, který může aplikace přijímat, se přidají různé volitelné deklarace identity:
- Tokeny ID obsahují hlavní název uživatele (UPN) pro federované uživatele v úplném formátu (
<upn>_<homedomain>#EXT#@<resourcedomain>
). - Přístupové tokeny, které ostatní klienti požadují pro tuto aplikaci, zahrnují
auth_time
deklaraci identity. - Tokeny SAML obsahují rozšíření schématu
skypeId
adresáře (v tomto příkladu jeab603c56068041afb2f6832e2a17e237
ID aplikace pro tuto aplikaci). Token SAML zveřejňuje ID Skypu jakoextension_ab603c56068041afb2f6832e2a17e237_skypeId
.
Konfigurace deklarací identity na webu Azure Portal:
- Vyberte aplikaci, pro kterou chcete nakonfigurovat volitelné deklarace identity.
- V části Spravovat vyberte konfiguraci tokenu.
- Vyberte Přidat volitelnou deklaraci identity, vyberte typ tokenu ID , ze seznamu deklarací identity vyberte upn a pak vyberte Přidat.
- Vyberte Přidat volitelnou deklaraci identity, vyberte typ přístupového tokenu, v seznamu deklarací identity vyberte auth_time a pak vyberte Přidat.
- Na obrazovce Přehled konfigurace tokenů vyberte ikonu tužky vedle hlavního názvu uživatele( upn), vyberte přepínač Externě ověřený a pak vyberte Uložit.
- Vyberte Přidat volitelnou deklaraci identity, vyberte typ tokenu SAML , ze seznamu deklarací identity vyberte extn.skypeID (platí jenom v případě, že jste vytvořili objekt uživatele Microsoft Entra s názvem skypeID) a pak vyberte Přidat.
Konfigurace deklarací identity v manifestu:
Vyberte aplikaci, pro kterou chcete nakonfigurovat volitelné deklarace identity.
V části Spravovat vyberte Manifest a otevřete vložený editor manifestu.
Manifest můžete přímo upravit pomocí tohoto editoru. Manifest se řídí schématem entity Aplikace a po uložení manifest automaticky formátuje. Do vlastnosti se přidají
optionalClaims
nové prvky."optionalClaims": { "idToken": [ { "name": "upn", "essential": false, "additionalProperties": [ "include_externally_authenticated_upn" ] } ], "accessToken": [ { "name": "auth_time", "essential": false } ], "saml2Token": [ { "name": "extension_ab603c56068041afb2f6832e2a17e237_skypeId", "source": "user", "essential": true } ] }
Po dokončení aktualizace manifestu vyberte Uložit a uložte manifest.