使用電子郵件作為替代登入識別碼登入 Microsoft Entra ID (預覽)

注意

以電子郵件作為替代登入標識符登入 Microsoft Entra ID 是 Microsoft Entra ID 的公開預覽功能。 如需預覽的詳細資訊,請參閱 Microsoft Azure 預覽版的補充使用規定。

許多組織想要讓使用者使用與其內部部署目錄環境相同的認證登入 Microsoft Entra ID。 透過這種方法,稱為混合式驗證,使用者只需要記住一組認證。

某些組織因下列原因而未移至混合式驗證:

  • 根據預設,Microsoft Entra 用戶主體名稱 (UPN) 會設定為與內部部署 UPN 相同的值。
  • 變更 Microsoft Entra UPN 會建立內部部署與 Microsoft Entra 環境之間的不符,這可能會造成特定應用程式和服務的問題。
  • 由於商務或合規性原因,組織不想使用內部部署 UPN 來登入 Microsoft Entra ID。

若要移至混合式驗證,您可以設定 Microsoft Entra ID,讓使用者使用電子郵件登入做為替代登入識別符。 例如,如果 Contoso 重新命名為 Fabrikam,而不是繼續使用舊版 ana@contoso.com UPN 登入,則可以使用電子郵件作為替代登入標識符。 若要存取應用程式或服務,使用者會使用非 UPN 電子郵件登入 Microsoft Entra 識別碼,例如 ana@fabrikam.com

Diagram of email as an alternate login ID.

本文說明如何啟用和使用電子郵件做為替代登入標識碼。

開始之前

以下是您需要知道電子郵件作為替代登入標識符的事項:

  • 此功能可在 Microsoft Entra ID Free Edition 和更新版本中取得。
  • 此功能可針對雲端驗證的 Microsoft Entra 使用者啟用與 ProxyAddresses 的登入,以及 UPN。 如需詳細資訊,請參閱 B2B 一節中的 Microsoft Entra 企業對企業 (B2B ) 共同作業。
  • 當使用者使用非 UPN 電子郵件登入時,unique_nameID 令牌中的 preferred_username 宣告會傳回非 UPN 電子郵件。
    • 如果使用中的非 UPN 電子郵件變成過時(不再屬於使用者),則這些宣告會改為傳回 UPN。
  • 此功能支援使用密碼哈希同步處理 (PHS) 或傳遞驗證 (PTA) 進行受控驗證。
  • 設定功能有兩個選項:
    • 主領域探索 (HRD) 原則 - 使用此選項來啟用整個租使用者的功能。 需要全域 管理員 istrator、Application 管理員 istrator 或 Cloud Application 管理員 istrator 角色。
    • 分段推出原則 - 使用此選項來測試具有特定 Microsoft Entra 群組的功能。 需要全域 管理員 istrator 許可權。 當您第一次新增安全組以進行分段推出時,您限制為200位使用者,以避免UX逾時。新增群組之後,您可以視需要直接將更多使用者新增至該群組。

預覽限制

