Skip to content

Commit 3da63b5

Browse files
luleonplapsignoret
authored andcommitted
Update user consent settings for new options and new UX
1 parent 329e679 commit 3da63b5

File tree

4 files changed

+165
-30
lines changed

4 files changed

+165
-30
lines changed

articles/active-directory/manage-apps/configure-user-consent.md

Lines changed: 165 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -9,64 +9,199 @@ ms.service: active-directory
99
ms.subservice: app-mgmt
1010
ms.workload: identity
1111
ms.topic: conceptual
12-
ms.date: 10/22/2018
12+
ms.date: 05/19/2020
1313
ms.author: mimart
1414
ms.reviewer: arvindh
1515
ms.collection: M365-identity-device-management
1616
---
1717

1818
# Configure how end-users consent to applications
1919

20-
Applications can integrate with the Microsoft Identity platform to allow users to sign in using their work or school account in Azure Active Directory (Azure AD), and to access your organization's data to deliver rich data-driven experiences. Different permissions allow the application different level of access to your users' and your organization's data.
20+
Applications can integrate with the Microsoft identity platform, allowing users to sign in with their work or school account and access your organization's data to deliver rich data-driven experiences.
2121

22-
By default, users can consent to applications accessing your organization's data, although only for some permissions. For example, by default a user can consent to allow an app to access their own mailbox or the Teams conversations for a team the user owns, but cannot consent to allow an app unattended access to read and write to all SharePoint sites in your organization. While allowing users to consent by themselves does allow users to easily acquire useful applications that integrate with Microsoft 365, Azure and other services, it can represent a risk if not used and monitored carefully.
22+
Before an application can access your organization's data, a user must grant the application permissions to access data. Different permissions allow different levels of access.
2323

24-
Microsoft recommends disabling future user consent operations to help reduce your surface area and mitigate this risk. If user consent is disabled, previous consent grants will still be honored but all future consent operations must be performed by an administrator. Tenant-wide admin consent can be requested by users through an integrated [admin consent request workflow](configure-admin-consent-workflow.md) or through your own support processes. See [Five steps to securing your identity infrastructure](../../security/fundamentals/steps-secure-identity.md) for more details.
24+
By default, all users are allowed to consent to applications for permissions which do not require administrator consent. For example, by default, a user can consent to allow an app to access their mailbox, but cannot consent to allow an app unfettered access to read and write to all files in your organization.
2525

26-
## Configure user consent to applications
27-
### Disable or enable user consent from the Azure portal
26+
Allowing users to grant apps access to data allow users to easily acquire useful applications and be productive, but in some situations this configuration can represent a risk if not monitored and controlled carefully.
2827

29-
You can use the Azure portal to disable or enable users' ability to consent to applications accessing your organization's data:
28+
## User consent settings
29+
30+
You can control in which cases users can consent to applications by choosing the consent policy which will apply to all users. There are three options out of the box:
31+
32+
* **Disable user consent**. With this setting, users cannot grant permissions to applications. Users will be able to continue to sign in to apps they had previously consented to or which are consented to by administrators on their behalf, but they will not be allowed to consent to new permissions, or to new apps on their own. Only users who have been granted a directory role which includes the permission to grant consent will be able to consent.
33+
34+
* **Users can consent to apps from verified publishers, but only for permissions you select (preview)**. With this consent policy, all users can only consent to apps which were published by a [verified publisher](../develop/publisher-verification-overview.md) and apps which are registered in your tenant. Users can only consent to the permissions you have classified as "Low impact".
35+
36+
> [!IMPORTANT]
37+
> Don't forget to [classify permissions](#configure-permission-classifications-preview) to select which permissions users are allowed to consent to.
38+
39+
* **Users can consent to all apps**. With this setting all users can consent to for any apps.
40+
41+
> [!WARNING]
42+
> This option allows all users to consent to any permission which does not require admin consent, for any application. Microsoft recommends allowing user consent only for apps from verified publishers.
43+
44+
To reduce the risk of malicious applications attempting to trick users into granting them access to your organization's data, Microsoft recommends allowing user consent only for applications which have been published by a [verified publisher](../develop/publisher-verification-overview.md).
45+
46+
> [!NOTE]
47+
> To ensure users have a simple way to request administrator review and approval for an application they are not allowed to consent to, consider enabling the [admin consent request workflow](configure-admin-consent-workflow.md).
48+
49+
### Configure user consent settings from the Azure portal
50+
51+
You can use the Azure portal to configure user consent settings:
3052

