앱 매니페스트(Microsoft Graph 형식) 이해하기
애플리케이션 매니페스트에는 Microsoft ID 플랫폼에서 앱을 등록하는 데 필요한 모든 특성과 값이 포함되어 있습니다.
Microsoft Graph 앱 매니페스트는 앱 등록을 나타내는 JSON 개체입니다. Microsoft Graph 애플리케이션 리소스 종류 또는 Microsoft Graph 앱 개체(애플리케이션 개체)라고도 합니다. 여기에는 앱 등록의 모든 특성과 해당 값이 포함됩니다.
Microsoft Graph Get Application 메서드를 사용하여 수신하는 애플리케이션 개체는 Microsoft Entra 관리 센터의 앱 등록 매니페스트 페이지에 표시되는 것과 동일한 JSON 개체입니다.
참고 항목
개인 Microsoft 계정(MSA 계정)으로 등록된 앱의 경우 별도의 공지가 있을 때까지 Microsoft Entra 관리 센터에서 Azure AD Graph 형식으로 앱 매니페스트가 계속 표시됩니다. 자세한 내용은 Microsoft Entra 앱 매니페스트(Azure AD Graph 형식)를 참조하세요.
Microsoft Graph 앱 매니페스트 구성
프로그래밍 방식으로 Microsoft Graph 앱 매니페스트를 구성하려면 Microsoft Graph API 또는 Microsoft Graph PowerShell SDK를 사용할 수 있습니다.
Microsoft Entra 관리 센터를 통해 앱 매니페스트를 구성할 수도 있습니다. 대부분의 특성은 앱 등록 UI 요소를 사용하여 구성할 수 있습니다. 그러나 일부 특성은 매니페스트 페이지에서 직접 앱 매니페스트를 편집하여 구성해야 합니다.
Microsoft Entra 관리 센터에서 앱 매니페스트 구성
Microsoft Graph 앱 매니페스트를 구성하는 방법:
최소한 애플리케이션 개발자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
ID>애플리케이션>앱 등록으로 이동합니다.
구성하려는 앱을 선택합니다.
앱의 개요 페이지에서 매니페스트 섹션을 선택합니다. 웹 기반 매니페스트 편집기가 열리면 매니페스트를 편집할 수 있습니다. 필요에 따라 다운로드를 선택하여 로컬로 매니페스트를 편집하고 업로드를 사용하여 애플리케이션에 다시 적용할 수 있습니다.
매니페스트 참조
이 섹션에서는 Microsoft Graph 앱 매니페스트에 있는 특성에 대해 설명합니다.
ID 특성
Key | 값 유형 |
---|---|
id | 문자열 |
이 속성을 Microsoft Entra 관리 센터에서 개체 ID라고 합니다. 디렉터리의 애플리케이션 개체에 대한 고유 식별자입니다.
이 ID는 프로토콜 트랜잭션에서 앱을 식별하는 데 사용되는 식별자가 아닙니다. 디렉터리 쿼리의 개체를 참조하는 데 사용됩니다.
Null 허용 및 읽기 전용 특성이 아닙니다.
예시:
"id": "f7f9acfc-ae0c-4d6c-b489-0a81dc1652dd",
appId 특성
Key | 값 유형 |
---|---|
appId | 문자열 |
이 속성을 Microsoft Entra 관리 센터의 애플리케이션(클라이언트) ID라고 합니다. 디렉터리의 애플리케이션 개체에 대한 고유 식별자입니다.
이 ID는 프로토콜 트랜잭션에서 앱을 식별하는 데 사용되는 식별자입니다.
Null 허용 및 읽기 전용 특성이 아닙니다.
예시:
"appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
addIns 특성
Key | 값 유형 |
---|---|
addIns | 컬렉션 |
소비하는 서비스가 특정 컨텍스트에서 앱을 호출하는 데 사용할 수 있는 사용자 지정 동작을 정의합니다. 예를 들어, 파일 스트림을 렌더링할 수 있는 애플리케이션은 해당 "FileHandler" 기능에 대해 addIns
속성을 설정할 수 있습니다. 이 매개 변수를 사용하면 Microsoft 365와 같은 서비스가 사용자가 작업 중인 문서의 컨텍스트에서 애플리케이션을 호출할 수 있습니다.
예시:
"addIns": [
{
"id": "968A844F-7A47-430C-9163-07AE7C31D407",
"type":" FileHandler",
"properties": [
{
"key": "version",
"value": "2"
}
]
}
],
appRoles
키 | 값 유형 |
---|---|
appRoles | 컬렉션 |
앱에서 선언할 수 있는 역할의 컬렉션을 지정합니다. 이러한 역할은 사용자, 그룹 또는 서비스 주체에게 할당될 수 있습니다. 더 많은 예제 및 정보는 애플리케이션에서 앱 역할을 추가하고 토큰에서 수신하기를 참조하세요.
예시:
"appRoles": [
{
"allowedMemberTypes": [
"User"
],
"description": "Read-only access to device information",
"displayName": "Read Only",
"id": "00001111-aaaa-2222-bbbb-3333cccc4444",
"isEnabled": true,
"value": "ReadOnly"
}
],
groupMembershipClaims
키 | 값 유형 |
---|---|
groupMembershipClaims | 문자열 |
앱에 필요한, 사용자 또는 OAuth 2.0 액세스 토큰에 발급되는 groups
클레임을 구성합니다. 이 특성을 설정하려면 다음과 같은 유효한 문자열 값 중 하나를 사용합니다.
None
SecurityGroup
(보안 그룹 및 Microsoft Entra 역할의 경우)ApplicationGroup
(이 옵션은 애플리케이션에 할당된 그룹만 포함)DirectoryRole
(사용자가 구성원인 Microsoft Entra 디렉터리 역할을 가져옴)All
(로그인한 사용자가 속한 모든 보안 그룹, 배포 그룹 및 Microsoft Entra 디렉터리 역할을 가져옴).
예:
"groupMembershipClaims": "SecurityGroup",
optionalClaims 특성
Key | 값 유형 |
---|---|
optionalClaims | 문자열 |
이 특정 앱에 대해 보안 토큰 서비스에서 토큰으로 반환한 선택적 클레임입니다.
개인 계정과 Microsoft Entra ID를 지원하는 앱은 선택적 클레임을 사용할 수 없습니다. 그러나 v2.0 엔드포인트를 사용하여 Microsoft Entra ID에만 등록된 앱은 매니페스트에서 요청한 선택적 클레임을 가져올 수 있습니다. 자세한 내용은 선택적 클레임을 참조하세요.
예시:
"optionalClaims":{
"idToken": [{"@odata.type": "microsoft.graph.optionalClaim"}],
"accessToken": [{"@odata.type": "microsoft.graph.optionalClaim"}],
"saml2Token": [{"@odata.type": "microsoft.graph.optionalClaim"}]
}
identifierUris 특성
Key | 값 유형 |
---|---|
identifierUris | 문자열 배열 |
Microsoft Entra 테넌트 또는 확인된 고객 소유 도메인 내에서 웹앱을 고유하게 식별하는 사용자 정의 URI입니다. 애플리케이션을 리소스 앱으로 사용하는 경우 identifierUri 값을 사용하여 리소스를 고유하게 식별하고 액세스합니다.
다음 API 및 HTTP 체계 기반 애플리케이션 ID URI 형식이 지원됩니다. 표 다음 목록에 설명된 대로 자리 표시자 값을 바꿉니다.
지원되는 애플리케이션 ID URI 형식 |
앱 ID URI의 예 |
---|---|
api://<appId> | api://00001111-aaaa-2222-bbbb-3333cccc4444 |
api://<tenantId>/<appId> | api://aaaabbbb-0000-cccc-1111-dddd2222eeee/00001111-aaaa-2222-bbbb-3333cccc4444 |
api://<tenantId>/<string> | api://aaaabbbb-0000-cccc-1111-dddd2222eeee/api |
api://<string>/<appId> | api://productapi/00001111-aaaa-2222-bbbb-3333cccc4444 |
https://<tenantInitialDomain>.onmicrosoft.com/<string> | https://contoso.onmicrosoft.com/productsapi |
https://<verifiedCustomDomain>/<string> | https://contoso.com/productsapi |
https://<string>.<verifiedCustomDomain> | https://product.contoso.com |
https://<string>.<verifiedCustomDomain>/<string> | https://product.contoso.com/productsapi |
- <appId> - 애플리케이션 개체의 애플리케이션 ID(appId) 속성입니다.
- <string> - 호스트 또는 API 패스 세그먼트의 문자열 값입니다.
- <tenantId> - Azure 내에서 테넌트를 나타내기 위해 Azure에서 생성한 GUID입니다.
- <tenantInitialDomain> - <tenantInitialDomain>.onmicrosoft.com, 여기서 <tenantInitialDomain>은 초기 도메인 이름 및 테넌트 만들기 시 지정한 테넌트 작성자입니다.
- <verifiedCustomDomain> - Microsoft Entra 테넌트용으로 구성된 확인된 사용자 지정 도메인입니다.
참고 항목
api:// 체계를 사용하는 경우 "api://" 바로 뒤에 문자열 값을 추가합니다. 예를 들면 api://<string>입니다. 해당 문자열 값은 GUID 또는 임의의 문자열일 수 있습니다. GUID 값을 추가하는 경우 앱 ID 또는 테넌트 ID와 일치해야 합니다. 애플리케이션 ID URI 값은 테넌트에서 고유해야 합니다. api://<tenantId>를 애플리케이션 ID URI로 추가하는 경우 다른 어떤 앱에서도 해당 URI를 사용할 수 없습니다. 대신 api://<appId> 또는 HTTP 체계를 사용하는 것이 좋습니다.
Important
애플리케이션 ID URI 값은 슬래시 "/" 문자로 끝나서는 안 됩니다.
예시:
"identifierUris": "https://contoso.onmicrosoft.com/fc4d2d73-d05a-4a9b-85a8-4f2b3a5f38ed",
keyCredentials 특성
Key | 값 유형 |
---|---|
keyCredentials | 컬렉션 |
앱 할당 자격 증명, 문자열 기반 공유 비밀, X.509 인증서에 대한 참조가 들어 있습니다. 액세스 토큰을 요청할 때(앱이 리소스가 아닌 클라이언트 역할을 수행할 때) 이 자격 증명을 사용합니다.
예시:
"keyCredentials": [
{
"customKeyIdentifier":null,
"endDateTime":"2018-09-13T00:00:00Z",
"keyId":"<guid>",
"startDateTime":"2017-09-12T00:00:00Z",
"type":"AsymmetricX509Cert",
"usage":"Verify",
"value":null
}
],
displayName 특성
키 | 값 유형 |
---|---|
displayName | 문자열 |
앱의 표시 이름입니다.
예시:
" displayName": "MyRegisteredApp",
oauth2RequiredPostResponse 특성
Key | 값 유형 |
---|---|
oauth2RequiredPostResponse | Boolean |
OAuth 2.0 토큰 요청의 일부로 GET 요청과는 반대로 Microsoft Entra ID의 POST 요청 허용 여부를 지정합니다. 기본값은 false로, GET 요청만 허용하도록 지정합니다.
예시:
"oauth2RequirePostResponse": false,
parentalControlSettings 특성
Key | 값 유형 |
---|---|
parentalControlSettings | 문자열 |
countriesBlockedForMinors
는 미성년자가 사용할 수 없도록 앱이 차단되는 국가/지역을 지정합니다.legalAgeGroupRule
은 앱 사용자에게 적용되는 법적 연령 그룹 규칙을 지정합니다. 설정 가능한 값은Allow
,RequireConsentForPrivacyServices
,RequireConsentForMinors
,RequireConsentForKids
또는BlockMinors
입니다.
예시:
"parentalControlSettings": {
"countriesBlockedForMinors": [],
"legalAgeGroupRule": "Allow"
},
passwordCredentials 특성
Key | 값 유형 |
---|---|
passwordCredentials | 컬렉션 |
keyCredentials
에 대한 설명을 참조하세요.
예시:
"passwordCredentials": [
{
"customKeyIdentifier": null,
"displayName": "Generated by App Service",
"endDateTime": "2022-10-19T17:59:59.6521653Z",
"hint": "Nsn",
"keyId": "<guid>",
"secretText": null,
"startDateTime":"2022-10-19T17:59:59.6521653Z"
}
],
publisherDomain 특성
Key | 값 유형 |
---|---|
publisherDomain | 문자열 |
애플리케이션에 대해 확인된 게시자 도메인입니다. 읽기 전용. 앱 등록의 게시자 도메인을 편집하려면 앱의 게시자 도메인 구성에 나열된 단계를 따르세요.
예시:
"publisherDomain": "{tenant}.onmicrosoft.com",
requiredResourceAccess 특성
Key | 값 유형 |
---|---|
requiredResourceAccess | 컬렉션 |
동적 동의를 통해 requiredResourceAccess
는 관리자 동의 환경 및 정적 동의를 사용하는 사용자 동의 환경을 구동합니다. 그러나 이 매개 변수는 일반적인 경우에는 사용자 동의 환경을 구동하지 않습니다.
resourceAppId
는 앱이 액세스를 요청하는 대상 리소스의 고유 식별자입니다. 이 값은 대상 리소스 앱에 대해 선언된 appId와 같아야 합니다.resourceAccess
는 앱이 지정된 리소스에서 요구하는 OAuth2.0 권한 범위 및 앱 역할을 나열하는 배열입니다. 지정된 리소스의id
및type
값을 포함합니다.
예시:
"requiredResourceAccess": [
{
"resourceAppId": "00000002-0000-0000-c000-000000000000",
"resourceAccess": [
{
"id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
"type": "Scope"
}
]
}
],
samlMetadataUrl 특성
Key | 값 유형 |
---|---|
samlMetadataUrl | 문자열 |
앱의 SAML 메타데이터 URL입니다.
예시:
"samlMetadataUrl": "https://MyRegisteredAppSAMLMetadata",
signInAudience 특성
Key | 값 유형 |
---|---|
signInAudience | 문자열 |
현재 애플리케이션에 대해 지원되는 Microsoft 계정을 지정합니다. 지원되는 값은 다음과 같습니다.
AzureADMyOrg
- 내 조직의 Microsoft Entra 테넌트(즉, 단일 테넌트)에서 Microsoft 회사 또는 학교 계정이 있는 사용자AzureADMultipleOrgs
- 임의 조직의Microsoft Entra 테넌트(즉, 다중 테넌트)에서 Microsoft 회사 또는 학교 계정이 있는 사용자AzureADandPersonalMicrosoftAccount
- 임의 조직의 Microsoft Entra 테넌트에서 개인 Microsoft 계정이나 회사 또는 학교 계정이 있는 사용자PersonalMicrosoftAccount
- Xbox 및 Skype와 같은 서비스에 로그인하는 데 사용되는 개인 계정
예시:
"signInAudience": "AzureADandPersonalMicrosoftAccount",
tags 특성
Key | 값 유형 |
---|---|
tags | 문자열 배열 |
애플리케이션을 범주화하고 식별하는 데 사용할 수 있는 사용자 지정 문자열입니다.
예시:
"tags": [
"ProductionApp"
],
isFallbackPublicClient 특성
키 | 값 유형 |
---|---|
isFallbackPublicClient | Boolean |
설치된 애플리케이션이 모바일 기기에서 실행되는 것과 같은 공개 클라이언트로 대체 애플리케이션 유형을 지정합니다. 이 속성의 기본값은 false이며 이는 대체 애플리케이션 유형이 웹앱과 같은 기밀 클라이언트임을 의미합니다. Microsoft Entra ID에서 클라이언트 애플리케이션 유형을 확인할 수 없는 특정 시나리오가 있습니다. 예를 들어 리디렉션 URI를 지정하지 않고 구성된 ROPC 흐름입니다. 이러한 경우 Microsoft Entra ID는 이 속성 값을 기반으로 애플리케이션 유형을 해석합니다.
예시:
"isFallbackPublicClient ": "false",
info 특성
키 | 값 유형 |
---|---|
info | informationalUrl |
앱의 마케팅, 지원, 서비스 약관, 개인정보처리방침 및 로고 URL을 포함하여 애플리케이션의 기본 프로필 정보를 지정합니다.
다음 사항에 유의합니다.
"logoUrl"는 읽기 전용 속성입니다. 앱 매니페스트에서는 편집할 수 없습니다. 원하는 앱 등록에서 "브랜딩 및 속성" 페이지로 이동하고 "새 로고 업로드"를 사용하여 새 로고를 업로드합니다.
서비스 약관 및 개인정보처리방침은 사용자 동의 환경을 통해 사용자에게 표시됩니다. 자세한 내용은 등록된 Microsoft Entra 앱의 서비스 약관 및 개인정보처리방침을 추가하는 방법을 참조하세요.
예시:
Info: {
"termsOfService": "https://MyRegisteredApp/termsofservice",
"support": "https://MyRegisteredApp/support",
"privacy": "https://MyRegisteredApp/privacystatement",
"marketing": "https://MyRegisteredApp/marketing"
"logoUrl": "https://MyRegisteredApp/logoUrl",
}
api 특성
키 | 값 유형 |
---|---|
api | apiApplication 리소스 종류 |
웹 API를 구현하는 애플리케이션에 대한 설정을 지정합니다. 여기에는 5개의 속성이 포함됩니다.
속성 | Type | 설명 |
---|---|---|
acceptMappedClaims | Boolean | true로 설정하면 애플리케이션이 사용자 지정 서명 키 없이 클레임 매핑을 사용할 수 있게 허용합니다. 토큰을 수신하는 애플리케이션은 클레임 값이 Microsoft Entra ID에서 정식으로 발행되었고 변조될 수 없다는 사실을 바탕으로 합니다. 그러나 클레임 매핑 정책을 통해 토큰 콘텐츠를 수정하면 이러한 가정이 올바르지 않게 될 수도 있습니다. 악의적인 행위자가 만든 클레임 매핑 정책으로부터 보호받으려면, 애플리케이션은 클레임 매핑 정책의 생성자가 토큰을 수정했음을 명시적으로 인정해야 합니다. 경고: 악의적인 행위자가 앱에 대한 클레임 매핑 정책을 만들 수 있는 다중 테넌트 앱의 경우 acceptMappedClaims 속성을 true로 설정하지 마세요. |
ownClientApplications | 컬렉션 | 클라이언트 앱과 사용자 지정 웹 API 앱 등 두 부분을 포함하는 솔루션이 있을 때 동의를 묶는 데 사용됩니다. 클라이언트 앱의 appID를 이 값으로 설정하면 사용자는 클라이언트 앱에 대해 한 번만 동의하면 됩니다. Microsoft Entra ID는 클라이언트에 동의하는 것이 웹 API에 암시적으로 동의하는 것을 의미한다는 것을 알고 있으며 동시에 두 API에 대한 서비스 주체를 자동으로 프로비저닝합니다. 클라이언트와 웹 API 앱은 모두 동일한 테넌트에 등록되어야 합니다. |
ownClientApplications | 컬렉션 | 클라이언트 앱과 사용자 지정 웹 API 앱 등 두 부분을 포함하는 솔루션이 있을 때 동의를 묶는 데 사용됩니다. 클라이언트 앱의 appID를 이 값으로 설정하면 사용자는 클라이언트 앱에 대해 한 번만 동의하면 됩니다. Microsoft Entra ID는 클라이언트에 동의하는 것이 웹 API에 암시적으로 동의하는 것을 의미한다는 것을 알고 있으며 동시에 두 API에 대한 서비스 주체를 자동으로 프로비저닝합니다. 클라이언트와 웹 API 앱은 모두 동일한 테넌트에 등록되어야 합니다. |
oauth2PermissionScopes | permissionScope 컬렉션 | 이 애플리케이션 등록에서 나타내는 웹 API에 의해 노출되는 위임된 권한의 정의입니다. 이러한 위임된 권한은 클라이언트 애플리케이션에서 요청할 수 있으며 동의 시 사용자 또는 관리자가 부여할 수 있습니다. 위임된 사용 권한을 OAuth 2.0 범위라고도 합니다. |
preAuthorizedApplications | preAuthorizedApplication 컬렉션 | 이 애플리케이션의 API에 액세스하기 위해 지정된 위임된 권한으로 사전 인증된 클라이언트 애플리케이션을 나열합니다. 사용자는 사전 인증된 애플리케이션에 동의할 필요가 없습니다(지정된 사용 권한에 대해). 그러나 preAuthorizedApplications에 나열되지 않은 다른 권한(예: 증분 동의를 통해 요청됨)에는 사용자 동의가 필요합니다. |
requestedAccessTokenVersion | Int32 | 이 리소스에서 필요한 액세스 토큰 버전을 지정합니다. 이는 엔드포인트 또는 액세스 토큰을 요청하는 데 사용되는 클라이언트와는 독립적으로 만들어진 JWT의 버전과 형식을 변경합니다. 사용된 엔드포인트, v1.0 또는 v2.0은 클라이언트에서 선택되고 id_token의 버전에만 영향을 줍니다. 리소스는 requestedAccessTokenVersion을 명시적으로 구성해서 지원되는 액세스 토큰 형식을 지정해야 합니다. requestedAccessTokenVersion에 사용할 수 있는 값은 1, 2 또는 null입니다. 값이 null인 경우 이 기본값은 1이며 v1.0 엔드포인트에 해당합니다. 애플리케이션의 signInAudience가 AzureADandPersonalMicrosoftAccount 또는 PersonalMicrosoftAccount로 구성된 경우 이 속성의 값은 2여야 합니다. |
예시:
Api:{
"acceptMappedClaims": true,
"knownClientApplications": ["f7f9acfc-ae0c-4d6c-b489-0a81dc1652dd"],
"oauth2PermissionScopes": [
{
"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"
}
],
"preAuthorizedApplications": [{
"appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"permissionIds": [
"8748f7db-21fe-4c83-8ab5-53033933c8f1"
]
}],
"requestedAccessTokenVersion": 2
}
웹 특성
키 | 값 유형 |
---|---|
web | webApplication 리소스 종류 |
웹 애플리케이션에 대한 설정을 지정합니다. 여기에는 네 개의 속성이 포함됩니다.
속성 | Type | 설명 |
---|---|---|
homePageUrl | 문자열 | 애플리케이션의 홈페이지 또는 방문 페이지입니다. |
implicitGrantSettings | implicitGrantSettings | 이 웹 애플리케이션이 OAuth 2.0 암시적 흐름을 사용하여 토큰을 요청할 수 있는지 여부를 지정합니다. |
logoutUrl | 문자열 | Microsoft의 권한 부여 서비스에서 전면 채널, 후면 채널 또는 SAML 로그아웃 프로토콜을 사용하여 사용자를 로그아웃하는 데 사용하는 URL을 지정합니다. |
redirectUris | 문자열 컬렉션 | 로그인을 위해 사용자 토큰이 전송되는 URL 또는 OAuth 2.0 권한 부여 코드 및 액세스 토큰이 웹 플랫폼에서 전송되는 리디렉션 URI를 지정합니다. |
예시:
web: {
"homePageUrl": "String",
"implicitGrantSettings": {
"enableIdTokenIssuance": "Boolean",
"enableAccessTokenIssuance": "Boolean"}
"logoutUrl": "String",
"redirectUris": ["String"]
}
spa 특성
키 | 값 유형 |
---|---|
spa | spaApplication 리소스 종류 |
인증 코드 및 액세스 토큰에 대한 로그아웃 URL 및 리디렉션 URI를 포함하여 단일 페이지 애플리케이션에 대한 설정을 지정합니다.
속성 | Type | 설명 |
---|---|---|
redirectUris | 문자열 컬렉션 | 로그인을 위해 사용자 토큰이 전송되는 URL 또는 OAuth 2.0 권한 부여 코드 및 액세스 토큰이 전송되는 리디렉션 URI를 지정합니다. |
예시:
spa: {
"redirectUris": ["String"]
}
publicClient 특성
키 | 값 유형 |
---|---|
publicClient | publicClientApplication 리소스 종류 |
웹이 아닌 앱 또는 웹이 아닌 API(예: iOS, Android, 모바일 또는 데스크톱 디바이스에서 실행되는 설치된 애플리케이션과 같은 기타 공용 클라이언트)에 대한 설정을 지정합니다.
속성 | Type | 설명 |
---|---|---|
redirectUris | 문자열 컬렉션 | 로그인을 위해 사용자 토큰이 전송되는 URL 또는 OAuth 2.0 권한 부여 코드 및 액세스 토큰이 전송되는 리디렉션 URI를 지정합니다. |
예시:
publicClient: {
"redirectUris": ["String"]
}
일반적인 문제
매니페스트 제한
애플리케이션 매니페스트에는 컬렉션이라고 하는 여러 특성이 있습니다(예: appRoles, keyCredentials, knownClientApplications, identifierUris, redirectUris, requiredResourceAccess 및 oauth2PermissionScopes). 모든 애플리케이션에 대한 전체 애플리케이션 매니페스트 내에서 결합된 모든 컬렉션의 총 항목 수는 1,200개 이하입니다. 이전에 애플리케이션 매니페스트에서 100개의 appRoles를 지정한 경우 매니페스트를 구성하는 결합된 다른 모든 컬렉션에서 1,100개의 항목만 추가로 사용할 수 있습니다.
참고 항목
애플리케이션 매니페스트에서 1,200개를 초과하는 항목을 추가하려고 하면 "xxxxxx 애플리케이션을 업데이트하지 못했습니다. 오류 세부 정보: 매니페스트 크기가 한도를 초과했습니다. 값 수를 줄이고 요청을 다시 시도하세요." 오류가 표시될 수 있습니다.
Azure AD Graph 형식에서 Microsoft Graph 형식으로 매니페스트 마이그레이션 문제 해결
이전에 다운로드한 앱 매니페스트를 Azure AD Graph 형식으로 업로드하면 다음 오류가 발생할 수 있습니다.
{앱 이름} 애플리케이션을 업데이트하지 못했습니다. 오류 세부 정보: 잘못된 속성 '{property name}'.**
이는 Azure AD Graph에서 Microsoft Graph 앱 매니페스트로 마이그레이션하기 때문일 수 있습니다. 먼저 앱 매니페스트가 Azure AD Graph 형식인지 확인해야 합니다. 이 경우 앱 매니페스트를 Microsoft Graph 형식으로 변환해야 합니다.
trustedCertificateSubjects 특성을 찾을 수 없음
trustedCertificateSubjects 특성은 Microsoft 내부 속성입니다. Microsoft Entra 관리 센터에는 Microsoft Graph 앱 매니페스트 버전 1.0이 표시되며 trustedCertificateSubjects 특성은 앱 매니페스트의 베타 버전(Microsoft Graph 형식)에만 있습니다. Microsoft Entra 관리 센터에서 앱 매니페스트(Azure AD Graph 형식)를 사용하여 이 속성을 계속 편집합니다.
오류: 애플리케이션을 찾을 수 없습니다. 애플리케이션을 방금 만든 경우 몇 분 정도 기다렸다가 페이지를 새로 고칩니다.**
애플리케이션이 방금 만들어지지 않은 경우 Microsoft Graph 앱 매니페스트에 잘못된 특성을 추가했기 때문에 이 오류가 발생할 수 있습니다. Azure AD Graph와 Microsoft Graph 형식 간의 특성 차이점을 검토하고 포털에 표시된 Microsoft Graph 형식 v1.0 버전에서 지원되지 않는 특성을 추가했는지 확인합니다.
다음 단계
앱의 애플리케이션 개체와 서비스 주체 개체 간의 관계에 대한 자세한 내용은 Microsoft Entra ID의 애플리케이션 및 서비스 주체 개체를 참조하세요.
일부 핵심 Microsoft ID 플랫폼 개발자 개념에 대한 정의는 Microsoft ID 플랫폼 개발자 용어집을 참조하세요.
다음 의견 섹션을 사용하여 피드백을 제공하고 콘텐츠를 구체화하고 모양을 갖는 데 도움을 줄 수 있습니다.