Manifest aplikace Azure Active Directory
Manifest aplikace obsahuje definici všech atributů objektu aplikace v Microsoft identity platform. Slouží také jako mechanismus pro aktualizaci objektu aplikace. další informace o entitě aplikace a jejím schématu naleznete v dokumentaci k entitě aplikace Graph API.
Atributy aplikace můžete nakonfigurovat pomocí Azure Portal nebo programově pomocí REST API nebo PowerShellu. Existují však situace, kdy budete muset upravit manifest aplikace a nakonfigurovat atribut aplikace. Mezi tyto scénáře patří:
- Pokud jste aplikaci zaregistrovali jako víceklientské a osobní účty Microsoft Azure AD, nemůžete v uživatelském rozhraní měnit podporované účty Microsoft. Místo toho je nutné použít editor manifestu aplikace ke změně podporovaného typu účtu.
- Chcete-li definovat oprávnění a role, které vaše aplikace podporuje, je nutné upravit manifest aplikace.
Konfigurace manifestu aplikace
Konfigurace manifestu aplikace:
- Přejděte na Azure Portal. vyhledejte a vyberte službu Azure Active Directory .
- Vyberte Registrace aplikací.
- Vyberte aplikaci, kterou chcete nakonfigurovat.
- Na stránce Přehled aplikace vyberte část Manifest. Otevře se webový editor manifestu, který umožňuje upravovat manifest v rámci portálu. volitelně můžete vybrat stáhnout a upravit manifest místně a potom použít Upload k jeho opakovanému použití v aplikaci.
Odkaz na manifest
Tato část popisuje atributy nalezené v manifestu aplikace.
atribut ID
| Klíč | Typ hodnoty |
|---|---|
| id | Řetězec |
Jedinečný identifikátor aplikace v adresáři Toto ID není identifikátor používaný k identifikaci aplikace v jakékoli transakci protokolu. Používá se pro odkazování na objekt v dotazech adresářů.
Příklad:
"id": "f7f9acfc-ae0c-4d6c-b489-0a81dc1652dd",
accessTokenAcceptedVersion – atribut
| Klíč | Typ hodnoty |
|---|---|
| accessTokenAcceptedVersion | Hodnota Int32 s možnou hodnotou null |
Určuje verzi přístupového tokenu, kterou prostředek očekával. Tento parametr změní verzi a formát tokenu JWT vyprodukovaného nezávisle na koncovém bodu nebo klientovi, který se použil k vyžádání přístupového tokenu.
Koncový bod použitý v 1.0 nebo v 2.0 je vybraný klientem a má vliv jenom na verzi id_tokens. Prostředky musí být explicitně nakonfigurovány accesstokenAcceptedVersion tak, aby označovaly formát podporovaného přístupového tokenu.
Možné hodnoty pro accesstokenAcceptedVersion jsou 1, 2 nebo null. Pokud je hodnota null, tento parametr se nastaví na hodnotu 1, která odpovídá koncovému bodu v 1.0.
Pokud signInAudience má AzureADandPersonalMicrosoftAccount hodnotu, musí být hodnota 2 .
Příklad:
"accessTokenAcceptedVersion": 2,
addIns – atribut
| Klíč | Typ hodnoty |
|---|---|
| addIns | Kolekce |
Definuje vlastní chování, které může přijímající služba použít k volání aplikace v konkrétních kontextech. Například aplikace, které mohou vykreslovat datové proudy souborů, mohou nastavit addIns vlastnost pro její funkci "handlerer". tento parametr umožní službám, jako Microsoft 365 volat aplikaci v kontextu dokumentu, na kterém uživatel pracuje.
Příklad:
"addIns": [
{
"id": "968A844F-7A47-430C-9163-07AE7C31D407",
"type":" FileHandler",
"properties": [
{
"key": "version",
"value": "2"
}
]
}
],
allowPublicClient – atribut
| Klíč | Typ hodnoty |
|---|---|
| allowPublicClient | Logická hodnota |
Určuje typ záložní aplikace. Služba Azure AD ve výchozím nastavení odvodí typ aplikace z replyUrlsWithType. Existují některé scénáře, kdy služba Azure AD nemůže určit typ klientské aplikace. Například jedním z takových scénářů je ROPC tok, ve kterém se požadavek HTTP stane bez přesměrování adresy URL). V těchto případech služba Azure AD bude interpretovat typ aplikace na základě hodnoty této vlastnosti. Pokud je tato hodnota nastavená na true, typ záložní aplikace se nastaví jako veřejný klient, jako je například nainstalovaná aplikace spuštěná v mobilním zařízení. Výchozí hodnota je false, což znamená, že typ záložní aplikace je důvěrný klient, jako je například webová aplikace.
Příklad:
"allowPublicClient": false,
atribut appId
| Klíč | Typ hodnoty |
|---|---|
| appId | Řetězec |
Určuje jedinečný identifikátor pro aplikaci, která je přiřazená aplikaci pomocí Azure AD.
Příklad:
"appId": "601790de-b632-4f57-9523-ee7cb6ceba95",
appRoles – atribut
| Klíč | Typ hodnoty |
|---|---|
| appRoles | Kolekce |
Určuje kolekci rolí, které může aplikace deklarovat. Tyto role se dají přiřadit uživatelům, skupinám nebo objektům služby. Další příklady a informace najdete v tématu Přidání rolí aplikace v aplikaci a jejich přijetí v tokenu.
Příklad:
"appRoles": [
{
"allowedMemberTypes": [
"User"
],
"description": "Read-only access to device information",
"displayName": "Read Only",
"id": "601790de-b632-4f57-9523-ee7cb6ceba95",
"isEnabled": true,
"value": "ReadOnly"
}
],
errorUrl – atribut
| Klíč | Typ hodnoty |
|---|---|
| errorUrl | Řetězec |
Neplatné.
groupMembershipClaims – atribut
| Klíč | Typ hodnoty |
|---|---|
| groupMembershipClaims | Řetězec |
Nakonfiguruje groups deklaraci identity vydanou v uživatelském nebo přístupovém tokenu OAuth 2,0, který očekává aplikace. Chcete-li nastavit tento atribut, použijte jednu z následujících platných řetězcových hodnot:
"None""SecurityGroup"(pro skupiny zabezpečení a role Azure AD)"ApplicationGroup"(Tato možnost zahrnuje jenom skupiny, které jsou přiřazené aplikaci.)"DirectoryRole"(získá role adresáře Azure AD, kterých je uživatel členem.)"All"(zobrazí se všechny skupiny zabezpečení, distribuční skupiny a role adresáře Azure AD, kterých je přihlášený uživatel členem).
Příklad:
"groupMembershipClaims": "SecurityGroup",
optionalClaims – atribut
| Klíč | Typ hodnoty |
|---|---|
| optionalClaims | Řetězec |
Volitelné deklarace identity vrácené v tokenu službou tokenu zabezpečení pro tuto konkrétní aplikaci.
V tuto chvíli aplikace, které podporují osobní účty i službu Azure AD (zaregistrované prostřednictvím portálu pro registraci aplikací), nemůžou používat volitelné deklarace identity. Aplikace zaregistrované pro jenom Azure AD pomocí koncového bodu v 2.0 ale můžou získat volitelné deklarace identity, které požadoval v manifestu. Další informace najdete v tématu volitelné deklarace identity.
Příklad:
"optionalClaims": null,
identifierUris – atribut
| Klíč | Typ hodnoty |
|---|---|
| identifierUris | Pole řetězců |
Uživatelsky definované identifikátory URI, které jednoznačně identifikují webovou aplikaci v rámci svého tenanta služby Azure AD nebo ověřené domény vlastněné zákazníkem. Když se aplikace používá jako aplikace prostředků, použije se k jedinečné identifikaci a k přístupu k prostředku hodnota identifierUri.
Podporují se následující formáty identifikátorů URI aplikace založené na rozhraní API a schématu HTTP. Nahraďte zástupné hodnoty, jak je popsáno v seznamu za tabulkou.
| ID podporované aplikace Formáty identifikátorů URI |
Příklady identifikátorů URI ID aplikace |
|---|---|
| api://<appId> | api://fc4d2d73-d05a-4a9b-85a8-4f2b3a5f38ed |
| api://<tenantId>/<appId> | api://a8573488-ff46-450a-b09a-6eca0c6a02dc/fc4d2d73-d05a-4a9b-85a8-4f2b3a5f38ed |
| api://<tenantId>/<string> | api://a8573488-ff46-450a-b09a-6eca0c6a02dc/api |
| api:// <string> /<appId> | api://productapi/fc4d2d73-d05a-4a9b-85a8-4f2b3a5f38ed |
| https:// <tenantIdDomain> .onmicrosoft.com/<string> | https://contoso.onmicrosoft.com/productsapi |
| https://<verifiedCustomDomain>/<string> | https://contoso.onmicrosoft.com/productsapi |
| https:// <string> .<verifiedCustomDomain> | https://product.contoso.onmicrosoft.com |
| https:// <string> .<verifiedCustomDomain>/<string> | https://product.onmicrosoft.com/productsapi |
- <appId> – Vlastnost identifikátoru aplikace (appId) objektu aplikace.
- <string> – Řetězcová hodnota hostitele nebo segmentu cesty rozhraní API.
- <tenantId> – Identifikátor GUID vygenerovaný Azure, který reprezentuje tenanta v rámci Azure.
- <tenantIdDomain> - <tenantIdDomain> .onmicrosoft.com, kde je počáteční název <tenantIdDomain> domény, který tvůrce tenanta zadal při vytváření tenanta.
- <verifiedCustomDomain> – Ověřená vlastní doména nakonfigurovaná pro vašeho tenanta Azure AD.
Příklad:
"identifierUris": "https://contoso.onmicrosoft.com/fc4d2d73-d05a-4a9b-85a8-4f2b3a5f38ed",
informationalUrls – atribut
| Klíč | Typ hodnoty |
|---|---|
| informationalUrls | Řetězec |
Určuje odkazy na podmínku služby a prohlášení o zásadách ochrany osobních údajů aplikace. Podmínky služby a prohlášení o zásadách ochrany osobních údajů jsou v souladu s uživatelským prostředím týkajícím se souhlasu uživatele. Další informace najdete v tématu Postup: Přidání podmínek služby a prohlášení o zásadách ochrany osobních údajů pro registrované aplikace služby Azure AD.
Příklad:
"informationalUrls": {
"termsOfService": "https://MyRegisteredApp/termsofservice",
"support": "https://MyRegisteredApp/support",
"privacy": "https://MyRegisteredApp/privacystatement",
"marketing": "https://MyRegisteredApp/marketing"
},
Přihlašovací údaje atributu
| Klíč | Typ hodnoty |
|---|---|
| keyCredentials | Kolekce |
Obsahuje odkazy na přihlašovací údaje přiřazené aplikacím, sdílené tajné klíče založené na řetězci a certifikáty X. 509. Tyto přihlašovací údaje se používají při požadování přístupových tokenů (když aplikace funguje jako klient, ale jako prostředek).
Příklad:
"keyCredentials": [
{
"customKeyIdentifier":null,
"endDate":"2018-09-13T00:00:00Z",
"keyId":"<guid>",
"startDate":"2017-09-12T00:00:00Z",
"type":"AsymmetricX509Cert",
"usage":"Verify",
"value":null
}
],
knownClientApplications – atribut
| Klíč | Typ hodnoty |
|---|---|
| knownClientApplications | Pole řetězců |
Používá se ke sdružování souhlasu, pokud máte řešení, které obsahuje dvě části: klientská aplikace a vlastní aplikace webového rozhraní API. Pokud zadáte appID klientské aplikace do této hodnoty, bude uživatel muset pro klientskou aplikaci pouze odsouhlasit. Služba Azure AD bude mít za to, že se souhlasem s klientem znamená, že implicitně souhlasí s webovým rozhraním API. Budou automaticky zřizovat instanční objekty pro klientské i webové rozhraní API současně. Klient i aplikace webového rozhraní API musí být zaregistrované ve stejném tenantovi.
Příklad:
"knownClientApplications": ["f7f9acfc-ae0c-4d6c-b489-0a81dc1652dd"],
logoUrl – atribut
| Klíč | Typ hodnoty |
|---|---|
| logoUrl | Řetězec |
hodnota jen pro čtení, která odkazuje na adresu URL CDN pro logo, které se nahrálo na portálu.
Příklad:
"logoUrl": "https://MyRegisteredAppLogo",
logoutUrl – atribut
| Klíč | Typ hodnoty |
|---|---|
| logoutUrl | Řetězec |
Adresa URL pro odhlášení z aplikace
Příklad:
"logoutUrl": "https://MyRegisteredAppLogout",
atribut Name
| Klíč | Typ hodnoty |
|---|---|
| name | Řetězec |
Zobrazovaný název aplikace
Příklad:
"name": "MyRegisteredApp",
oauth2AllowImplicitFlow – atribut
| Klíč | Typ hodnoty |
|---|---|
| oauth2AllowImplicitFlow | Logická hodnota |
Určuje, jestli tato webová aplikace může vyžádat tokeny přístupu implicitního toku OAuth 2.0. Výchozí hodnotou je hodnota false. Tento příznak se používá pro aplikace založené na prohlížeči, jako jsou například jednostránkové aplikace JavaScriptu. Pokud se chcete dozvědět víc, zadejte OAuth 2.0 implicit grant flow do obsahu obsah a podívejte se na témata popisující implicitní tok.
Příklad:
"oauth2AllowImplicitFlow": false,
oauth2AllowIdTokenImplicitFlow – atribut
| Klíč | Typ hodnoty |
|---|---|
| oauth2AllowIdTokenImplicitFlow | Logická hodnota |
Určuje, jestli tato webová aplikace může vyžádat tokeny pro implicitní ID toku OAuth 2.0. Výchozí hodnotou je hodnota false. Tento příznak se používá pro aplikace založené na prohlížeči, jako jsou například jednostránkové aplikace JavaScriptu.
Příklad:
"oauth2AllowIdTokenImplicitFlow": false,
oauth2Permissions – atribut
| Klíč | Typ hodnoty |
|---|---|
| oauth2Permissions | Kolekce |
Určuje kolekci oborů oprávnění OAuth 2,0, které aplikace webového rozhraní API (Resource) zpřístupňuje klientským aplikacím. Tyto obory oprávnění se můžou klientským aplikacím udělit během souhlasu.
Příklad:
"oauth2Permissions": [
{
"adminConsentDescription": "Allow the app to access resources on behalf of the signed-in user.",
"adminConsentDisplayName": "Access resource1",
"id": "<guid>",
"isEnabled": true,
"type": "User",
"userConsentDescription": "Allow the app to access resource1 on your behalf.",
"userConsentDisplayName": "Access resources",
"value": "user_impersonation"
}
],
oauth2RequiredPostResponse – atribut
| Klíč | Typ hodnoty |
|---|---|
| oauth2RequiredPostResponse | Logická hodnota |
Určuje, jestli služba Azure AD jako součást požadavků na tokenY OAuth 2.0 povolí požadavky POST, a ne požadavky GET. Výchozí hodnota je false, která určuje, že budou povoleny pouze požadavky GET.
Příklad:
"oauth2RequirePostResponse": false,
conformControlSettings – atribut
| Klíč | Typ hodnoty |
|---|---|
| neschůdné nastavení | Řetězec |
countriesBlockedForMinorsurčuje země/oblasti, ve kterých je aplikace blokovaná pro méně závažné osoby.legalAgeGroupRuleurčuje pravidlo právní věkové skupiny, které se vztahuje na uživatele aplikace. Můžete nastavit naAllow, , , neboRequireConsentForPrivacyServicesRequireConsentForMinorsRequireConsentForKidsBlockMinors.
Příklad:
"parentalControlSettings": {
"countriesBlockedForMinors": [],
"legalAgeGroupRule": "Allow"
},
Atribut passwordCredentials
| Klíč | Typ hodnoty |
|---|---|
| passwordCredentials | Kolekce |
Podívejte se na popis keyCredentials vlastnosti .
Příklad:
"passwordCredentials": [
{
"customKeyIdentifier": null,
"endDate": "2018-10-19T17:59:59.6521653Z",
"keyId": "<guid>",
"startDate":"2016-10-19T17:59:59.6521653Z",
"value":null
}
],
Atribut preAuthorizedApplications
| Klíč | Typ hodnoty |
|---|---|
| preAuthorizedApplications | Kolekce |
Zobrazí seznam aplikací a požadovaných oprávnění pro implicitní souhlas. Vyžaduje, aby správce poskytl aplikaci souhlas. PreAuthorizedApplications nevyžadují, aby uživatel vyhovl požadovaným oprávněním. Oprávnění uvedená v předem autorizovaných aplikacích nevyžadují souhlas uživatele. Jakákoli další požadovaná oprávnění, která nejsou uvedená v předem autorizovaných aplikacích, ale vyžadují souhlas uživatele.
Příklad:
"preAuthorizedApplications": [
{
"appId": "abcdefg2-000a-1111-a0e5-812ed8dd72e8",
"permissionIds": [
"8748f7db-21fe-4c83-8ab5-53033933c8f1"
]
}
],
atribut publisherDomain
| Klíč | Typ hodnoty |
|---|---|
| publisherDomain | Řetězec |
Ověřená doména vydavatele pro aplikaci. Jen pro čtení.
Příklad:
"publisherDomain": "{tenant}.onmicrosoft.com",
Atribut replyUrlsWithType
| Klíč | Typ hodnoty |
|---|---|
| replyUrlsWithType | Kolekce |
Tato vlastnost s více hodnotami obsahuje seznam registrovaných hodnot redirect_uri, které Azure AD při vracení tokenů přijme jako cíle. Každá hodnota identifikátoru URI by měla obsahovat přidruženou hodnotu typu aplikace. Podporované hodnoty typu jsou:
WebInstalledClientSpa
Další informace najdete v tématu omezení a omezení adres URL odpovědi.
Příklad:
"replyUrlsWithType": [
{
"url": "https://localhost:4400/services/office365/redirectTarget.html",
"type": "InstalledClient"
}
],
Atribut requiredResourceAccess
| Klíč | Typ hodnoty |
|---|---|
| requiredResourceAccess | Kolekce |
S dynamickým souhlasem se řídí prostředí souhlasu správce a prostředí pro souhlas uživatele pro uživatele, requiredResourceAccess kteří používají statický souhlas. Tento parametr ale nesníží prostředí souhlasu uživatele v obecném případě.
resourceAppIdje jedinečný identifikátor prostředku, ke které aplikace vyžaduje přístup. Tato hodnota by měla být rovna appId deklarované v cílové aplikaci prostředků.resourceAccessje pole se seznamem oborů oprávnění OAuth 2.0 a rolí aplikace, které aplikace vyžaduje ze zadaného prostředku. Obsahujeidhodnotytypea zadaných prostředků.
Příklad:
"requiredResourceAccess": [
{
"resourceAppId": "00000002-0000-0000-c000-000000000000",
"resourceAccess": [
{
"id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
"type": "Scope"
}
]
}
],
Atribut samlMetadataUrl
| Klíč | Typ hodnoty |
|---|---|
| SamlMetadataUrl | Řetězec |
Adresa URL metadat SAML pro aplikaci.
Příklad:
"samlMetadataUrl": "https://MyRegisteredAppSAMLMetadata",
Atribut signInUrl
| Klíč | Typ hodnoty |
|---|---|
| signInUrl | Řetězec |
Určuje adresu URL domovské stránky aplikace.
Příklad:
"signInUrl": "https://MyRegisteredApp",
atribut signInAudience
| Klíč | Typ hodnoty |
|---|---|
| signInAudience | Řetězec |
Určuje, které účty Microsoft jsou podporované pro aktuální aplikaci. Podporované hodnoty jsou:
AzureADMyOrg– Uživatelé s pracovním nebo školním účtem Microsoft v tenantovi Azure AD mojí organizace (například jeden tenant)AzureADMultipleOrgs– Uživatelé s pracovním nebo školním účtem Microsoft v tenantovi Azure AD libovolné organizace (například s více tenanty)AzureADandPersonalMicrosoftAccount– Uživatelé s osobním účet Microsoft nebo pracovním nebo školním účtem v tenantovi Azure AD libovolné organizacePersonalMicrosoftAccount– Osobní účty, které se používají pro přihlášení ke službám jako Xbox a Skype.
Příklad:
"signInAudience": "AzureADandPersonalMicrosoftAccount",
Atribut tags
| Klíč | Typ hodnoty |
|---|---|
| tags | Pole řetězců |
Vlastní řetězce, které lze použít ke kategorizaci a identifikaci aplikace.
Příklad:
"tags": [
"ProductionApp"
],
Běžné problémy
Omezení manifestu
Manifest aplikace má více atributů, které se označují jako kolekce. Například appRoles, keyCredentials, knownClientApplications, identifierUris, redirectUris, requiredResourceAccess a oauth2Permissions. V rámci kompletního manifestu aplikace pro libovolnou aplikaci byl celkový počet položek ve všech kombinovaných kolekcích oříznut na 1200. Pokud jste dříve v manifestu aplikace zazadat 100 identifikátorů URI pro přesměrování, zbývá vám jenom 1 100 zbývajících položek, které se mají použít ve všech ostatních kolekcích dohromady, které tvoří manifest.
Poznámka
Pokud se v manifestu aplikace pokusíte přidat více než 1200 položek, může se zobrazit chyba Nepodařilo se aktualizovat aplikaci xxxxxx. Podrobnosti o chybě: Velikost manifestu překročila svůj limit. Snižte počet hodnot a zkuste požadavek zopakovat."
Nepodporované atributy
Manifest aplikace představuje schéma základního aplikačního modelu v Azure AD. S vývojem základního schématu se editor manifestu aktualizuje tak, aby čas od času odrážel nové schéma. V důsledku toho si můžete všimnout, že se v manifestu aplikace zobrazují nové atributy. Ve výjimečných případech si můžete všimnout syntaktické nebo sémantické změny existujících atributů nebo můžete najít atribut, který existoval dříve, už se nepodporuje. Například nové atributy se zobrazí v Registrace aplikací ,které jsou v prostředí Registrace aplikací (starší verze) známé pod jiným názvem.
| Registrace aplikací (starší verze) | Registrace aplikací |
|---|---|
availableToOtherTenants |
signInAudience |
displayName |
name |
errorUrl |
- |
homepage |
signInUrl |
objectId |
Id |
publicClient |
allowPublicClient |
replyUrls |
replyUrlsWithType |
Popisy těchto atributů najdete v části s odkazy na manifest.
Když se pokusíte nahrát dříve stažený manifest, může se zobrazit jedna z následujících chyb. Tato chyba je pravděpodobná, protože editor manifestu teď podporuje novější verzi schématu, která se neshoduje s verzí, kterou se pokoušíte nahrát.
- Nepodařilo se aktualizovat aplikaci xxxxxx. Podrobnosti o chybě: Neplatný identifikátor objektu undefined []."
- Nepodařilo se aktualizovat aplikaci xxxxxx. Podrobnosti o chybě: Jedna nebo více zadaných hodnot vlastností je neplatných. []."
- Nepodařilo se aktualizovat aplikaci xxxxxx. Podrobnosti o chybě: Není povoleno nastavit availableToOtherTenants v této verzi rozhraní API pro aktualizaci. []."
- Nepodařilo se aktualizovat aplikaci xxxxxx. Podrobnosti o chybě: Aktualizace vlastnosti replyUrls nejsou pro tuto aplikaci povolené. Místo toho použijte vlastnost replyUrlsWithType. []."
- Nepodařilo se aktualizovat aplikaci xxxxxx. Podrobnosti o chybě: Byla nalezena hodnota bez názvu typu a není k dispozici žádný očekávaný typ. Při zadání modelu musí mít každá hodnota v datové části typ, který může být zadán buď v datové části, explicitně volajícím, nebo implicitně odvozený z nadřazené hodnoty. []"
Pokud se zobrazí jedna z těchto chyb, doporučujeme následující akce:
- Upravte atributy jednotlivě v editoru manifestu místo nahrání dříve stažených manifestů. Pomocí referenční tabulky manifestu můžete porozumět syntaxi a sémantice starých a nových atributů, abyste mohli úspěšně upravit atributy, které vás zajímají.
- Pokud váš pracovní postup vyžaduje, abyste manifesty uložili do zdrojového úložiště pro pozdější použití, doporučujeme uložené manifesty v úložišti přehodit tak, jak vidíte v prostředí Registrace aplikací úložiště.
Další kroky
- Další informace o vztahu mezi aplikacemi aplikace a instančními objekty najdete v tématu Objekty aplikace a instanční objekty v Azure AD.
- Definice některých Microsoft identity platform konceptů vývojářů najdete v glosáři Microsoft identity platform vývojáře.
V následující části s komentáři můžete poskytnout zpětnou vazbu, která nám pomůže zpřesněním a tvarem našeho obsahu.