Skip to content

Commit 4ddee71

Browse files
authored
Merge pull request #204552 from MicrosoftDocs/main
Publish to Live, Wednesday 4AM PST, 7/13
2 parents e09db6f + 61c5481 commit 4ddee71

File tree

102 files changed

+1499
-376
lines changed

Some content is hidden

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

102 files changed

+1499
-376
lines changed

articles/active-directory/authentication/howto-sspr-authenticationdata.md

Lines changed: 50 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: active-directory
66
ms.service: active-directory
77
ms.subservice: authentication
88
ms.topic: how-to
9-
ms.date: 10/05/2020
9+
ms.date: 07/12/2022
1010

1111
ms.author: justinha
1212
author: justinha
@@ -18,7 +18,7 @@ ms.custom: devx-track-azurepowershell
1818
---
1919
# Pre-populate user authentication contact information for Azure Active Directory self-service password reset (SSPR)
2020

21-
To use Azure Active Directory (Azure AD) self-service password reset (SSPR), authentication contact information for a user must be present. Some organizations have users register their authentication data themselves. Other organizations prefer to synchronize from authentication data that already exists in Active Directory Domain Services (AD DS). This synchronized data is made available to Azure AD and SSPR without requiring user interaction. When users need to change or reset their password, they can do so even if they haven't previously registered their contact information.
21+
To use Azure Active Directory (Azure AD) self-service password reset (SSPR), authentication information for a user must be present. Most organizations have users register their authentication data themselves while collecting information for MFA. Some organizations prefer to bootstrap this process through synchronization of authentication data that already exists in Active Directory Domain Services (AD DS). This synchronized data is made available to Azure AD and SSPR without requiring user interaction. When users need to change or reset their password, they can do so even if they haven't previously registered their contact information.
2222

2323
You can pre-populate authentication contact information if you meet the following requirements:
2424

@@ -80,13 +80,13 @@ The following fields can be set through PowerShell:
8080
* Can only be set if you're not synchronizing with an on-premises directory.
8181

8282
> [!IMPORTANT]
83-
> There's a known lack of parity in command features between PowerShell v1 and PowerShell v2. The [Microsoft Graph REST API (beta) for authentication methods](/graph/api/resources/authenticationmethods-overview) is the current engineering focus to provide modern interaction.
83+
> Azure AD PowerShell is planned for deprecation. You can start using [Microsoft Graph PowerShell](/powershell/microsoftgraph/overview) to interact with Azure AD as you would in Azure AD PowerShell, or use the [Microsoft Graph REST API for managing authentication methods](/graph/api/resources/authenticationmethods-overview).
8484
85-
### Use PowerShell version 1
85+
### Use Azure AD PowerShell version 1
8686

