앱 동의 정책은 앱이 조직의 데이터에 액세스하는 데 필요한 권한을 관리하는 방법입니다. 이는 사용자가 동의할 수 있는 앱을 제어하고 앱이 데이터에 액세스하기 전에 특정 기준을 충족하는지 확인하는 데 사용됩니다. 이러한 정책은 조직이 데이터에 대한 제어권을 유지하고 신뢰할 수 있는 앱에만 액세스 권한을 부여하는 데 도움이 됩니다. Microsoft Graph 및 Microsoft Graph PowerShell을 사용하면 앱 동의 정책을 보고 관리할 수 있습니다.
이 문서에서는 동의가 부여될 수 있는 시기를 제어하기 위해 기본 제공 및 사용자 지정 앱 동의 정책을 관리하는 방법을 알아봅니다. 사용자 지정 역할을 사용하여 특정 사용자 또는 그룹에 앱 동의 정책을 할당하거나 조직의 최종 사용자에 대한 기본 앱 동의 정책을 설정할 수 있습니다.
앱 동의 정책 세그먼트
앱 동의 정책은 하나 이상의 "포함" 조건 집합과 0개 이상의 "제외" 조건 집합으로 구성됩니다. 앱 동의 정책에서 이벤트를 고려하려면 이벤트가 하나 이상의 "포함" 조건 세트에 부합해야 하며 어떤 "제외" 조건 세트에도 부합하지 않아야 합니다. 제외 및 포함은 지정된 정책의 영향을 받는 행위자가 동의를 부여할 수 있는지 여부를 결정하는 데 사용됩니다.
앱 동의 정책의 세 가지 주요 부분은 다음과 같습니다.
- 메타데이터: 앱 동의 정책의 속성에는 동의 정책의 ID, 설명 및 표시 이름과 같은 정보가 포함됩니다.
- 포함된 조건 집합: 지정된 앱 동의 요청이 정책을 통과하기 위해 하나 이상 일치해야 하는 조건 집합의 컬렉션입니다. 이 컬렉션에는 하나 이상의 조건 집합이 있어야 합니다. 각 조건 집합에는 확인된 게시자 상태, 요청된 권한 등 앱 동의 요청의 특성을 설명하는 규칙이 포함되어 있습니다.
- 제외된 조건 집합: 지정된 앱 동의 요청이 전달되어야 하는 것과 일치하지 않아야 하는 조건 집합의 컬렉션입니다. 이 컬렉션은 비어 있을 수 있습니다(제외된 조건 집합이 0개 포함될 수 있음). 각 조건 집합에는 확인된 게시자 상태, 요청된 권한 등 앱 동의 요청의 특성을 설명하는 규칙이 포함되어 있습니다.
지원되는 조건
각 조건 세트는 여러 조건으로 구성됩니다. 조건 세트에 부합하는 이벤트는 조건 세트의 ‘모든’ 조건에 부합해야 합니다. 예를 들어 조건 집합은 "게시자가 확인되고, 이 테넌트에서 생성되고, Microsoft Graph 위임 Mail.Read를 요청하는 클라이언트 애플리케이션"이 게시자가 확인되고, 테넌트에서 생성되고, openid 및 프로필 범위를 요청하는 클라이언트 애플리케이션에 대한 동의 요청과 일치하지 않을 수 있습니다.
조건 집합에는 요청된 앱 또는 권한의 특성을 정의하는 데 사용되는 하나 이상의 속성이 포함됩니다. 속성의 전체 목록은 여기에 있습니다.
기본 제공 동의 정책
모든 테넌트에는 모든 테넌트에서 동일한 앱 동의 정책 집합이 함께 제공됩니다. 이러한 기본 제공 정책 중 일부는 기존 기본 제공 디렉터리 역할에 사용됩니다. 예를 들어 microsoft-application-admin
앱 동의 정책은 애플리케이션 관리자 및 클라우드 애플리케이션 관리자 역할이 테넌트 전체 관리자 동의를 제공할 수 있는 조건을 설명합니다. 기본 제공 정책은 사용자 지정 디렉터리 역할에서 사용하거나 조직의 기본 동의 정책을 구성하는 데 사용할 수 있습니다. 이러한 정책은 편집할 수 없습니다. 기본 제공 정책 목록은 다음과 같습니다.
- microsoft-user-default-low: 기본적으로 멤버 유형 사용자가 동의할 수 있는 모든 낮은 위험 권한입니다.
- microsoft-user-default-recommended: Microsoft의 현재 권장 사항에 따라 동의할 수 있는 권한입니다.
- microsoft-all-application-permissions: 모든 클라이언트 애플리케이션에 대한 모든 API에 대한 모든 애플리케이션 권한(앱 역할)을 포함합니다.
- microsoft-dynamically-managed-permissions-for-chat: 채팅 리소스별 동의에 허용되는 동적으로 관리되는 권한을 포함합니다.
- microsoft-all-application-permissions-for-chat: 모든 클라이언트 애플리케이션에 대한 모든 API에 대한 모든 채팅 구조별 애플리케이션 권한을 포함합니다.
- microsoft-dynamically-managed-permissions-for-team: 팀 리소스별 동의에 대해 허용되는 동적으로 관리되는 권한을 포함합니다.
- microsoft-pre-approval-apps-for-chat: 채팅 리소스 관련 동의에 대한 권한 부여 사전 승인 정책에 의해 사전 승인된 앱이 포함됩니다.
- microsoft-pre-approval-apps-for-team: 팀 리소스별 동의에 대한 권한 부여 사전 승인 정책에 의해 사전 승인된 앱을 포함합니다.
- microsoft-all-application-permissions-verified: 모든 API, 확인된 게시자의 클라이언트 애플리케이션 또는 이 조직에 등록된 모든 애플리케이션 권한(앱 역할)을 포함합니다.
- microsoft-application-admin: 애플리케이션 관리자가 동의할 수 있는 권한입니다.
- microsoft-company-admin: 회사 관리자가 동의할 수 있는 권한입니다.
경고
Microsoft-user-default-recommended는 Microsoft 관리형 정책입니다. 정책에 포함된 조건은 최종 사용자 동의에 대한 Microsoft의 최신 보안 권장 사항에 따라 자동으로 업데이트됩니다.
Microsoft 권장 현재 설정
Microsoft 관리 정책인 "Microsoft에서 동의 설정을 관리하도록 허용"이라는 레이블이 지정된 설정은 Microsoft의 최신 권장 기본 동의 설정으로 업데이트됩니다. 새 테넌트에 대한 기본값이기도 하다. 설정의 규칙은 현재: 최종 사용자는 Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All을 제외한 모든 사용자가 동의할 수 있는 위임된 권한에 동의할 수 있습니다.
이 동의 정책에 대한 업데이트에는 최소 30일의 알림이 제공됩니다.
여러 정책
사용자는 동의를 제공할 수 있는 정책을 둘 이상 가질 수 있습니다. 각 정책은 별도로 평가되며(예: 한 정책의 제외는 다른 정책의 포함에 영향을 주지 않음) 사용자는 특정 이벤트에 대한 동의를 허용하도록 승인하기 위해 하나의 정책만 필요합니다. 예를 들어 애플리케이션 관리자는 모든 사용자에게 적용되는 기본 정책 덕분에 일반 사용자가 할 수 있는 모든 것에 동의할 수 있으며, Microsoft Graph 앱 역할을 제외한 모든 API 권한에 대한 요청을 승인할 수 있는 Microsoft-application-admin 정책을 통해 더 광범위한 사용 권한을 갖습니다.
필수 조건
- 다음 역할 중 하나를 가진 사용자 또는 서비스:
- 권한 있는 역할 관리자 디렉터리 역할
- 앱 동의 정책을 관리하는 데 필요한 권한이 있는 사용자 지정 디렉터리 역할
- 앱 또는 서비스로 연결할 때 Microsoft Graph 앱 역할(애플리케이션 권한)
Policy.ReadWrite.PermissionGrant
- 숙지(권한 부여 조건 집합)[/graph/api/resources/permissiongrantconditionset?view=graph-rest-1.0]
Microsoft Graph PowerShell을 사용하여 애플리케이션에 대한 앱 동의 정책을 관리하려면 Microsoft Graph PowerShell에 연결합니다.
Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant"
기존 앱 동의 정책 목록
조직의 기존 앱 동의 정책을 숙지하는 것이 좋습니다.
모든 앱 동의 정책을 나열합니다. 조직에서 만든 모든 기본 제공 정책 및 사용자 지정 정책을 보여 줍니다.
Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
정책의 "포함" 조건 집합을 봅니다.
Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
"제외" 조건 집합 보기:
Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
PowerShell을 사용하여 사용자 지정 앱 동의 정책 만들기
사용자 지정 앱 동의 정책을 만들려면 다음 단계를 따르세요.
비어 있는 새 앱 동의 정책을 만듭니다.
New-MgPolicyPermissionGrantPolicy ` -Id "my-custom-policy" ` -DisplayName "My first custom consent policy" ` -Description "This is a sample custom app consent policy."
"포함" 조건 집합을 추가합니다.
# Include delegated permissions classified "low", for apps from verified publishers New-MgPolicyPermissionGrantPolicyInclude ` -PermissionGrantPolicyId "my-custom-policy" ` -PermissionType "delegated" ` -PermissionClassification "low" ` -ClientApplicationsFromVerifiedPublisherOnly
"포함" 조건 집합을 더 추가하려면 이 단계를 반복합니다.
선택적으로 "제외" 조건 집합을 추가합니다.
# Retrieve the service principal for the Azure Management API $azureApi = Get-MgServicePrincipal -Filter "servicePrincipalNames/any(n:n eq 'https://management.azure.com/')" # Exclude delegated permissions for the Azure Management API New-MgPolicyPermissionGrantPolicyExclude ` -PermissionGrantPolicyId "my-custom-policy" ` -PermissionType "delegated" ` -ResourceApplication $azureApi.AppId
"제외" 조건 집합을 더 추가하려면 이 단계를 반복합니다.
앱 동의 정책을 만든 후 Microsoft Entra ID의 사용자 지정 역할에 할당해야 합니다. 그런 다음 만든 앱 동의 정책에 연결된 해당 사용자 지정 역할에 사용자를 할당해야 합니다. 앱 동의 정책을 사용자 지정 역할에 할당하는 방법에 대한 자세한 내용은 사용자 지정 역할에 대한 앱 동의 권한을 참조하세요.
PowerShell을 사용하여 사용자 지정 앱 동의 정책 삭제
다음 cmdlet은 사용자 지정 앱 동의 정책을 삭제하는 방법을 보여 줍니다.
Remove-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId "my-custom-policy"
앱 동의 정책을 관리하려면 필수 조건 섹션에 나열된 역할 중 하나로 Graph 탐색기에 로그인합니다.
Policy.ReadWrite.PermissionGrant
권한에 동의해야 합니다.
Microsoft Graph를 사용하여 기존 앱 동의 정책 나열
조직의 기존 앱 동의 정책을 숙지하는 것이 좋습니다.
모든 앱 동의 정책을 나열합니다. 조직에서 만든 모든 기본 제공 정책 및 사용자 지정 정책을 보여 줍니다.
GET /policies/permissionGrantPolicies?$select=id,displayName,description
정책의 "포함" 조건 집합을 봅니다.
GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/includes
"제외" 조건 집합 보기:
GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/excludes
Microsoft Graph를 사용하여 사용자 지정 앱 동의 정책 만들기
사용자 지정 앱 동의 정책을 만들려면 다음 단계를 따르세요.
비어 있는 새 앱 동의 정책을 만듭니다.
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies Content-Type: application/json { "id": "my-custom-policy", "displayName": "My first custom consent policy", "description": "This is a sample custom app consent policy" }
"포함" 조건 집합을 추가합니다.
확인된 게시자의 앱에 대해 "낮음"으로 분류된 위임된 권한을 포함합니다.
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-policy }/includes Content-Type: application/json { "permissionType": "delegated", "PermissionClassification": "low", "clientApplicationsFromVerifiedPublisherOnly": true }
"포함" 조건 집합을 더 추가하려면 이 단계를 반복합니다.
선택적으로 "제외" 조건 집합을 추가합니다. Azure 관리 API에 대한 위임된 권한 제외(appId 00001111-aaaa-2222-bbbb-3333cccc4444)
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/my-custom-policy /excludes Content-Type: application/json { "permissionType": "delegated", "resourceApplication": "00001111-aaaa-2222-bbbb-3333cccc4444 " }
"제외" 조건 집합을 더 추가하려면 이 단계를 반복합니다.
앱 동의 정책을 만든 후 Microsoft Entra ID의 사용자 지정 역할에 할당해야 합니다. 그런 다음 만든 앱 동의 정책에 연결된 해당 사용자 지정 역할에 사용자를 할당해야 합니다. 앱 동의 정책을 사용자 지정 역할에 할당하는 방법에 대한 자세한 내용은 사용자 지정 역할에 대한 앱 동의 권한을 참조하세요.
Microsoft Graph를 사용하여 사용자 지정 앱 동의 정책 삭제
다음은 사용자 지정 앱 동의 정책을 삭제하는 방법을 보여줍니다.
DELETE https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/ my-custom-policy
경고
삭제된 앱 동의 정책을 복원할 수 없습니다. 실수로 사용자 지정 앱 동의 정책을 삭제하는 경우 정책을 다시 만들어야 합니다.
다음 단계
도움말을 얻거나 질문에 대한 답변을 찾으려면 다음을 수행합니다.