3153
1. Sign in to the [Azure portal](https://portal.azure.com) as a [Global Administrator](../users-groups-roles/directory-assign-admin-roles.md#global-administrator--company-administrator).
32-
2. Select **Azure Active Directory**, then **Enterprise applications**, then **User settings**.
33-
3. Enable or disable user consent with the control labeled **Users can consent to apps accessing company data on their behalf**.
34-
4. (Optional) Configure [admin consent request workflow](configure-admin-consent-workflow.md) to ensure users who aren't allowed to consent to an app can request approval.
54+
2. Select **Azure Active Directory** > **Enterprise applications** > **Consent and permissions** > **User consent settings**.
55+
3. Under **User consent for applications** select which consent setting you'd like to configure for all users.
56+
4. Click **Save** to save your settings.
57+
58+
![User consent settings](./media/configure-user-consent/configure-consent-setting-for-all-users.png)
3559

3660
> [!TIP]
37-
> To allow users to request an administrator's review of an application that the user is not allowed to consent to (for example, because user consent has been disabled, or because the application is requesting permissions that the user is not allowed to grant), consider [configuring the admin consent workflow](configure-admin-consent-workflow.md).
61+
> Consider [enabling the admin consent workflow](configure-admin-consent-workflow.md) to allow users to request an administrator's review of an application that the user is not allowed to consent to. For example, because user consent has been disabled, or because the application is requesting permissions that the user is not allowed to grant.
3862
39-
### Disable or enable user consent using PowerShell
63+
### Configure user consent settings using PowerShell
4064

41-
You can use the Azure AD PowerShell v1 module ([MSOnline](https://docs.microsoft.com/powershell/module/msonline/?view=azureadps-1.0)), to enable or disable users' ability to consent to applications accessing your organization's data.
65+
You can use the latest version of the [AzureADPreview](https://docs.microsoft.com/powershell/azure/active-directory/install-adv2?view=azureadps-2.0-preview) module to choose which consent policy governs user consent for applications.
4266

43-
1. Sign in to your organization by running this cmdlet:
67+
* **Disable user consent**. To disable user consent, set the consent policies which govern user consent to be empty:
4468

45-
```powershell
46-
Connect-MsolService
47-
```
69+
```powershell
70+
Set-AzureADMSAuthorizationPolicy `
71+
-Id "authorizationPolicy" `
72+
-PermissionGrantPolicyIdsAssignedToDefaultUserRole @()
73+
```
4874

49-
2. Check if user consent is enabled by running this cmdlet:
75+
* **Allow user consent for apps from verified publishers, for selected permissions (preview)**. To allow limited user consent only for apps from verified publishers and apps registered in your tenant, only for permissions you classify as "Low impact", configure the built-in consent policy named `microsoft-user-default-low`:
5076

51-
```powershell
52-
Get-MsolCompanyInformation | Format-List UsersPermissionToUserConsentToAppEnabled
53-
```
77+
```powershell
78+
Set-AzureADMSAuthorizationPolicy `
79+
-Id "authorizationPolicy" `
80+
-PermissionGrantPolicyIdsAssignedToDefaultUserRole @("microsoft-user-default-low")
81+
```
5482

55-
3. Enable or disable user consent. For example, to disable user consent, run this cmdlet:
83+
> [!IMPORTANT]
84+
> Don't forget to [classify permissions](#configure-permission-classifications-preview) to select which permissions users are allowed to consent to.
5685
57-
```powershell
58-
Set-MsolCompanySettings -UsersPermissionToUserConsentToAppEnabled $false
59-
```
86+
* **Allow user consent for all apps**. To allow user consent for all apps:
6087

61-
## Configure group owner consent to apps accessing group data
88+
```powershell
89+
Set-AzureADMSAuthorizationPolicy `
90+
-Id "authorizationPolicy" `
91+
-PermissionGrantPolicyIdsAssignedToDefaultUserRole @("microsoft-user-default-legacy")
92+
```
6293

63-
> [!IMPORTANT]
64-
> The following information is for an upcoming feature which will allow group owners to grant applications access to their groups' data. When this capability is released, it will be enabled by default. Although this feature is not yet released widely, you can use these instructions to disable the capability in advance of its release.
94+
> [!WARNING]
95+
> This option allows all users to consent to any permission which does not require admin consent, for any application. Instead, Microsoft recommends allowing user consent only for apps from verified publishers.
96+
97+
## Configure permission classifications (preview)
6598

66-
Group owners can authorize applications (for example, applications published by third-party vendors) to access your organization's data associated with a group. For example, a team owner (who is the owner of the Office 365 Group for the team) can allow an app to read all Teams messages in the team, or list the basic profile of a group's members.
99+
Permission classifications allow you to identify the impact different permissions have, according to your organization's policies and risk evaluations. For example, permission classifications can be used in consent policies to identify the set of permissions which users are allowed to consent to.
67100

68101
> [!NOTE]
69-
> Independent of this setting, a group owner is always allowed to add other users or apps directly as a group owners.
102+
> Currently, the only the "Low impact" permission classification is supported. In the future, additional levels of classification will be supported. Only delegated permissions which do not require admin consent can be classified as "Low impact".
103+
104+
### Classify permissions using the Azure portal
105+
106+
1. Sign in to the [Azure portal](https://portal.azure.com) as a [Global Administrator](../users-groups-roles/directory-assign-admin-roles.md#global-administrator--company-administrator).
107+
2. Select **Azure Active Directory** > **Enterprise applications** > **Consent and permissions** > **Permission classifications**.
108+
3. Choose **Add permissions** to classify another permission as "Low impact". Select the API and then select the delegated permission(s).
109+
110+
In this example, we've classified the minimum set of permission required for single sign-on:
111+
112+
![Permission classifications](./media/configure-user-consent/configure-permission-classifications.png)
113+
114+
> [!TIP]
115+
> The minimum permissions needed to do basic single sign on are `openid`, `profile`, `User.Read` and `offline_access`, for the Microsoft Graph API. With these permissions an app can read the profile details of the signed-in user, and can maintain this access even when the user is not longer using the app.
116+
117+
### Classify permissions using PowerShell
118+
119+
You can use the latest Azure AD PowerShell Preview module ([AzureADPreview](https://docs.microsoft.com/powershell/module/azuread/?view=azureadps-2.0-preview)) to classify permissions using PowerShell.
120+
121+
Permission classifications are configured on the **ServicePrincipal** object of the API which publishes the permissions.
122+
123+
To read the current permission classifications for an API:
124+
125+
1. Retrieve the **ServicePrincipal** object for the API. Here we retrieve the ServicePrincipal object for the Microsoft Graph API:
126+
127+
```powershell
128+
$api = Get-AzureADServicePrincipal `
129+
-Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
130+
```
131+
132+
2. Read the delegated permission classifications for the API:
133+
134+
```powershell
135+
Get-AzureADMSServicePrincipalDelegatedPermissionClassification `
136+
-ServicePrincipalId $api.ObjectId | Format-Table Id, PermissionName, Classification
137+
```
138+
139+
To classify a permission as "Low impact":
140+
141+
1. Retrieve the **ServicePrincipal** object for the API. Here we retrieve the ServicePrincipal object for the Microsoft Graph API:
142+
143+
```powershell
144+
$api = Get-AzureADServicePrincipal `
145+
-Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
146+
```
147+
148+
2. Find the delegated permission you would like to classify:
149+
150+
```powershell
151+
$delegatedPermission = $api.OAuth2Permissions | Where-Object { $_.Value -eq "User.ReadBasic.All" }
152+
```
153+
154+
3. Set the permission classification using the permission name and ID:
155+
156+
```powershell
157+
Add-AzureADMSServicePrincipalDelegatedPermissionClassification `
158+
-ServicePrincipalId $api.ObjectId `
159+
-PermissionId $delegatedPermission.Id `
160+
-PermissionName $delegatedPermission.Value `
161+
-Classification "low"
162+
```
163+
164+
To remove a delegated permission classification:
165+
166+
1. Retrieve the **ServicePrincipal** object for the API. Here we retrieve the ServicePrincipal object for the Microsoft Graph API:
167+
168+
```powershell
169+
$api = Get-AzureADServicePrincipal `
170+
-Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
171+
```
172+
173+
2. Find the delegated permission classification you wish to remove:
174+
175+
```powershell
176+
$classifications = Get-AzureADMSServicePrincipalDelegatedPermissionClassification `
177+
-ServicePrincipalId $api.ObjectId
178+
$classificationToRemove = $classifications | Where-Object {$_.PermissionName -eq "User.ReadBasic.All"}
179+
```
180+
181+
3. Delete the permission classification:
182+
183+
```powershell
184+
Remove-AzureADMSServicePrincipalDelegatedPermissionClassification `
185+
-ServicePrincipalId $api.ObjectId `
186+
-Id $classificationToRemove.Id
187+
```
188+
189+
## Configure group owner consent to apps accessing group data
190+
191+
Group owners can authorize applications (for example, applications published by third-party vendors) to access your organization's data associated with a group. For example, a team owner in Microsoft Teams can allow an app to read all Teams messages in the team, or list the basic profile of a group's members.
192+
193+
You can configure which users are allowed to consent to apps accessing their groups' data, or you can disable this feature.
194+
195+
### Configure group owner consent using the Azure portal
196+
197+
1. Sign in to the [Azure portal](https://portal.azure.com) as a [Global Administrator](../users-groups-roles/directory-assign-admin-roles.md#global-administrator--company-administrator).
198+
2. Select **Azure Active Directory** > **Enterprise applications** > **Consent and permissions** > **User consent settings**.
199+
3. Under **Group owner consent for apps accessing data** select the option you'd like to enable.
200+
4. Click **Save** to save your settings.
201+
202+
In this example, all group owners are allowed to consent to apps accessing their groups' data:
203+
204+
![Permission classifications](./media/configure-user-consent/configure-group-owner-consent.png)
70205

71206
### Configure group owner consent using PowerShell
72207

10.1 KB
Loading
9.15 KB
Loading
7.71 KB
Loading

0 commit comments

Comments
 (0)