适用于外部 ID 的身份验证和条件访问

提示

本文适用于 B2B 协作。

当外部用户访问组织中的资源时,协作方法(B2B 协作)、用户的标识提供者(外部 Microsoft Entra 租户、社交标识提供者等)、条件访问策略和在用户主租户及托管资源的租户中配置的跨租户访问设置共同确定身份验证流。

本文介绍适用于访问组织中资源的外部用户的身份验证流。 组织可以针对其外部用户强制实施多个条件访问策略,此类策略可在租户、应用或单个用户级别强制实施,其方式与为全职员工和组织成员启用策略的方式相同。

外部 Microsoft Entra 用户的身份验证流

下图展示了 Microsoft Entra 组织与其他 Microsoft Entra 组织的用户共享资源时的身份验证流。 此图显示了跨租户访问设置如何与条件访问策略(如多重身份验证)协同工作,确定用户能否访问资源。 此流适用于 B2B 协作,步骤 6 中所述的情况除外。

显示跨租户身份验证过程的图表。

步骤 说明
1 来自 Fabrikam(用户的主租户)的一位用户开始登录到 Contoso(资源租户)中的资源。
2 登录期间,Microsoft Entra 安全令牌服务 (STS) 会评估 Contoso 的条件访问策略。 它还可通过评估跨租户访问设置(Fabrikam 的出站设置和 Contoso 的入站设置)来检查是否允许 Fabrikam 用户进行访问。
3 Microsoft Entra ID 检查 Contoso 的入站信任设置,以查看 Contoso 是否信任来自 Fabrikam 的 MFA 和设备声明(设备合规性、已建立混合 Microsoft Entra ID 联接的状态)。 如果不信任,则跳到步骤 6。
4 如果 Contoso 信任 Fabrikam 的 MFA 和设备声明,Microsoft Entra ID 会检查用户的身份验证会话,以指示用户已完成 MFA。 如果 Contoso 信任 Fabrikam 的设备信息,Microsoft Entra ID 在身份验证会话中查找声明,指示设备状态(合规或已建立混合 Microsoft Entra ID 联接)。
5 如果需要但未完成 MFA,或未提供设备声明,则 Microsoft Entra ID 会根据需要在用户的主租户中发出 MFA 和设备质询。 在 Fabrikam 中满足 MFA 和设备要求时,用户可以访问 Contoso 中的资源。 如果检查未通过,则阻止访问。
6 未配置信任设置且需要 MFA 时,系统会提示 B2B 协作用户进行 MFA。 他们在资源租户中需要满足 MFA。 如果必须满足设备合规性,但无法对其进行评估,则会阻止 B2B 协作用户的访问。

有关详细信息,请参阅外部用户的条件访问部分。

适用于非 Azure AD 外部用户的身份验证流

当 Microsoft Entra 组织与除 Microsoft Entra ID 之外的标识提供者的外部用户共享资源时,身份验证流取决于该用户是否使用标识提供者进行身份验证。 在任何一种情况下,资源租户都会确定要使用的身份验证方法,然后将用户重定向到其标识提供者或提供一次性密码。

示例 1:适用于非 Azure AD 外部用户的身份验证流和令牌

下图演示了当外部用户使用非 Azure AD 标识提供者(例如联合 SAML/WS-Fed 标识提供者)的帐户登录时的身份验证流。

显示来自外部目录的 B2B 来宾用户的身份验证流的示意图。

步骤 说明
1 B2B 来宾用户请求对资源的访问。 资源将用户重定向到其资源租户,即受信任的 IdP。
2 资源租户将用户标识为外部用户,并将用户重定向到 B2B 来宾用户的 IdP。 用户在 IdP 中执行主要身份验证。
3 在 B2B 来宾用户的 IdP 中评估授权策略。 如果用户满足这些策略,则 B2B 来宾用户的 IdP 会向用户颁发令牌。 用户被重定向回具有令牌的资源租户。 资源租户会验证令牌,然后根据其条件访问策略评估用户。 例如,资源租户可能要求用户执行 Microsoft Entra 多重身份验证。
4 评估入站跨租户访问设置和条件访问策略。 满足所有策略后,资源租户会颁发专属令牌,并将用户重定向到其资源。

适用于外部用户的条件访问

组织可以针对外部 B2B 协作用户强制实施条件访问策略,其方式与为组织的全职员工和成员启用策略的方式相同。 通过引入跨租户访问设置,还可以信任来自外部 Microsoft Entra 组织的 MFA 和设备声明。 本节介绍将条件访问应用于组织外部用户时的重要注意事项。

注意

跨租户信任不支持包含条件性访问的自定义控件。

将条件访问策略分配给外部用户类型