在目前的預覽狀態中,下列限制會套用至電子郵件作為替代登入標識碼:

  • 用戶體驗 - 使用者可能會看到他們的UPN,即使他們使用非UPN電子郵件登入也一樣。 可能會看到下列范例行為:

    • 當系統指示使用者使用 登入 Microsoft Entra 時,系統會提示使用者使用 UPN 登入 login_hint=<non-UPN email>
    • 當使用者使用非 UPN 電子郵件登入並輸入不正確的密碼時, [輸入您的密碼] 頁面會變更以顯示 UPN。
    • 在某些 Microsoft 網站和應用程式中,例如 Microsoft Office, 通常顯示在右上方的帳戶管理員 控制項可能會顯示使用者的 UPN,而不是用來登入的非 UPN 電子郵件。
  • 不支援的流程 - 某些流程 目前與非 UPN 電子郵件不相容,例如:

    • Identity Protection 不符合非 UPN 電子郵件與 認證外 泄的風險偵測。 此風險偵測會使用UPN來比對已外洩的認證。 如需詳細資訊,請參閱 如何:調查風險
    • 當使用者使用非 UPN 電子郵件登入時,他們無法變更其密碼。 Microsoft Entra 自助式密碼重設 (SSPR) 應該如預期般運作。 在 SSPR 期間,如果使用者使用非 UPN 電子郵件驗證其身分識別,可能會看到其 UPN。
  • 不支援的案例 - 不支援下列案例。 使用非 UPN 電子郵件登入:

  • 不支援的應用程式 - 如果某些第三方應用程式假設 unique_namepreferred_username 宣告不可變,或一律符合特定的使用者屬性,例如 UPN,可能無法如預期般運作。

  • 記錄 - 未在稽核記錄中明確顯示對 HRD 原則中功能設定所做的變更。

  • 分段推出原則 - 只有在使用分段推出原則啟用此功能時,才會套用下列限制:

    • 此功能不適用於其他分段推出原則中包含的使用者。
    • 分段推出原則支援每個功能最多10個群組。
    • 分段推出原則不支援巢狀群組。
    • 分段推出原則不支援動態群組。
    • 群組內的聯繫人對象會封鎖群組新增至分段推出原則。
  • 重複的值 - 在租使用者中,僅限雲端使用者的 UPN 值可以和從內部部署目錄同步處理其他使用者的 Proxy 位址相同。 在此案例中,啟用此功能時,僅限雲端的使用者將無法使用其 UPN 登入。 如需此問題的詳細資訊,請參閱 疑難解答 一節。

替代登入標識符選項的概觀

若要登入 Microsoft Entra 識別符,使用者輸入可唯一識別其帳戶的值。 在過去,您只能使用 Microsoft Entra UPN 作為登入標識符。

對於內部部署 UPN 是使用者慣用的登入電子郵件的組織,此方法非常出色。 這些組織會將 Microsoft Entra UPN 設定為與內部部署 UPN 完全相同的值,而且使用者會有一致的登入體驗。

AD FS 的替代登入標識碼

不過,在某些組織中,內部部署UPN不會當做登入標識碼使用。 在內部部署環境中,您會將本機 AD DS 設定為允許使用替代登入標識元登入。 將 Microsoft Entra UPN 設定為與內部部署 UPN 相同的值不是選項,因為 Microsoft Entra ID 會要求使用者使用該值登入。

Microsoft Entra 連線 中的替代登入標識碼

此問題的一般因應措施是將 Microsoft Entra UPN 設定為用戶預期登入的電子郵件位址。 此方法的運作方式雖然會產生內部部署 AD 與 Microsoft Entra 標識符之間的不同 UPN,但此設定與所有 Microsoft 365 工作負載不相容。

以替代登入標識碼的形式傳送電子郵件

不同的方法是將 Microsoft Entra 識別碼和內部部署 UPN 同步處理為相同的值,然後設定 Microsoft Entra ID,讓使用者使用已驗證的電子郵件登入 Microsoft Entra ID。 若要提供此功能,您可以在內部部署目錄中的使用者 ProxyAddresses 屬性中定義一或多個電子郵件位址。 ProxyAddresses 接著會使用 Microsoft Entra 連線 自動同步處理至 Microsoft Entra 識別符。

選項 描述
AD FS 的替代登入標識碼 為AD FS使用者啟用替代屬性 (例如 Mail) 的登入。
Microsoft Entra 連線 中的替代登入標識碼 將替代屬性 (例如 Mail) 同步處理為 Microsoft Entra UPN。
以替代登入標識碼的形式傳送電子郵件 為 Microsoft Entra 使用者啟用已驗證網域 ProxyAddresses 的登入。

將登入電子郵件位址同步處理至 Microsoft Entra ID

傳統 Active Directory 網域服務 (AD DS) 或 Active Directory 同盟服務 (AD FS) 驗證會直接在您的網路上發生,並由 AD DS 基礎結構處理。 使用混合式驗證,使用者可以改為直接登入 Microsoft Entra ID。

若要支援此混合式驗證方法,您可以使用 Microsoft Entra 連線 將內部部署 AD DS 環境同步處理至 Microsoft Entra 識別符,並將其設定為使用 PHS 或 PTA。 如需詳細資訊,請參閱 為您的 Microsoft Entra 混合式身分識別解決方案選擇正確的驗證方法。

在這兩個組態選項中,用戶都會將其使用者名稱和密碼提交至 Microsoft Entra ID,以驗證認證併發出票證。 當使用者登入 Microsoft Entra ID 時,它會移除組織裝載和管理 AD FS 基礎結構的需求。

Microsoft Entra 連線 自動同步處理的用戶屬性之一是 ProxyAddresses。 如果使用者在內部部署 AD DS 環境中定義電子郵件位址做為 ProxyAddresses 屬性的一部分,它會自動同步處理至 Microsoft Entra ID。 然後,此電子郵件位址可以直接在 Microsoft Entra 登入程式中作為替代登入標識碼使用。

重要

只有已驗證網域中租用戶的電子郵件會同步處理至 Microsoft Entra ID。 每個 Microsoft Entra 租使用者都有一或多個已驗證的網域,您已證明擁有權,且會唯一系結至您的租使用者。

如需詳細資訊,請參閱 在 Microsoft Entra ID 中新增和驗證自定義功能變數名稱。

B2B 來賓用戶以電子郵件位址登入

Diagram of email as an alternate login ID for B 2 B guest user sign-in.

作為替代登入標識碼的電子郵件會套用至 「攜帶您自己的登入標識碼」模型下的 Microsoft Entra B2B 共同 作業。 當電子郵件作為替代登入標識符在主租用戶中啟用時,Microsoft Entra 使用者可以在資源租用戶端點上以非 UPN 電子郵件執行來賓登入。 資源租使用者不需要採取任何動作,即可啟用此功能。

注意

在未啟用功能的資源租用戶端點上使用替代登入標識符時,登入程式將會順暢地運作,但 SSO 將會中斷。

使用電子郵件地址啟用使用者登入

注意

此組態選項使用 HRD 原則。 如需詳細資訊,請參閱 homeRealmDiscoveryPolicy資源類型

套用 ProxyAddresses 屬性的使用者使用 Microsoft Entra 連線 同步處理至 Microsoft Entra 標識符之後,您必須讓使用者使用電子郵件登入功能,作為租使用者的替代登入標識符。 這項功能會告訴 Microsoft Entra 登入伺服器,不僅會檢查登入標識元是否有 UPN 值,也會檢查 電子郵件地址的 ProxyAddresses 值。

在預覽期間,您目前需要全域 管理員 istrator 許可權,才能使用電子郵件作為替代登入標識符來登入。 您可以使用 Microsoft Entra 系統管理中心或 Graph PowerShell 來設定此功能。

Microsoft Entra 系統管理中心

提示

本文中的步驟可能會根據您從開始的入口網站稍有不同。

  1. 以全域 管理員 istrator 身分登入 Microsoft Entra 系統管理中心

  2. 從 Microsoft Entra 視窗左側的導覽功能表中,選取 [Microsoft Entra 連線 > 電子郵件] 做為替代登入標識符

    Screenshot of email as alternate login ID option in the Microsoft Entra admin center.

  3. 按兩下 [電子郵件] 旁 的複選框作為替代登入標識碼

  4. 按一下 [檔案] 。

    Screenshot of email as alternate login ID blade in the Microsoft Entra admin center.

套用原則后,最多可能需要一個小時才能傳播,而且使用者可以使用其替代登入標識符登入。

PowerShell

注意

此組態選項使用 HRD 原則。 如需詳細資訊,請參閱 homeRealmDiscoveryPolicy資源類型

套用 ProxyAddresses 屬性的使用者使用 Microsoft Entra 連線 同步處理至 Microsoft Entra ID 之後,您必須讓使用者使用電子郵件登入功能,作為租使用者的替代登入標識符。 這項功能會告訴 Microsoft Entra 登入伺服器,不僅會檢查登入標識元是否有 UPN 值,也會檢查 電子郵件地址的 ProxyAddresses 值。

您需要全域 管理員 istrator 許可權,才能完成下列步驟:

  1. 以系統管理員身分開啟 PowerShell 工作階段,然後使用 Cmdlet 安裝 Microsoft.Graph 模組 Install-Module

    Install-Module Microsoft.Graph
    

    如需安裝的詳細資訊,請參閱 安裝 Microsoft Graph PowerShell SDK

  2. 使用 Cmdlet 登入您的 Microsoft Entra 租使用者 Connect-MgGraph

    Connect-MgGraph -Scopes "Policy.ReadWrite.ApplicationConfiguration" -TenantId organizations
    

    命令會要求您使用網頁瀏覽器進行驗證。

  3. 使用 Cmdlet 檢查您的租Get-MgPolicyHomeRealmDiscoveryPolicy使用者中是否已存在 HomeRealmDiscoveryPolicy,如下所示:

    Get-MgPolicyHomeRealmDiscoveryPolicy
    
  4. 如果目前未設定任何原則,則命令不會傳回任何內容。 如果傳回原則,請略過此步驟,然後移至下一個步驟以更新現有的原則。

    若要將 HomeRealmDiscoveryPolicy 新增至租使用者,請使用 New-MgPolicyHomeRealmDiscoveryPolicy Cmdlet 並將 AlternateIdLogin 屬性設定“Enabled”:true,如下列範例所示:

    $AzureADPolicyDefinition = @(
      @{
         "HomeRealmDiscoveryPolicy" = @{
            "AlternateIdLogin" = @{
               "Enabled" = $true
            }
         }
      } | ConvertTo-JSON -Compress
    )
    
    $AzureADPolicyParameters = @{
      Definition            = $AzureADPolicyDefinition
      DisplayName           = "BasicAutoAccelerationPolicy"
      AdditionalProperties  = @{ IsOrganizationDefault = $true }
    }
    
    New-MgPolicyHomeRealmDiscoveryPolicy @AzureADPolicyParameters
    

    成功建立原則時,命令會傳回原則標識符,如下列範例輸出所示:

    Definition                                                           DeletedDateTime Description DisplayName                 Id            IsOrganizationDefault
    ----------                                                           --------------- ----------- -----------                 --            ---------------------
    {{"HomeRealmDiscoveryPolicy":{"AlternateIdLogin":{"Enabled":true}}}}                             BasicAutoAccelerationPolicy HRD_POLICY_ID True
    
  5. 如果已經有已設定的原則,請檢查 AlternateIdLogin 屬性是否已啟用,如下列原則輸出範例所示:

    Definition                                                           DeletedDateTime Description DisplayName                 Id            IsOrganizationDefault
    ----------                                                           --------------- ----------- -----------                 --            ---------------------
    {{"HomeRealmDiscoveryPolicy":{"AlternateIdLogin":{"Enabled":true}}}}                             BasicAutoAccelerationPolicy HRD_POLICY_ID True
    

    如果原則存在但 不存在或啟用的 AlternateIdLogin 屬性,或您想要保留的原則上有其他屬性,請使用 Update-MgPolicyHomeRealmDiscoveryPolicy Cmdlet 更新現有的原則。

    重要

    當您更新原則時,請確定您包含任何舊的設定和新的 AlternateIdLogin 屬性。

    下列範例會 新增 AlternateIdLogin 屬性,並保留先前設定的 AllowCloudPasswordValidation 屬性:

    $AzureADPolicyDefinition = @(
      @{
         "HomeRealmDiscoveryPolicy" = @{
            "AllowCloudPasswordValidation" = $true
            "AlternateIdLogin" = @{
               "Enabled" = $true
            }
         }
      } | ConvertTo-JSON -Compress
    )
    
    $AzureADPolicyParameters = @{
      HomeRealmDiscoveryPolicyId = "HRD_POLICY_ID"
      Definition                 = $AzureADPolicyDefinition
      DisplayName                = "BasicAutoAccelerationPolicy"
      AdditionalProperties       = @{ "IsOrganizationDefault" = $true }
    }
    
    Update-MgPolicyHomeRealmDiscoveryPolicy @AzureADPolicyParameters
    

    確認更新的原則會顯示您的變更,而且 現在已啟用 AlternateIdLogin 屬性:

    Get-MgPolicyHomeRealmDiscoveryPolicy
    

注意

套用原則后,最多可能需要一個小時才能傳播,使用者才能使用電子郵件作為替代登入標識符進行登入。

拿掉原則

若要移除 HRD 原則,請使用 Remove-MgPolicyHomeRealmDiscoveryPolicy Cmdlet:

Remove-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId "HRD_POLICY_ID"

啟用分段推出,以測試用戶以電子郵件位址登入

注意

此組態選項會使用分段推出原則。 如需詳細資訊,請參閱 featureRolloutPolicy 資源類型

分段推出原則可讓租用戶系統管理員啟用特定 Microsoft Entra 群組的功能。 建議租用戶系統管理員使用分段推出來測試用戶以電子郵件位址登入。 當系統管理員準備好將這項功能部署到其整個租使用者時,他們應該使用 HRD 原則

您需要全域 管理員 istrator 許可權,才能完成下列步驟:

  1. 以系統管理員身分開啟 PowerShell 會話,然後使用 Install-Module Cmdlet 安裝 Microsoft.Graph.Beta 模組

    Install-Module Microsoft.Graph.Beta
    

    如果出現提示,請選取 [Y ] 以安裝 NuGet,或從不受信任的存放庫安裝。

  2. 使用 連線-MgGraph Cmdlet 登入您的 Microsoft Entra 租使用者:

    Connect-MgGraph -Scopes "Directory.ReadWrite.All"
    

    命令會傳回您的帳戶、環境和租使用者標識碼的相關信息。

  3. 使用下列 Cmdlet 列出所有現有的分段推出原則:

    Get-MgBetaPolicyFeatureRolloutPolicy
    
  4. 如果這項功能沒有現有的分段推出原則,請建立新的分段推出原則,並記下原則標識碼:

    $MgPolicyFeatureRolloutPolicy = @{
    Feature    = "EmailAsAlternateId"
    DisplayName = "EmailAsAlternateId Rollout Policy"
    IsEnabled   = $true
    }
    New-MgBetaPolicyFeatureRolloutPolicy @MgPolicyFeatureRolloutPolicy
    
  5. 尋找要新增至分段推出原則之群組的 directoryObject 識別符。 請注意Id參數傳回的值,因為它將在下一個步驟中使用。

    Get-MgGroup -Filter "DisplayName eq 'Name of group to be added to the staged rollout policy'"
    
  6. 將群組新增至分段推出原則,如下列範例所示。 將 -FeatureRolloutPolicyId 參數中的值取代為步驟 4 中原則標識符傳回的值,並以步驟 5 中指出的標識碼取代 -OdataId 參數中的值。 最多可能需要 1 小時,群組中的使用者才能使用電子郵件登入 Microsoft Entra ID 做為替代登入標識符。

    New-MgBetaDirectoryFeatureRolloutPolicyApplyToByRef `
       -FeatureRolloutPolicyId "ROLLOUT_POLICY_ID" `
       -OdataId "https://graph.microsoft.com/v1.0/directoryObjects/{GROUP_OBJECT_ID}"
    

對於新增至群組的新成員,最多可能需要 24 小時的時間,才能使用電子郵件作為替代登入標識符來登入 Microsoft Entra ID。

拿掉群組

若要從分段推出原則中移除群組,請執行下列命令:

Remove-MgBetaPolicyFeatureRolloutPolicyApplyToByRef -FeatureRolloutPolicyId "ROLLOUT_POLICY_ID" -DirectoryObjectId "GROUP_OBJECT_ID"

拿掉原則

若要移除分段推出原則,請先停用原則,然後從系統移除它:

Update-MgBetaPolicyFeatureRolloutPolicy -FeatureRolloutPolicyId "ROLLOUT_POLICY_ID" -IsEnabled:$false 
Remove-MgBetaPolicyFeatureRolloutPolicy -FeatureRolloutPolicyId "ROLLOUT_POLICY_ID"

使用電子郵件地址測試使用者登入

若要測試使用者可以使用電子郵件登入,請移至 https://myprofile.microsoft.com 並使用非 UPN 電子郵件登入,例如 balas@fabrikam.com。 登入體驗看起來應該與使用UPN登入相同。

疑難排解

如果使用者使用電子郵件位址登入時發生問題,請檢閱下列疑難解答步驟:

  1. 請確定已至少 1 小時,因為已啟用電子郵件作為替代登入標識碼。 如果使用者最近已新增至群組以進行分段推出原則,請確定已新增至群組至少 24 小時。

  2. 如果使用 HRD 原則,請確認 Microsoft Entra ID HomeRealmDiscoveryPolicy 的 AlternateIdLogin 定義屬性設定為 “Enabled”:true,並將 IsOrganizationDefault 屬性設定為 True

    Get-MgBetaPolicyHomeRealmDiscoveryPolicy | Format-List *
    

    如果使用分段推出原則,請確認 Microsoft Entra ID FeatureRolloutPolicy將 IsEnabled 屬性設定為 True

    Get-MgBetaPolicyFeatureRolloutPolicy
    
  3. 請確定使用者帳戶已在 Microsoft Entra ID 的 ProxyAddresses 屬性中設定其電子郵件位址。

登入記錄

Screenshot of Microsoft Entra sign-in logs showing email as alternate login ID activity.

如需詳細資訊, 您可以檢閱 Microsoft Entra ID 中的登入記錄。 以電子郵件作為替代登入標識碼的登入,將會在 [登入標識符類型] 欄位中發出登入,並在 [登入標識符] 字段中發出proxyAddress輸入的用戶名稱

僅限雲端和同步用戶之間的值衝突

在租使用者中,僅限雲端使用者的UPN可能會採用與從內部部署目錄同步處理之其他使用者 Proxy 位址相同的值。 在此案例中,啟用此功能時,僅限雲端的使用者將無法使用其 UPN 登入。 以下是偵測此問題實例的步驟。

  1. 以系統管理員身分開啟 PowerShell 工作階段,然後使用 Install-Module Cmdlet 安裝 AzureADPreview 模組

    Install-Module Microsoft.Graph.Beta
    

    如果出現提示,請選取 [Y ] 以安裝 NuGet,或從不受信任的存放庫安裝。

  2. 使用 連線-AzureAD Cmdlet,以全域 管理員 istrator 身分登入您的 Microsoft Entra 租使用者

    Connect-MgGraph -Scopes "User.Read.All"
    
  3. 取得受影響的使用者。

    # Get all users
    $allUsers = Get-MgUser -All
    
    # Get list of proxy addresses from all synced users
    $syncedProxyAddresses = $allUsers |
        Where-Object {$_.ImmutableId} |
        Select-Object -ExpandProperty ProxyAddresses |
        ForEach-Object {$_ -Replace "smtp:", ""}
    
    # Get list of user principal names from all cloud-only users
    $cloudOnlyUserPrincipalNames = $allUsers |
        Where-Object {!$_.ImmutableId} |
        Select-Object -ExpandProperty UserPrincipalName
    
    # Get intersection of two lists
    $duplicateValues = $syncedProxyAddresses |
        Where-Object {$cloudOnlyUserPrincipalNames -Contains $_}
    
  4. 若要輸出受影響的使用者:

    # Output affected synced users
    $allUsers |
        Where-Object {$_.ImmutableId -And ($_.ProxyAddresses | Where-Object {($duplicateValues | ForEach-Object {"smtp:$_"}) -Contains $_}).Length -GT 0} |
        Select-Object ObjectId, DisplayName, UserPrincipalName, ProxyAddresses, ImmutableId, UserType
    
    # Output affected cloud-only users
    $allUsers |
        Where-Object {!$_.ImmutableId -And $duplicateValues -Contains $_.UserPrincipalName} |
        Select-Object ObjectId, DisplayName, UserPrincipalName, ProxyAddresses, ImmutableId, UserType
    
  5. 若要將受影響的使用者輸出至 CSV:

    # Output affected users to CSV
    $allUsers |
        Where-Object {
            ($_.ImmutableId -And ($_.ProxyAddresses | Where-Object {($duplicateValues | ForEach-Object {"smtp:$_"}) -Contains $_}).Length -GT 0) -Or
            (!$_.ImmutableId -And $duplicateValues -Contains $_.UserPrincipalName)
        } |
        Select-Object ObjectId, DisplayName, UserPrincipalName, @{n="ProxyAddresses"; e={$_.ProxyAddresses -Join ','}}, @{n="IsSyncedUser"; e={$_.ImmutableId.Length -GT 0}}, UserType |
        Export-Csv -Path .\AffectedUsers.csv -NoTypeInformation
    

下一步

若要深入瞭解混合式身分識別,例如 Microsoft Entra 應用程式 Proxy 或 Microsoft Entra Domain Services,請參閱 Microsoft Entra 混合式身分識別,以存取和管理內部部署工作負載

如需混合式身分識別作業的詳細資訊,請參閱 密碼哈希同步傳遞驗證 同步處理的運作方式。