Skip to content

Commit ff6d4e7

Browse files
authored
Merge pull request #197148 from calvinlui/main
Updates to Email as Alternate Login ID documentation
2 parents 2017c6d + efcf57f commit ff6d4e7

File tree

4 files changed

+80
-44
lines changed

4 files changed

+80
-44
lines changed

articles/active-directory/authentication/howto-authentication-use-email-signin.md

Lines changed: 80 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Some organizations haven't moved to hybrid authentication for the following reas
2929

3030
To help with the move to hybrid authentication, you can configure Azure AD to let users sign in with their email as an alternate login ID. For example, if *Contoso* rebranded to *Fabrikam*, rather than continuing to sign in with the legacy `[email protected]` UPN, email as an alternate login ID can be used. To access an application or service, users would sign in to Azure AD using their non-UPN email, such as `[email protected]`.
3131

32-
![Diagram of email as an alternate login ID.](media/howto-authentication-use-email-signin/email-alternate-login-id.png)
32+
![Diagram of email as an alternate login I D.](media/howto-authentication-use-email-signin/email-alternate-login-id.png)
3333

3434
This article shows you how to enable and use email as an alternate login ID.
3535

@@ -38,7 +38,7 @@ This article shows you how to enable and use email as an alternate login ID.
3838
Here's what you need to know about email as an alternate login ID:
3939

4040
* The feature is available in Azure AD Free edition and higher.
41-
* The feature enables sign-in with *ProxyAddresses*, in addition to UPN, for cloud-authenticated Azure AD users. More on how this applies to Azure AD B2B scenarios in the [B2B](#b2b-guest-user-sign-in-with-an-email-address) section.
41+
* The feature enables sign-in with *ProxyAddresses*, in addition to UPN, for cloud-authenticated Azure AD users. More on how this applies to Azure AD business-to-business (B2B) collaboration in the [B2B](#b2b-guest-user-sign-in-with-an-email-address) section.
4242
* When a user signs in with a non-UPN email, the `unique_name` and `preferred_username` claims (if present) in the [ID token](../develop/id-tokens.md) will return the non-UPN email.
4343
* The feature supports managed authentication with Password Hash Sync (PHS) or Pass-Through Authentication (PTA).
4444
* There are two options for configuring the feature:
@@ -62,15 +62,14 @@ In the current preview state, the following limitations apply to email as an alt
6262
* [Hybrid Azure AD joined devices](../devices/concept-azure-ad-join-hybrid.md)
6363
* [Azure AD joined devices](../devices/concept-azure-ad-join.md)
6464
* [Azure AD registered devices](../devices/concept-azure-ad-register.md)
65-
* [Applications using Resource Owner Password Credentials (ROPC)](../develop/v2-oauth-ropc.md)
66-
* Applications using legacy authentication such as POP3 and SMTP
65+
* [Resource Owner Password Credentials (ROPC)](../develop/v2-oauth-ropc.md)
66+
* Legacy authentication such as POP3 and SMTP
6767
* Skype for Business
68-
* Microsoft Office on macOS
6968
* Microsoft 365 Admin Portal
7069

7170
* **Unsupported apps** - Some third-party applications may not work as expected if they assume that the `unique_name` or `preferred_username` claims are immutable or will always match a specific user attribute, such as UPN.
7271

73-
* **Logging** - Changes made to the feature's configuration in HRD policy are not explicitly shown in the audit logs. In addition, the *Sign-in identifier type* field in the sign-in logs may not be always accurate and should not be used to determine whether the feature has been used for sign-in.
72+
* **Logging** - Changes made to the feature's configuration in HRD policy are not explicitly shown in the audit logs.
7473

7574
* **Staged rollout policy** - The following limitations apply only when the feature is enabled using staged rollout policy:
7675
* The feature does not work as expected for users that are included in other staged rollout policies.
@@ -116,15 +115,15 @@ In both configuration options, the user submits their username and password to A
116115
One of the user attributes that's automatically synchronized by Azure AD Connect is *ProxyAddresses*. If users have an email address defined in the on-prem AD DS environment as part of the *ProxyAddresses* attribute, it's automatically synchronized to Azure AD. This email address can then be used directly in the Azure AD sign-in process as an alternate login ID.
117116

118117
> [!IMPORTANT]
119-
> Only emails in verified domains for the tenant are synchronized to Azure AD. Each Azure AD tenant has one or more verified domains, for which you have proven ownership, and are uniquely bound to you tenant.
118+
> Only emails in verified domains for the tenant are synchronized to Azure AD. Each Azure AD tenant has one or more verified domains, for which you have proven ownership, and are uniquely bound to your tenant.
120119
>
121120
> For more information, see [Add and verify a custom domain name in Azure AD][verify-domain].
122121
123122
## B2B guest user sign-in with an email address
124123

125-
![Diagram of email as an alternate login ID for B2B guest user sign-in.](media/howto-authentication-use-email-signin/email-alternate-login-id-b2b.png)
124+
![Diagram of email as an alternate login I D for B 2 B guest user sign-in.](media/howto-authentication-use-email-signin/email-alternate-login-id-b2b.png)
126125

127-
Email as an alternate login ID applies to [Azure AD business-to-business (B2B) collaboration](../external-identities/what-is-b2b.md) under a "bring your own sign-in identifiers" model. When email as an alternate login ID is enabled in the home tenant, Azure AD users can perform guest sign in with non-UPN email on the resource tenanted endpoint. No action is required from the resource tenant to enable this functionality.
126+
Email as an alternate login ID applies to [Azure AD B2B collaboration](../external-identities/what-is-b2b.md) under a "bring your own sign-in identifiers" model. When email as an alternate login ID is enabled in the home tenant, Azure AD users can perform guest sign in with non-UPN email on the resource tenanted endpoint. No action is required from the resource tenant to enable this functionality.
128127

129128
## Enable user sign-in with an email address
130129

@@ -133,33 +132,57 @@ Email as an alternate login ID applies to [Azure AD business-to-business (B2B) c
133132
134133
Once users with the *ProxyAddresses* attribute applied are synchronized to Azure AD using Azure AD Connect, you need to enable the feature for users to sign in with email as an alternate login ID for your tenant. This feature tells the Azure AD login servers to not only check the sign-in identifier against UPN values, but also against *ProxyAddresses* values for the email address.
135134

136-
During preview, you can currently only enable the sign-in with email as an alternate login ID feature using PowerShell. You need *global administrator* permissions to complete the following steps:
135+
During preview, you currently need *global administrator* permissions to enable sign-in with email as an alternate login ID. You can use either Azure portal or PowerShell to set up the feature.
137136

138-
1. Open a PowerShell session as an administrator, then install the *AzureADPreview* module using the [Install-Module][Install-Module] cmdlet:
137+
### Azure portal
138+
139+
1. Sign in to the [Azure portal][azure-portal] as a *global administrator*.
140+
1. Search for and select **Azure Active Directory**.
141+
1. From the navigation menu on the left-hand side of the Azure Active Directory window, select **Azure AD Connect > Email as alternate login ID**.
142+
143+
![Screenshot of email as alternate login I D option in the Azure portal.](media/howto-authentication-use-email-signin/azure-ad-connect-screen.png)
144+
145+
1. Click the checkbox next to *Email as an alternate login ID*.
146+
1. Click **Save**.
147+
148+
![Screenshot of email as alternate login I D blade in the Azure portal.](media/howto-authentication-use-email-signin/email-alternate-login-id-screen.png)
149+
150+
With the policy applied, it can take up to 1 hour to propagate and for users to be able to sign in using their alternate login ID.
151+
152+
### PowerShell
153+
154+
> [!NOTE]
155+
> This configuration option uses HRD policy. For more information, see [homeRealmDiscoveryPolicy resource type](/graph/api/resources/homeRealmDiscoveryPolicy?view=graph-rest-1.0).
156+
157+
Once users with the *ProxyAddresses* attribute applied are synchronized to Azure AD using Azure AD Connect, you need to enable the feature for users to sign-in with email as an alternate login ID for your tenant. This feature tells the Azure AD login servers to not only check the sign-in identifier against UPN values, but also against *ProxyAddresses* values for the email address.
158+
159+
During preview, you can currently only enable email as an alternate login ID using PowerShell or the Microsoft Graph API. You need *global administrator* privileges to complete the following steps:
160+
161+
1. Open a PowerShell session as an administrator, then install the *Microsoft.Graph* module using the `Install-Module` cmdlet:
139162

140163
```powershell
141-
Install-Module AzureADPreview
164+
Install-Module Microsoft.Graph
142165
```
143166
144-
If prompted, select **Y** to install NuGet or to install from an untrusted repository.
167+
For more information on installation, see [Install the Microsoft Graph PowerShell SDK](/graph/powershell/installation).
145168
146-
1. Sign in to your Azure AD tenant as a *global administrator* using the [Connect-AzureAD][Connect-AzureAD] cmdlet:
169+
1. Sign-in to your Azure AD tenant using the `Connect-MgGraph` cmdlet:
147170
148171
```powershell
149-
Connect-AzureAD
172+
Connect-MgGraph -Scopes "Policy.ReadWrite.ApplicationConfiguration" -TenantId organizations
150173
```
151174
152-
The command returns information about your account, environment, and tenant ID.
175+
The command will ask you to authenticate using a web browser.
153176
154-
1. Check if the *HomeRealmDiscoveryPolicy* already exists in your tenant using the [Get-AzureADPolicy][Get-AzureADPolicy] cmdlet as follows:
177+
1. Check if a *HomeRealmDiscoveryPolicy* already exists in your tenant using the `Get-MgPolicyHomeRealmDiscoveryPolicy` cmdlet as follows:
155178
156179
```powershell
157-
Get-AzureADPolicy | Where-Object Type -eq "HomeRealmDiscoveryPolicy" | Format-List *
180+
Get-MgPolicyHomeRealmDiscoveryPolicy
158181
```
159182
160183
1. If there's no policy currently configured, the command returns nothing. If a policy is returned, skip this step and move on to the next step to update an existing policy.
161184
162-
To add the *HomeRealmDiscoveryPolicy* policy to the tenant, use the [New-AzureADPolicy][New-AzureADPolicy] cmdlet and set the *AlternateIdLogin* attribute to *"Enabled": true* as shown in the following example:
185+
To add the *HomeRealmDiscoveryPolicy* to the tenant, use the `New-MgPolicyHomeRealmDiscoveryPolicy` cmdlet and set the *AlternateIdLogin* attribute to *"Enabled": true* as shown in the following example:
163186
164187
```powershell
165188
$AzureADPolicyDefinition = @(
@@ -171,42 +194,38 @@ During preview, you can currently only enable the sign-in with email as an alter
171194
}
172195
} | ConvertTo-JSON -Compress
173196
)
197+
174198
$AzureADPolicyParameters = @{
175199
Definition = $AzureADPolicyDefinition
176200
DisplayName = "BasicAutoAccelerationPolicy"
177-
IsOrganizationDefault = $true
178-
Type = "HomeRealmDiscoveryPolicy"
201+
AdditionalProperties = @{ IsOrganizationDefault = $true }
179202
}
180-
New-AzureADPolicy @AzureADPolicyParameters
203+
204+
New-MgPolicyHomeRealmDiscoveryPolicy @AzureADPolicyParameters
181205
```
182206
183207
When the policy has been successfully created, the command returns the policy ID, as shown in the following example output:
184208
185209
```powershell
186-
Id                                   DisplayName                 Type                     IsOrganizationDefault
187-
--                                   -----------                 ----                     ---------------------
188-
5de3afbe-4b7a-4b33-86b0-7bbe308db7f7 BasicAutoAccelerationPolicy HomeRealmDiscoveryPolicy True
210+
Definition DeletedDateTime Description DisplayName Id IsOrganizationDefault
211+
---------- --------------- ----------- ----------- -- ---------------------
212+
{{"HomeRealmDiscoveryPolicy":{"AlternateIdLogin":{"Enabled":true}}}} BasicAutoAccelerationPolicy HRD_POLICY_ID True
189213
```
190214
191215
1. If there's already a configured policy, check if the *AlternateIdLogin* attribute is enabled, as shown in the following example policy output:
192216
193217
```powershell
194-
Id : 5de3afbe-4b7a-4b33-86b0-7bbe308db7f7
195-
OdataType :
196-
AlternativeIdentifier :
197-
Definition : {{"HomeRealmDiscoveryPolicy" :{"AlternateIdLogin":{"Enabled": true}}}}
198-
DisplayName : BasicAutoAccelerationPolicy
199-
IsOrganizationDefault : True
200-
KeyCredentials : {}
201-
Type : HomeRealmDiscoveryPolicy
218+
Definition DeletedDateTime Description DisplayName Id IsOrganizationDefault
219+
---------- --------------- ----------- ----------- -- ---------------------
220+
{{"HomeRealmDiscoveryPolicy":{"AlternateIdLogin":{"Enabled":true}}}} BasicAutoAccelerationPolicy HRD_POLICY_ID True
202221
```
203222
204-
If the policy exists but the *AlternateIdLogin* attribute that isn't present or enabled, or if other attributes exist on the policy you wish to preserve, update the existing policy using the [Set-AzureADPolicy][Set-AzureADPolicy] cmdlet.
223+
If the policy exists but the *AlternateIdLogin* attribute that isn't present or enabled, or if other attributes exist on the policy you wish to preserve, update the existing policy using the `Update-MgPolicyHomeRealmDiscoveryPolicy` cmdlet.
205224
206225
> [!IMPORTANT]
207226
> When you update the policy, make sure you include any old settings and the new *AlternateIdLogin* attribute.
208227
209-
The following example adds the *AlternateIdLogin* attribute and preserves the *AllowCloudPasswordValidation* attribute that may have already been set:
228+
The following example adds the *AlternateIdLogin* attribute and preserves the *AllowCloudPasswordValidation* attribute that was previously set:
210229
211230
```powershell
212231
$AzureADPolicyDefinition = @(
@@ -219,24 +238,33 @@ During preview, you can currently only enable the sign-in with email as an alter
219238
}
220239
} | ConvertTo-JSON -Compress
221240
)
241+
222242
$AzureADPolicyParameters = @{
223-
ID = "b581c39c-8fe3-4bb5-b53d-ea3de05abb4b"
224-
Definition = $AzureADPolicyDefinition
225-
DisplayName = "BasicAutoAccelerationPolicy"
226-
IsOrganizationDefault = $true
227-
Type = "HomeRealmDiscoveryPolicy"
243+
HomeRealmDiscoveryPolicyId = "HRD_POLICY_ID"
244+
Definition = $AzureADPolicyDefinition
245+
DisplayName = "BasicAutoAccelerationPolicy"
246+
AdditionalProperties = @{ "IsOrganizationDefault" = $true }
228247
}
229-
230-
Set-AzureADPolicy @AzureADPolicyParameters
248+
249+
Update-MgPolicyHomeRealmDiscoveryPolicy @AzureADPolicyParameters
231250
```
232251
233252
Confirm that the updated policy shows your changes and that the *AlternateIdLogin* attribute is now enabled:
234253
235254
```powershell
236-
Get-AzureADPolicy | Where-Object Type -eq "HomeRealmDiscoveryPolicy" | Format-List *
255+
Get-MgPolicyHomeRealmDiscoveryPolicy
237256
```
238257
239-
With the policy applied, it can take up to 1 hour to propagate and for users to be able to sign in using their alternate login ID.
258+
> [!NOTE]
259+
> With the policy applied, it can take up to an hour to propagate and for users to be able to sign-in using email as an alternate login ID.
260+
261+
### Removing policies
262+
263+
To remove an HRD policy, use the `Remove-MgPolicyHomeRealmDiscoveryPolicy` cmdlet:
264+
265+
```powershell
266+
Remove-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId "HRD_POLICY_ID"
267+
```
240268

241269
## Enable staged rollout to test user sign-in with an email address
242270

@@ -333,6 +361,12 @@ If users have trouble signing in with their email address, review the following
333361
```
334362
1. Make sure the user account has their email address set in the *ProxyAddresses* attribute in Azure AD.
335363
364+
### Sign-in logs
365+
366+
:::image type="content" border="true" source="./media/howto-authentication-use-email-signin/email-alternate-login-id-logs.png" alt-text="Screenshot of Azure A D sign-in logs showing email as alternate login I D activity.":::
367+
368+
You can review the [sign-in logs in Azure AD][sign-in-logs] for more information. Sign-ins with email as an alternate login ID will emit `proxyAddress` in the *Sign-in identifier type* field and the inputted username in the *Sign-in identifier* field.
369+
336370
### Conflicting values between cloud-only and synced users
337371
338372
Within a tenant, a cloud-only user's UPN may take on the same value as another user's proxy address synced from the on-premises directory. In this scenario, with the feature enabled, the cloud-only user will not be able to sign in with their UPN. Here are the steps for detecting instances of this issue.
@@ -414,8 +448,10 @@ For more information on hybrid identity operations, see [how password hash sync]
414448
[phs-overview]: ../hybrid/how-to-connect-password-hash-synchronization.md
415449
[pta-overview]: ../hybrid/how-to-connect-pta-how-it-works.md
416450
[identity-protection]: ../identity-protection/overview-identity-protection.md#risk-detection-and-remediation
451+
[sign-in-logs]: ../reports-monitoring/concept-sign-ins.md
417452
418453
<!-- EXTERNAL LINKS -->
454+
[azure-portal]: https://portal.azure.com
419455
[Install-Module]: /powershell/module/powershellget/install-module
420456
[Connect-AzureAD]: /powershell/module/azuread/connect-azuread
421457
[Get-AzureADPolicy]: /powershell/module/azuread/get-azureadpolicy
332 KB
Loading
Loading
Loading

0 commit comments

Comments
 (0)