配置条件访问策略时,可以精细控制要应用策略的外部用户的类型。 外部用户根据身份验证方式(内部或外部)以及他们与组织的关系(来宾或成员)进行分类。

  • B2B 协作来宾用户 - 通常被视为来宾的多数用户都属于此类别。 此 B2B 协作用户具有外部 Microsoft Entra 组织或外部标识提供者(例如社交标识)中的帐户,并且他们在组织中具有来宾级权限。 在 Microsoft Entra 目录中创建的用户对象的 UserType 为 Guest。 此类别包括受邀的 B2B 协作用户。
  • B2B 协作成员用户 - 此 B2B 协作用户具有外部 Microsoft Entra 组织或外部标识提供者(例如社交标识)中的帐户,并且他们在资源组织中具有来宾级权限。 这种情况在由多个租户组成的组织中很常见,其中用户被视为较大组织的一部分,并且需要成员级访问权限来访问组织的其他租户中的资源。 在 Microsoft Entra 目录资源中创建的用户对象的 UserType 为 Member。
  • 本地来宾用户 - 本地来宾用户具有在目录中管理的凭据。 在 Microsoft Entra B2B 协作可用之前,通常通过为分销商、供应商、供应商和其他人员设置内部凭据,将用户对象 UserType 设置为 Guest 来将其指定为来宾。
  • 服务提供商用户 - 作为组织的云服务提供商的组织(Microsoft Graph 合作伙伴特定配置中的 isServiceProvider 属性为 True)。
  • 其他外部用户 - 适用于不属于这些类别但未被视为组织内部成员的任何用户,这意味着这些用户不通过 Microsoft Entra ID 进行内部身份验证,并且在资源 Microsoft Entra 目录中创建的用户对象的 UserType 不是 Member。

注意

“所有来宾和外部用户”选项现已替换为“来宾和外部用户”及其所有子类型。 对于以前选择了“所有来宾和外部用户”且具有条件访问策略的客户,现在将看到“来宾和外部用户”以及选择的所有子类型。 UX 中的此更改对条件访问后端评估策略的方式没有任何功能影响。 新的选择为客户提供了所需的粒度,以在创建条件访问策略时选择特定类型的来宾和外部用户,以包括/排除用户范围。

详细了解条件访问用户分配

Microsoft Entra 外部用户的 MFA

在 Microsoft Entra 跨租户场景中,资源组织可以创建要求所有来宾和外部用户复合 MFA 或设备合规性要求的条件访问策略。 通常情况下,访问资源的 B2B 协作用户需要借助资源租户设置其 Microsoft Entra 多重身份验证。 但是,Microsoft Entra ID 现在提供信任来自其他 Microsoft Entra 租户的 MFA 声明的功能。 通过另一租户启用 MFA 信任可简化 B2B 协作用户的登录过程。

如果已将入站信任设置配置为接受来自 B2B 协作用户主租户的 MFA 声明,Microsoft Entra ID 会检查用户的身份验证会话。 如果会话包含一个声明,指示在用户的主租户中已满足策略,则向外部用户授予对共享资源的无缝登录权限。

详细了解如何为 MFA 配置入站信任设置

适用于非 Azure AD 外部用户的 MFA

对于非 Azure AD 外部用户而言,资源租户始终负责 MFA。 下面的示例显示了一个典型的 MFA 流。 此场景适用于任何标识,包括 Microsoft 帐户 (MSA) 或社交 ID。 在尚未为其主 Microsoft Entra 组织配置信任设置时,此流也适用于 Microsoft Entra 外部用户。

  1. 一家名为 Fabrikam 的公司中的管理员或信息工作者邀请来自另一家名为 Contoso 的公司的用户使用 Fabrikam 的应用。

  2. Fabrikam 的应用配置为在访问时需要 Microsoft Entra 多重身份验证。

  3. 当来自 Contoso 的 B2B 协作用户尝试访问 Fabrikam 的应用时,他们需要完成 Microsoft Entra 多重身份验证质询。

  4. 然后,来宾用户可以使用 Fabrikam 设置 Microsoft Entra 多重身份验证,并选择选项。

Fabrikam 必须具有支持 Microsoft Entra 多重身份验证的足够高级 Microsoft Entra ID 许可证。 然后来自 Contoso 的用户才能使用 Fabrikam 提供的此许可证。

注意

MFA 在资源租户中完成,以确保可预测性。 当来宾用户登录时,他们将看到资源租户登录页面在后台显示,他们自己的主租户登录页面和公司徽标在前台显示。

Microsoft Entra 多重身份验证重置(B2B 协作用户的证明)

以下 PowerShell cmdlet 可用于证明或请求 B2B 协作用户进行 MFA 注册。

注意

我们计划在 2024 年 3 月 30 日弃用 Azure AD PowerShell。 若要了解详细信息,请阅读有关弃用的更新

