Skip to content

Commit 1ce511e

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into acrfix4
2 parents 1978af5 + c6248ad commit 1ce511e

File tree

515 files changed

+8891
-13289
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

515 files changed

+8891
-13289
lines changed

.openpublishing.redirection.json

Lines changed: 335 additions & 0 deletions
Large diffs are not rendered by default.

CODEOWNERS

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ articles/jenkins/ @TomArcherMsft
99
articles/terraform/ @TomArcherMsft
1010

1111
# Requires Internal Review
12-
articles/best-practices-availability-paired-regions.md @jpconnock @arob98 @syntaxc4 @tysonn @snoviking
12+
articles/best-practices-availability-paired-regions.md @jpconnock @martinekuan @syntaxc4 @tysonn @snoviking
1313

1414
# Governance
1515
articles/governance/ @DCtheGeek
1616

1717
# Configuration
18-
*.json @SyntaxC4 @snoviking @arob98
19-
.acrolinx-config.edn @MonicaRush @arob98
20-
articles/zone-pivot-groups.yml @SyntaxC4 @snoviking @arob98
18+
*.json @SyntaxC4 @snoviking @martinekuan
19+
.acrolinx-config.edn @MonicaRush @martinekuan
20+
articles/zone-pivot-groups.yml @SyntaxC4 @snoviking @martinekuan

articles/active-directory/authentication/concept-sspr-policy.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
---
22
title: Self-service password reset policies - Azure Active Directory
3-
description: Configure Azure AD self-service password reset policy options
3+
description: Learn about the different Azure Active Directory self-service password reset policy options
44

55
services: active-directory
66
ms.service: active-directory
77
ms.subservice: authentication
88
ms.topic: conceptual
9-
ms.date: 11/21/2019
9+
ms.date: 03/20/2020
1010

1111
ms.author: iainfou
1212
author: iainfoulds
1313
manager: daveba
1414
ms.reviewer: sahenry
1515
ms.collection: M365-identity-device-management
1616
---
17-
# Password policies and restrictions in Azure Active Directory
17+
# Self-service password reset policies and restrictions in Azure Active Directory
1818

1919
This article describes the password policies and complexity requirements associated with user accounts in your Azure Active Directory (Azure AD) tenant.
2020

2121
## Administrator reset policy differences
2222

23-
**Microsoft enforces a strong default *two-gate* password reset policy for any Azure administrator role** this policy may be different from the one you have defined for your users and cannot be changed. You should always test password reset functionality as a user without any Azure administrator roles assigned.
23+
**Microsoft enforces a strong default *two-gate* password reset policy for any Azure administrator role**. This policy may be different from the one you have defined for your users, and this policy can't be changed. You should always test password reset functionality as a user without any Azure administrator roles assigned.
2424

2525
With a two-gate policy, **administrators don't have the ability to use security questions**.
2626

27-
The two-gate policy requires two pieces of authentication data, such as an **email address**, **authenticator app**, or a **phone number**. A two-gate policy applies in the following circumstances:
27+
The two-gate policy requires two pieces of authentication data, such as an *email address*, *authenticator app*, or a *phone number*. A two-gate policy applies in the following circumstances:
2828

2929
* All the following Azure administrator roles are affected:
3030
* Helpdesk administrator
@@ -55,15 +55,15 @@ The two-gate policy requires two pieces of authentication data, such as an **ema
5555

5656
### Exceptions
5757

58-
A one-gate policy requires one piece of authentication data, such as an email address *or* phone number. A one-gate policy applies in the following circumstances:
58+
A one-gate policy requires one piece of authentication data, such as an email address or phone number. A one-gate policy applies in the following circumstances:
5959

6060
* It's within the first 30 days of a trial subscription; or
61-
* A custom domain hasn't been configured for your Azure AD tenant so is using the default **.onmicrosoft.com*. Note that the default **.onmicrosoft.com* domain isn't recommended for production use; and
61+
* A custom domain hasn't been configured for your Azure AD tenant so is using the default **.onmicrosoft.com*. The default **.onmicrosoft.com* domain isn't recommended for production use; and
6262
* Azure AD Connect isn't synchronizing identities
6363