8787
To get started, [download and install the Azure AD PowerShell module](/previous-versions/azure/jj151815(v=azure.100)#bkmk_installmodule). After it's installed, use the following steps to configure each field.
8888

89-
#### Set the authentication data with PowerShell version 1
89+
#### Set the authentication data with Azure AD PowerShell version 1
9090

9191
```PowerShell
9292
Connect-MsolService
@@ -98,7 +98,7 @@ Set-MsolUser -UserPrincipalName [email protected] -PhoneNumber "+1 4252345678"
9898
Set-MsolUser -UserPrincipalName [email protected] -AlternateEmailAddresses @("[email protected]") -MobilePhone "+1 4251234567" -PhoneNumber "+1 4252345678"
9999
```
100100

101-
#### Read the authentication data with PowerShell version 1
101+
#### Read the authentication data with Azure AD PowerShell version 1
102102

103103
```PowerShell
104104
Connect-MsolService
@@ -120,21 +120,21 @@ Get-MsolUser -UserPrincipalName [email protected] | select -Expand StrongAuthentic
120120
Get-MsolUser -UserPrincipalName [email protected] | select -Expand StrongAuthenticationUserDetails | select Email
121121
```
122122

123-
### Use PowerShell version 2
123+
### Use Azure AD PowerShell version 2
124124

125125
To get started, [download and install the Azure AD version 2 PowerShell module](/powershell/module/azuread/).
126126

127127
To quickly install from recent versions of PowerShell that support `Install-Module`, run the following commands. The first line checks to see if the module is already installed:
128128

129129
```PowerShell
130-
Get-Module AzureADPreview
131-
Install-Module AzureADPreview
130+
Get-Module AzureAD
131+
Install-Module AzureAD
132132
Connect-AzureAD
133133
```
134134

135135
After the module is installed, use the following steps to configure each field.
136136

137-
#### Set the authentication data with PowerShell version 2
137+
#### Set the authentication data with Azure AD PowerShell version 2
138138

139139
```PowerShell
140140
Connect-AzureAD
@@ -146,7 +146,7 @@ Set-AzureADUser -ObjectId [email protected] -TelephoneNumber "+1 4252345678"
146146
Set-AzureADUser -ObjectId [email protected] -OtherMails @("[email protected]") -Mobile "+1 4251234567" -TelephoneNumber "+1 4252345678"
147147
```
148148

149-
#### Read the authentication data with PowerShell version 2
149+
#### Read the authentication data with Azure AD PowerShell version 2
150150

151151
```PowerShell
152152
Connect-AzureAD
@@ -158,6 +158,45 @@ Get-AzureADUser -ObjectID [email protected] | select TelephoneNumber
158158
Get-AzureADUser | select DisplayName,UserPrincipalName,otherMails,Mobile,TelephoneNumber | Format-Table
159159
```
160160

161+
### Use Microsoft Graph PowerShell
162+
163+
To get started, [download and install the Microsoft Graph PowerShell module](/powershell/microsoftgraph/overview).
164+
165+
To quickly install from recent versions of PowerShell that support `Install-Module`, run the following commands. The first line checks to see if the module is already installed:
166+
167+
```PowerShell
168+
Get-Module Microsoft.Graph
169+
Install-Module Microsoft.Graph
170+
Select-MgProfile -Name "beta"
171+
Connect-MgGraph -Scopes "User.ReadWrite.All"
172+
```
173+
174+
After the module is installed, use the following steps to configure each field.
175+
176+
#### Set the authentication data with Microsoft Graph PowerShell
177+
178+
```PowerShell
179+
Connect-MgGraph -Scopes "User.ReadWrite.All"
180+
181+
Update-MgUser -UserId '[email protected]' -otherMails @("[email protected]")
182+
Update-MgUser -UserId '[email protected]' -mobilePhone "+1 4251234567"
183+
Update-MgUser -UserId '[email protected]' -businessPhones "+1 4252345678"
184+
185+
Update-MgUser -UserId '[email protected]' -otherMails @("[email protected]") -mobilePhone "+1 4251234567" -businessPhones "+1 4252345678"
186+
```
187+
188+
#### Read the authentication data with Microsoft Graph PowerShell
189+
190+
```PowerShell
191+
Connect-MgGraph -Scopes "User.Read.All"
192+
193+
Get-MgUser -UserId '[email protected]' | select otherMails
194+
Get-MgUser -UserId '[email protected]' | select mobilePhone
195+
Get-MgUser -UserId '[email protected]' | select businessPhones
196+
197+
Get-MgUser -UserId '[email protected]' | Select businessPhones, mobilePhone, otherMails | Format-Table
198+
```
199+
161200
## Next steps
162201

163202
Once authentication contact information is pre-populated for users, complete the following tutorial to enable self-service password reset:

articles/active-directory/external-identities/faq.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,19 @@ sections:
189189
For information about what licenses your organization needs to use Azure AD B2B, see [External Identities pricing](external-identities-pricing.md).
190190
191191
- question: |
192-
Can B2B collaboration users sign in with their non-UPN email address?
192+
What happens if I invite a user whose email and UPN don’t match?
193193
answer: |
194-
Yes. For more information about email as an alternate login ID for B2B collaboration, see [B2B guest user sign-in with an email address](../authentication/howto-authentication-use-email-signin.md#b2b-guest-user-sign-in-with-an-email-address).
194+
It depends. By default, Azure AD only allows UPN for login ID. When UPN and email are the same, Azure AD B2B invitations and subsequent sign-ins work as expected. However, issues can arise when a user’s email and UPN don’t match, and the email is used instead of the UPN to sign in.
195+
When a user is invited with a non-UPN email, they will be able to redeem the invitation if they redeem using the [email invitation link](https://docs.microsoft.com/azure/active-directory/external-identities/redemption-experience#redemption-through-the-invitation-email), but redemptions via a [direct link](https://docs.microsoft.com/azure/active-directory/external-identities/redemption-experience#redemption-through-a-direct-link) will fail. However, even if the user successfully redeems the invitation, subsequent sign-in attempts using the non-UPN email will fail unless the identity provider (either Azure AD or a federated identity provider) is configured to allow email as an alternative login ID.
196+
This issue can be mitigated by:
197+
1. [Enabling email as an alternate login ID](https://docs.microsoft.com/azure/active-directory/authentication/howto-authentication-use-email-signin) in the invited/home Azure AD tenant
198+
2. Enabling the federated identity provider to support email as login ID (if Azure AD is federated to another identity provider) or
199+
3. Instructing the user to redeem/sign-in using their UPN.
200+
To avoid this issue entirely, administrators should ensure users’ UPN and email are the same value.
201+
202+
![Screenshot shows the flow for guest redemption.](media/user-invitation-different-email-upn/guest-redemption.png)
203+
204+
![Screenshot shows the flow for subsequent sign-ins.](media/user-invitation-different-email-upn/subsequent-sign-in.png)
195205
196206
- question: |
197207
Instant-on: What can cause replication latency?
37.5 KB
Loading
25.1 KB
Loading

articles/active-directory/fundamentals/road-to-the-cloud-posture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ In enterprise-sized organizations, IAM transformation, or even transformation fr
5353
[ ![Diagram that shows five elements, each depicting a possible network architecture. Options include cloud attached, hybrid, cloud first, AD minimized, and 100% cloud.](media/road-to-cloud-posture/road-to-the-cloud-five-states.png) ](media/road-to-cloud-posture/road-to-the-cloud-five-states.png#lightbox)
5454

5555
>[!NOTE]
56-
> The states in this diagram represent a logical progression of cloud transformation.
56+
> The states in this diagram represent a logical progression of cloud transformation. Your ability to move from one state to the next is dependent on the functionality that you have implemented and the capabilities within that functionality to move to the cloud.
5757
5858
**State 1 Cloud attached** - In this state, organizations have created an Azure AD tenant to enable user productivity and collaboration tools and the tenant is fully operational. Most companies that use Microsoft products and services in their IT environment are already in or beyond this state. In this state operational costs may be higher because there's an on-premises environment and cloud environment to maintain and make interactive. Also, people must have expertise in both environments to support their users and the organization. In this state:
5959

articles/aks/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@
241241
- name: Security and authentication
242242
items:
243243
- name: Overview of Defender for Containers
244-
href: ../defender-for-cloud/defender-for-containers-introduction.md?tabs=defender-for-container-arch-aks#what-are-the-benefits-of-microsoft-defender-for-containers
244+
href: ../defender-for-cloud/defender-for-containers-introduction.md
245245
maintainContext: true
246246
- name: Enable Defender for Containers
247247
href: ../defender-for-cloud/defender-for-containers-enable.md?tabs=aks-deploy-portal%2Ck8s-deploy-asc%2Ck8s-verify-asc%2Ck8s-remove-arc%2Caks-removeprofile-api&pivots=defender-for-container-aks

articles/api-management/api-management-access-restriction-policies.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,7 @@ This policy can be used in the following policy [sections](./api-management-howt
555555

556556
## <a name="ValidateJWT"></a> Validate JWT
557557

558-
The `validate-jwt` policy enforces existence and validity of a JSON web token (JWT) extracted from either a specified HTTP header or a specified query parameter.
558+
The `validate-jwt` policy enforces existence and validity of a JSON web token (JWT) extracted from a specified HTTP header, extracted from a specified query parameter, or matching a specific value.
559559

560560
> [!IMPORTANT]
561561
> The `validate-jwt` policy requires that the `exp` registered claim is included in the JWT token, unless `require-expiration-time` attribute is specified and set to `false`.
@@ -569,10 +569,11 @@ The `validate-jwt` policy enforces existence and validity of a JSON web token (J
569569

570570
```xml
571571
<validate-jwt
572-
header-name="name of http header containing the token (use query-parameter-name attribute if the token is passed in the URL)"
572+
header-name="name of HTTP header containing the token (alternatively, use query-parameter-name or token-value attribute to specify token)"
573+
query-parameter-name="name of query parameter used to pass the token (alternative, use header-name or token-value attribute to specify token)"
574+
token-value="expression returning the token as a string (alternatively, use header-name or query-parameter attribute to specify token)"
573575
failed-validation-httpcode="http status code to return on failure"
574576
failed-validation-error-message="error message to return on failure"
575-
token-value="expression returning JWT token as a string"
576577
require-expiration-time="true|false"
577578
require-scheme="scheme"
578579
require-signed-tokens="true|false"
@@ -724,7 +725,7 @@ This example shows how to use the [Validate JWT](api-management-access-restricti
724725
| failed-validation-httpcode | HTTP Status code to return if the JWT doesn't pass validation. | No | 401 |
725726
| header-name | The name of the HTTP header holding the token. | One of `header-name`, `query-parameter-name` or `token-value` must be specified. | N/A |
726727
| query-parameter-name | The name of the query parameter holding the token. | One of `header-name`, `query-parameter-name` or `token-value` must be specified. | N/A |
727-
| token-value | Expression returning a string containing JWT token. You must not return `Bearer ` as part of the token value. | One of `header-name`, `query-parameter-name` or `token-value` must be specified. | N/A |
728+
| token-value | Expression returning a string containing the token. You must not return `Bearer ` as part of the token value. | One of `header-name`, `query-parameter-name` or `token-value` must be specified. | N/A |
728729
| id | The `id` attribute on the `key` element allows you to specify the string that will be matched against `kid` claim in the token (if present) to find out the appropriate key to use for signature validation. | No | N/A |
729730
| match | The `match` attribute on the `claim` element specifies whether every claim value in the policy must be present in the token for validation to succeed. Possible values are:<br /><br /> - `all` - every claim value in the policy must be present in the token for validation to succeed.<br /><br /> - `any` - at least one claim value must be present in the token for validation to succeed. | No | all |
730731
| require-expiration-time | Boolean. Specifies whether an expiration claim is required in the token. | No | true |

articles/application-gateway/application-gateway-ssl-policy-overview.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@ Application Gateway supports the following cipher suites from which you can choo
118118

119119
- The connections to backend servers are always with minimum protocol TLS v1.0 and up to TLS v1.2. Therefore, only TLS versions 1.0, 1.1 and 1.2 are supported to establish a secured connection with backend servers.
120120
- As of now, the TLS 1.3 implementation is not enabled with &#34;Zero Round Trip Time (0-RTT)&#34; feature.
121-
- The Portal support for the new policies and TLS 1.3 is currently unavailable.
122121
- Application Gateway v2 does not support the following DHE ciphers. These won't be used for the TLS connections with clients even though they are mentioned in the predefined policies. Instead of DHE ciphers, secure and faster ECDHE ciphers are recommended.
123122
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
124123
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA

0 commit comments

Comments
 (0)