我们建议迁移到 Microsoft Graph PowerShell,以便与 Microsoft Entra ID(以前称为 Azure AD)进行交互。 Microsoft Graph PowerShell 在 PowerShell 7 上提供,支持访问所有 Microsoft Graph API。 有关常见迁移查询的解答,请参阅迁移常见问题解答

  1. 连接到 Microsoft Entra ID:

    $cred = Get-Credential
    Connect-MsolService -AzureEnvironment AzureChinaCloud -Credential $cred
    
  2. 使用身份验证方法获取所有用户:

    Get-MsolUser | where { $_.StrongAuthenticationMethods} | select UserPrincipalName, @{n="Methods";e={($_.StrongAuthenticationMethods).MethodType}}
    

    例如:

    Get-MsolUser | where { $_.StrongAuthenticationMethods} | select UserPrincipalName, @{n="Methods";e={($_.StrongAuthenticationMethods).MethodType}}
    
  3. 重置特定用户的 Microsoft Entra 多重身份验证方法,以要求该用户再次设置身份验证方法,例如:

    Reset-MsolStrongAuthenticationMethodByUpn -UserPrincipalName gsamoogle_gmail.com#EXT#@ WoodGroveAzureAD.partner.onmschina.cn
    

设备符合性和已加入混合 Microsoft Entra 的设备策略

组织可以使用条件访问策略来要求由 Microsoft Intune 管理的用户的设备。 此类策略可能会阻止外部用户访问,因为外部用户无法将其非托管设备注册到资源组织。 设备只能由用户的主租户管理。

但是,可以使用设备信任设置取消阻止外部用户,同时仍需要托管设备。 在跨租户访问设置中,可以选择信任来自外部用户主租户的声明,了解用户设备是否符合其设备符合性策略,还是已加入混合 Microsoft Entra。 可以为所有 Microsoft Entra 组织或单个组织设置设备信任设置。

启用设备信任设置后,Microsoft Entra ID 会检查用户的身份验证会话以获取设备声明。 如果会话包含一个设备声明,指示在用户的主租户中已满足策略,则向外部用户授予对共享资源的无缝登录权限。

重要

  • 除非愿意信任来自外部用户主租户的设备符合性或混合 Microsoft Entra 加入状态的声明,否则不建议应用要求外部用户使用托管设备的条件访问策略。

设备筛选器

为外部用户创建条件访问策略时,可以根据 Microsoft Entra ID 中已注册设备的设备属性评估策略。 使用设备筛选器条件,可以使用支持的运算符和属性以及条件访问策略中的其他可用分配条件来指定具体设备。

设备筛选器可与跨租户访问设置结合使用,在其他组中管理的设备上建立策略。 例如,假设要基于特定设备属性阻止来自外部 Microsoft Entra 租户的设备。 可以采取以下步骤来设置基于设备属性的策略:

  • 配置跨租户访问设置,以信任来自该组织的设备声明。
  • 将要用于筛选的设备属性分配给受支持的设备扩展属性之一。
  • 使用设备筛选器创建条件访问策略,阻止访问包含该属性的设备。

详细了解如何使用条件访问筛选设备

移动应用程序管理策略

不建议对外部用户要求应用保护策略。 条件访问授权控制(如“需要已批准的客户端应用”“需要应用保护策略”)需要在资源租户中注册设备。 这些控制仅应用于 iOS 和 Android 设备。 由于用户的设备只能由其主租户管理,因此无法将这些控件应用于外部来宾用户。

基于位置的条件访问

如果邀请组织能够创建定义其合作伙伴组织的受信任 IP 地址范围,则可以执行基于 IP 范围的基于位置的策略

还可以基于地理位置执行策略。

基于风险的条件访问

如果外部来宾用户满足授权控制要求,则执行登录风险策略。 例如,组织可能需要 Microsoft Entra 多重身份验证,以承担中等或高登录风险。 但是,如果某个用户以前没有在资源租户中注册过 Microsoft Entra 多重身份验证,则该用户将被阻止。 这样做是为了防止恶意用户在泄露合法用户密码时注册其自己的 Microsoft Entra 多重身份验证凭据。

但无法在资源租户中解决用户风险策略。 例如,如果需要为高风险来宾用户更改密码,则他们会因为无法在资源目录中重置密码而被阻止。

条件访问客户端应用条件

针对 B2B 来宾用户的客户端应用条件的行为与针对其他类型用户的客户端应用条件的行为是一样的。 例如,你可以阻止来宾用户使用旧版身份验证协议。

条件访问会话控制

针对 B2B 来宾用户的会话控制的行为与针对其他类型用户的会话控制的行为是一样的。

后续步骤

有关详细信息,请参阅以下文章: