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:

  1. Přejděte na Azure Portal. vyhledejte a vyberte službu Azure Active Directory .
  2. Vyberte Registrace aplikací.
  3. Vyberte aplikaci, kterou chcete nakonfigurovat.
  4. 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 signInAudienceAzureADandPersonalMicrosoftAccount 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
  • countriesBlockedForMinors určuje země/oblasti, ve kterých je aplikace blokovaná pro méně závažné osoby.
  • legalAgeGroupRule určuje pravidlo právní věkové skupiny, které se vztahuje na uživatele aplikace. Můžete nastavit na Allow , , , nebo RequireConsentForPrivacyServices RequireConsentForMinors RequireConsentForKids BlockMinors .

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:

  • Web
  • InstalledClient
  • Spa

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ě.

  • resourceAppId je 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ů.
  • resourceAccess je pole se seznamem oborů oprávnění OAuth 2.0 a rolí aplikace, které aplikace vyžaduje ze zadaného prostředku. Obsahuje id hodnoty type a 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é organizace
  • PersonalMicrosoftAccount– 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:

  1. 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í.
  2. 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

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.