6464
## UserPrincipalName policies that apply to all user accounts
6565

66-
Every user account that needs to sign in to Azure AD must have a unique user principal name (UPN) attribute value associated with their account. The following table outlines the policies that apply to both on-premises Active Directory user accounts that are synchronized to the cloud and to cloud-only user accounts:
66+
Every user account that needs to sign in to Azure AD must have a unique user principal name (UPN) attribute value associated with their account. The following table outlines the policies that apply to both on-premises Active Directory Domain Services user accounts that are synchronized to the cloud and to cloud-only user accounts:
6767

6868
| Property | UserPrincipalName requirements |
6969
| --- | --- |
@@ -77,19 +77,19 @@ The following table describes the password policy settings applied to user accou
7777

7878
| Property | Requirements |
7979
| --- | --- |
80-
| Characters allowed |<ul><li>A – Z</li><li>a - z</li><li>0 – 9</li> <li>@ # $ % ^ & * - _ ! + = [ ] { } &#124; \ : , . ? / \` ~ " ( ) ;</li> <li>blank space</li></ul> |
80+
| Characters allowed |<ul><li>A – Z</li><li>a - z</li><li>0 – 9</li> <li>@ # $ % ^ & * - _ ! + = [ ] { } &#124; \ : ' , . ? / \` ~ " ( ) ;</li> <li>blank space</li></ul> |
8181
| Characters not allowed | Unicode characters. |
8282
| Password restrictions |<ul><li>A minimum of 8 characters and a maximum of 256 characters.</li><li>Requires three out of four of the following:<ul><li>Lowercase characters.</li><li>Uppercase characters.</li><li>Numbers (0-9).</li><li>Symbols (see the previous password restrictions).</li></ul></li></ul> |
8383
| Password expiry duration (Maximum password age) |<ul><li>Default value: **90** days.</li><li>The value is configurable by using the `Set-MsolPasswordPolicy` cmdlet from the Azure Active Directory Module for Windows PowerShell.</li></ul> |
8484
| Password expiry notification (When users are notified of password expiration) |<ul><li>Default value: **14** days (before password expires).</li><li>The value is configurable by using the `Set-MsolPasswordPolicy` cmdlet.</li></ul> |
85-
| Password expiry (Let password's never expire) |<ul><li>Default value: **false** (indicates that password's have an expiration date).</li><li>The value can be configured for individual user accounts by using the `Set-MsolUser` cmdlet.</li></ul> |
85+
| Password expiry (Let passwords never expire) |<ul><li>Default value: **false** (indicates that password's have an expiration date).</li><li>The value can be configured for individual user accounts by using the `Set-MsolUser` cmdlet.</li></ul> |
8686
| Password change history | The last password *can't* be used again when the user changes a password. |
8787
| Password reset history | The last password *can* be used again when the user resets a forgotten password. |
88-
| Account lockout | After 10 unsuccessful sign-in attempts with the wrong password, the user is locked out for one minute. Further incorrect sign-in attempts lock out the user for increasing durations of time. [Smart lockout](howto-password-smart-lockout.md) tracks the last three bad password hashes to avoid incrementing the lockout counter for the same password. If someone enters the same bad password multiple times, this behavior will not cause the account to lockout. |
88+
| Account lockout | After 10 unsuccessful sign-in attempts with the wrong password, the user is locked out for one minute. Further incorrect sign-in attempts lock out the user for increasing durations of time. [Smart lockout](howto-password-smart-lockout.md) tracks the last three bad password hashes to avoid incrementing the lockout counter for the same password. If someone enters the same bad password multiple times, this behavior will not cause the account to lock out. |
8989

9090
## Set password expiration policies in Azure AD
9191

92-
A global administrator or user administrator for a Microsoft cloud service can use the Microsoft Azure AD Module for Windows PowerShell to set user passwords not to expire. You can also use Windows PowerShell cmdlets to remove the never-expires configuration or to see which user passwords are set to never expire.
92+
A *global administrator* or *user administrator* for a Microsoft cloud service can use the *Microsoft Azure AD Module for Windows PowerShell* to set user passwords not to expire. You can also use Windows PowerShell cmdlets to remove the never-expires configuration or to see which user passwords are set to never expire.
9393

9494
This guidance applies to other providers, such as Intune and Office 365, which also rely on Azure AD for identity and directory services. Password expiration is the only part of the policy that can be changed.
9595

@@ -98,14 +98,14 @@ This guidance applies to other providers, such as Intune and Office 365, which a
9898
9999
## Set or check the password policies by using PowerShell
100100

101-
To get started, you need to [download and install the Azure AD PowerShell module](https://docs.microsoft.com/powershell/module/Azuread/?view=azureadps-2.0). After you have it installed, you can use the following steps to configure each field.
101+
To get started, [download and install the Azure AD PowerShell module](https://docs.microsoft.com/powershell/module/Azuread/?view=azureadps-2.0). After the module is installed, use the following steps to configure each field.
102102

103103
### Check the expiration policy for a password
104104

105105
1. Connect to Windows PowerShell by using your user administrator or company administrator credentials.
106-
1. Execute one of the following commands:
106+
1. Run one of the following commands:
107107

108-
* To see if a single users password is set to never expire, run the following cmdlet by using the UPN (for example, *aprilr\@contoso.onmicrosoft.com*) or the user ID of the user you want to check:
108+
* To see if a single user's password is set to never expire, run the following cmdlet by using the UPN (for example, *aprilr\@contoso.onmicrosoft.com*) or the user ID of the user you want to check:
109109

110110
```powershell
111111
Get-AzureADUser -ObjectId <user ID> | Select-Object @{N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}}
@@ -152,7 +152,7 @@ To get started, you need to [download and install the Azure AD PowerShell module
152152
```
153153

154154
> [!WARNING]
155-
> Passwords set to `-PasswordPolicies DisablePasswordExpiration` still age based on the `pwdLastSet` attribute. If you set the user passwords to never expire and then 90+ days go by, the passwords expire. Based on the `pwdLastSet` attribute, if you change the expiration to `-PasswordPolicies None`, all passwords that have a `pwdLastSet` older than 90 days require the user to change them the next time they sign in. This change can affect a large number of users.
155+
> Passwords set to `-PasswordPolicies DisablePasswordExpiration` still age based on the `pwdLastSet` attribute. Based on the `pwdLastSet` attribute, if you change the expiration to `-PasswordPolicies None`, all passwords that have a `pwdLastSet` older than 90 days require the user to change them the next time they sign in. This change can affect a large number of users.
156156
157157
## Next steps
158158

articles/active-directory/authentication/howto-authentication-passwordless-security-key.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Passwordless security key sign (preview) - Azure Active Directory
2+
title: Passwordless security key sign-in (preview) - Azure Active Directory
33
description: Enable passwordless security key sign-in to Azure AD using FIDO2 security keys (preview)
44

55
services: active-directory

articles/active-directory/authentication/howto-mfa-reporting.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,13 +123,13 @@ The sign-in activity reports for MFA give you access to the following informatio
123123

124124
First, ensure that you have the [MSOnline V1 PowerShell module](https://docs.microsoft.com/powershell/azure/active-directory/overview?view=azureadps-1.0) installed.
125125

126-
Identify users who have registered for MFA using the PowerShell that follows.
126+
Identify users who have registered for MFA using the PowerShell that follows. This set of commands excludes disabled users since these accounts cannot authenticate against Azure AD.
127127

128-
```Get-MsolUser -All | Where-Object {$_.StrongAuthenticationMethods -ne $null} | Select-Object -Property UserPrincipalName```
128+
```Get-MsolUser -All | Where-Object {$.StrongAuthenticationMethods -ne $null -and $.BlockCredential -eq $False} | Select-Object -Property UserPrincipalName```
129129

130-
Identify users who have not registered for MFA using the PowerShell that follows.
130+
Identify users who have not registered for MFA using the PowerShell that follows. This set of commands excludes disabled users since these accounts cannot authenticate against Azure AD.
131131

132-
```Get-MsolUser -All | Where-Object {$_.StrongAuthenticationMethods.Count -eq 0} | Select-Object -Property UserPrincipalName```
132+
```Get-MsolUser -All | Where-Object {$.StrongAuthenticationMethods.Count -eq 0 -and $.BlockCredential -eq $False} | Select-Object -Property UserPrincipalName```
133133

134134
Identify users and output methods registered.
135135

articles/active-directory/conditional-access/block-legacy-authentication.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: active-directory
66
ms.service: active-directory
77
ms.subservice: conditional-access
88
ms.topic: conceptual
9-
ms.date: 02/25/2020
9+
ms.date: 03/20/2020
1010

1111
ms.author: joflore
1212
author: MicrosoftGuyJFlo
@@ -104,6 +104,8 @@ The safety feature is necessary because *block all users and all cloud apps* has
104104

105105
You can satisfy this safety feature by excluding one user from your policy. Ideally, you should define a few [emergency-access administrative accounts in Azure AD](../users-groups-roles/directory-emergency-access.md) and exclude them from your policy.
106106

107+
Using [report-only mode](concept-conditional-access-report-only.md) when enabling your policy to block legacy authentication provides your organization an opportunity to monitor what the impact of the policy would be.
108+
107109
## Policy deployment
108110

109111
Before you put your policy into production, take care of:
@@ -133,5 +135,6 @@ If you block legacy authentication using the **Other clients** condition, you ca
133135

134136
## Next steps
135137

138+
- [Determine impact using Conditional Access report-only mode](howto-conditional-access-report-only.md)
136139
- If you are not familiar with configuring Conditional Access policies yet, see [require MFA for specific apps with Azure Active Directory Conditional Access](app-based-mfa.md) for an example.
137140
- For more information about modern authentication support, see [How modern authentication works for Office 2013 and Office 2016 client apps](/office365/enterprise/modern-auth-for-office-2013-and-2016)

articles/active-directory/conditional-access/concept-conditional-access-grant.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ This setting applies to the following iOS and Android apps:
7878
- Microsoft Kaizala
7979
- Microsoft Launcher
8080
- Microsoft Office
81+
- Microsoft Office Hub
8182
- Microsoft OneDrive
8283
- Microsoft OneNote
8384
- Microsoft Outlook

articles/active-directory/conditional-access/howto-conditional-access-report-only.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: active-directory
66
ms.service: active-directory
77
ms.subservice: conditional-access
88
ms.topic: conceptual
9-
ms.date: 02/11/2020
9+
ms.date: 03/20/2020
1010

1111
ms.author: joflore
1212
author: MicrosoftGuyJFlo
@@ -19,6 +19,9 @@ ms.collection: M365-identity-device-management
1919

2020
To configure a Conditional Access policy in report-only mode:
2121

22+
> [!IMPORTANT]
23+
> If your organization has not already, [Set up Azure Monitor integration with Azure AD](#set-up-azure-monitor-integration-with-azure-ad). This process must take place before data will be available to review.
24+
2225
1. Sign into the **Azure portal** as a Conditional Access administrator, security administrator, or global administrator.
2326
1. Browse to **Azure Active Directory** > **Security** > **Conditional Access**.
2427
1. Select **New policy**.
@@ -52,7 +55,7 @@ More information about Azure Monitor pricing can be found on the [Azure Monitor
5255

5356
## View Conditional Access Insights workbook
5457

55-
Once youve integrated your Azure AD logs with Azure Monitor, you can monitor the impact of Conditional Access policies using the new Conditional Access insights workbooks.
58+
Once you've integrated your Azure AD logs with Azure Monitor, you can monitor the impact of Conditional Access policies using the new Conditional Access insights workbooks.
5659

5760
1. Sign into the **Azure portal** as a security administrator or global administrator.
5861
1. Browse to **Azure Active Directory** > **Workbooks**.
@@ -75,9 +78,9 @@ Once you’ve integrated your Azure AD logs with Azure Monitor, you can monitor
7578

7679
Customers have noticed that queries sometimes fail if the wrong or multiple workspaces are associated with the workbook. To fix this problem, click **Edit** at the top of the workbook and then the Settings gear. Select and then remove workspaces that are not associated with the workbook. There should be only one workspace associated with each workbook.
7780

78-
### Why doesnt the Conditional Access Policies dropdown parameter contain my policies?
81+
### Why doesn't the Conditional Access Policies dropdown parameter contain my policies?
7982

80-
The Conditional Access Policies dropdown is populated by querying the most recent sign-ins over a period of 4 hours. If a tenant doesnt have any sign-ins in the past 4 hours, it is possible that the dropdown will be empty. If this delay is a persistent problem, such as in small tenants with infrequent sign-ins, admins can edit the query for the Conditional Access Policies dropdown and extend the time for the query to a time longer than 4 hours.
83+
The Conditional Access Policies dropdown is populated by querying the most recent sign-ins over a period of 4 hours. If a tenant doesn't have any sign-ins in the past 4 hours, it is possible that the dropdown will be empty. If this delay is a persistent problem, such as in small tenants with infrequent sign-ins, admins can edit the query for the Conditional Access Policies dropdown and extend the time for the query to a time longer than 4 hours.
8184

8285
## Next steps
8386

articles/active-directory/develop/authentication-scenarios.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,23 @@ Tokens are only valid for a limited amount of time. Usually the STS provides a p
7474

7575
Access tokens are passed to a Web API as the bearer token in the `Authorization` header. An app can provide a refresh token to the STS, and if the user access to the app wasn't revoked, it will get back a new access token and a new refresh token. This is how the scenario of someone leaving the enterprise is handled. When the STS receives the refresh token, it won't issue another valid access token if the user is no longer authorized.
7676

77+
### How each flow emits tokens and codes
78+
79+
Depending on how your client is built, it can use one (or several) of the authentication flows supported by Azure AD. These flows can produce a variety of tokens (id_tokens, refresh tokens, access tokens) as well as authorization codes, and require different tokens to make them work. This chart provides an overview:
80+
81+
|Flow | Requires | id_token | access token | refresh token | authorization code |
82+
|-----|----------|----------|--------------|---------------|--------------------|
83+
|[Authorization code flow](v2-oauth2-auth-code-flow.md) | | x | x | x | x|
84+
|[Implicit flow](v2-oauth2-implicit-grant-flow.md) | | x | x | | |
85+
|[Hybrid OIDC flow](v2-protocols-oidc.md#get-access-tokens)| | x | | | x |
86+
|[Refresh token redemption](v2-oauth2-auth-code-flow.md#refresh-the-access-token) | refresh token | x | x | x| |
87+
|[On-behalf-of flow](v2-oauth2-on-behalf-of-flow.md) | access token| x| x| x| |
88+
|[Client credentials](v2-oauth2-client-creds-grant-flow.md) | | | x (app-only)| | |
89+
90+
Tokens issued via the implicit mode have a length limitation due to being passed back to the browser via the URL (where `response_mode` is `query` or `fragment`). Some browsers have a limit on the size of the URL that can be put in the browser bar and fail when it is too long. Thus, these tokens do not have `groups` or `wids` claims.
91+
92+
Now that you have an overview of the basics, read on to understand the identity app model and API, learn how provisioning works in Azure AD, and get links to detailed information about common scenarios Azure AD supports.
93+
7794
## Application model
7895

7996
Applications can sign in users themselves or delegate sign-in to an identity provider. See [Authentication flows and app scenarios](authentication-flows-app-scenarios.md) to learn about sign-in scenarios supported by Azure AD.

articles/active-directory/develop/quickstart-v2-javascript.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ In this quickstart, you use a code sample to learn how a JavaScript single-page
8080
> [Download the code sample](https://github.com/Azure-Samples/active-directory-javascript-graphapi-v2/archive/quickstart.zip)
8181
8282
> [!div renderon="docs"]
83-
8483
> #### Step 3: Configure your JavaScript app
8584
>
8685
> In the *JavaScriptSPA* folder, edit *authConfig.js*, and set the `clientID`, `authority` and `redirectUri` values under `msalConfig`.

0 commit comments

Comments
 (0)