概述:使用 Microsoft Entra 外部 ID 进行跨租户访问

Microsoft Entra 组织可以使用外部 ID 跨租户访问设置来管理如何通过 B2B 协作与其他 Microsoft Entra 组织和其他 Azure 云协作。 通过跨租户访问设置,你可对外部 Microsoft Entra 组织如何与你协作(入站访问)和你的用户如何与外部 Microsoft Entra 组织协作(出站访问)进行精细控制。 这些设置还允许信任来自其他 Microsoft Entra 组织的多重身份验证 (MFA) 和设备声明(合规声明和已建立 Microsoft Entra 混合联接的声明)。

本文介绍用于管理与外部 Microsoft Entra 组织之间的 B2B 协作的跨租户访问设置(包括跨 Azure 云的情况)。 更多设置可用于与非 Microsoft Entra 标识(例如社交标识或非 IT 托管式外部帐户)进行 B2B 协作。 这些外部协作设置包括用于限制来宾用户访问、指定可以邀请来宾的用户以及允许或阻止域的选项。

重要

Microsoft 已于 2023 年 8 月 30 日开始将使用跨租户访问设置的客户迁移到新的存储模型。 你可能会注意到审核日志中有一个条目,通知你在自动任务迁移你的设置时,跨租户访问设置已更新。 在迁移过程中有一个短暂的时段,在该时段中你将无法更改设置。 如果无法进行更改,请稍等片刻,然后再次尝试更改。 迁移完成后,你将不再受到 25kb 存储空间的限制,可以添加的合作伙伴数量也不再受到限制。

使用入站和出站设置管理外部访问

外部标识跨租户访问设置可管理与其他 Microsoft Entra 组织展开协作的方式。 这些设置用于确定外部 Microsoft Entra 组织中的用户对你的资源的入站访问级别,以及你的用户对外部组织的出站访问级别。

下图显示了跨租户访问入站和出站设置。 资源 Microsoft Entra 租户是包含要共享的资源的租户。 对于 B2B 协作,资源租户是邀请租户(例如你希望邀请外部用户加入其中的企业租户)。 用户的主 Microsoft Entra 租户是在其中管理外部用户的租户。

跨租户访问设置的概略图。

默认情况下,会启用与其他 Microsoft Entra 组织的 B2B 协作。 但可以通过以下综合管理设置来管理这两种功能。

  • “出站访问设置”控制用户是否可以访问外部组织中的资源。 可以将这些设置应用于每个人,或指定单个用户、组和应用程序。

  • 入站访问设置控制外部组织的用户是否可以访问你所在组织中的资源。 可以将这些设置应用于每个人,或指定单个用户、组和应用程序。

  • “信任设置”(入站)决定了在相关用户已经满足主租户中要求的前提下,条件访问策略是否信任来自外部组织的多重身份验证 (MFA)、合规设备和 Microsoft Entra 混合加入设备声明。 例如,将信任设置配置为信任 MFA 时,MFA 策略仍适用于外部用户,但已在其主租户中完成 MFA 的用户无需在您的租户中再次完成 MFA。

默认设置

默认的跨租户访问设置适用于你的租户以外的所有 Microsoft Entra 组织,但已配置组织设置的组织除外。 可以更改默认设置,但用于 B2B 协作的初始默认设置如下所示:

  • B2B 协作:默认情况下,所有内部用户均可进行 B2B 协作。 此设置意味着你的用户可以邀请外部来宾访问你的资源,并且可以邀请他们作为来宾加入外部组织。 来自其他 Microsoft Entra 组织的 MFA 和设备声明不可信。

  • 组织设置:默认情况下,不会向组织设置添加任何组织。 这意味着所有外部 Microsoft Entra 组织均可与你的组织进行 B2B 协作。

上述行为适用于与同一 Azure 云中的其他 Microsoft Entra 租户的 B2B 协作。 在跨云方案中,默认设置的工作方式略有不同。 请参阅本文后面部分的 Microsoft 云设置

组织设置

可以通过添加组织和修改该组织的入站及出站设置来配置组织特定的设置。 组织设置优先于默认设置。

  • B2B 协作:若要与其他 Microsoft Entra 组织进行 B2B 协作,请使用跨租户访问设置来管理入站和出站 B2B 协作,并将访问范围限定到特定的用户、组和应用程序。 可以设置适用于所有外部组织的默认配置,然后根据需要创建特定于个人、组织的设置。 使用跨租户访问设置时,还可以信任来自其他 Microsoft Entra 组织的多重身份验证 (MFA) 和设备声明(合规声明和 Microsoft Entra 混合加入声明)。

  • 可以使用外部协作设置来限制谁可以邀请外部用户、允许或阻止 B2B 特定域,以及就来宾用户对目录的访问权限设置限制。

租户限制

使用“租户限制”设置,能够控制用户可在你管理的设备上使用的外部帐户类型,包括:

  • 用户在未知租户中创建的帐户。
  • 外部组织提供给用户的帐户,该用户用于访问组织的资源。

建议配置租户限制以禁止这些类型的外部帐户,并改为使用 B2B 协作。 B2B 协作支持:

  • 对 B2B 协作用户使用“条件访问”并强制其进行多重身份验证。
  • 管理入站和出站访问。
  • 当 B2B 协作用户的雇佣状态更改或其凭据遭到泄露时,终止会话和凭据。
  • 使用登录日志查看有关 B2B 协作用户的详细信息。

租户限制独立于其他跨租户访问设置,因此你配置的任何入站、出站或信任设置都不会影响租户限制。 有关配置租户限制的详细信息,请参阅 设置租户限制 V2

Microsoft 云设置

使用 Microsoft 云设置,你可以与来自不同 Azure 云的组织协作。 借助 Microsoft 云设置,可以在以下云之间建立相互 B2B 协作:

  • Azure 商业云和 Azure 政府
  • Azure 商业云和世纪互联云运营的 Microsoft Azure

若要设置 B2B 协作,则两个组织都配置其 Microsoft 云设置,以启用合作伙伴的云。 然后,每个组织使用合作伙伴的租户 ID 查找合作伙伴并将其添加到其组织设置。 在那里,每个组织都可以允许其默认跨租户访问设置应用于合作伙伴,也可以配置特定于合作伙伴的入站和出站设置。 在另一个云中与合作伙伴建立 B2B 协作后,你将能够:

  • 使用 B2B 协作邀请合作伙伴租户中的用户访问组织中的资源,其中包括 Web 业务线应用、SaaS 应用以及 SharePoint Online 站点、文档和文件。
  • 使用 B2B 协作将 Power BI 内容共享给合作伙伴租户中的用户
  • 对 B2B 协作用户应用条件访问策略,并选择信任来自用户主租户的多重身份验证或设备声明(合规声明和 Microsoft Entra 混合联合声明)。

有关配置步骤,请参阅为 B2B 协作配置 Microsoft 云设置

跨云方案中的默认设置

若要在另一个 Azure 云中与合作伙伴租户协作,两个组织都需要相互启用与对方的 B2B 协作。 第一步是在跨租户设置中启用合作伙伴的云。 首次启用另一个云时,会阻止该云中的所有租户进行 B2B 协作。 需要将你想要与之协作的租户添加到组织设置,此时,默认设置将仅对该租户生效。 可以允许默认设置保持有效状态,也可以修改租户的组织设置。

重要注意事项

重要

更改默认的入站或出站设置以阻止访问,这样做可能会阻止对您所在组织内或合作伙伴组织内的应用进行的现有业务关键访问。 请务必使用本文中所述的工具,并咨询业务利益干系人来确定所需的访问权限。

  • 若要在 Azure 门户中配置跨租户访问设置,需要一个拥有全局管理员、安全管理员或你定义的自定义角色的帐户。

  • 若要配置信任设置或将访问设置应用于特定用户、组或应用程序,需要具有 Microsoft Entra ID P1 许可证。 在所配置的租户上需要许可证。

  • 跨租户访问设置用于管理与其他 Microsoft Entra 组织的 B2B 协作。 对于与非 Microsoft Entra 标识(例如社交标识或非 IT 托管式外部帐户)之间的 B2B 协作,请使用外部协作设置。 外部协作设置包括用于限制来宾用户访问、指定可以邀请来宾的用户以及允许或阻止域的 B2B 协作选项。

  • 如果要将访问设置应用于外部组织中的特定用户、组或应用程序,需要在配置设置之前联系该组织了解相关信息。 获取其用户对象 ID、组对象 ID 或应用程序 ID(客户端应用 ID 或资源应用 ID),以便可以正确定位设置。

    提示

    通过检查登录日志,也许可以找到外部组织中的应用的应用程序 ID。 请参阅“标识入站和出站登录”部分。

  • 为用户和组配置的访问设置必须与应用程序的访问设置匹配。 不允许有冲突的设置,如果尝试对其进行配置,您将会看到警告消息。

    • 示例 1:如果阻止所有外部用户和组的入站访问,则必须同时阻止对所有应用程序的访问。

    • 示例 2:如果允许所有用户(或特定用户或组)的出站访问,则你将无法阻止对外部应用程序的所有访问;必须允许对至少一个应用程序的访问。

  • 如果默认阻止访问所有应用,用户将无法读取使用 Microsoft Rights Management 服务(也称为 Office 365 Message Encryption 或 OME)加密的电子邮件。 若要避免此问题,建议配置出站设置以允许用户访问此应用 ID:00000012-0000-0000-c000-000000000000。 如果这是唯一允许的应用程序,则默认情况下将阻止对所有其他应用的访问。

用于管理跨租户访问设置的自定义角色

可以使用组织定义的自定义角色管理跨租户访问设置。 这使你能够定义自己的精细范围角色来管理跨租户访问设置,而不是使用其中一个内置角色进行管理。 组织可以定义自定义角色来管理跨租户访问设置。 这使你能够创建自己的精确范围角色来管理跨租户访问设置,而不是使用内置角色进行管理。

跨租户访问管理员

此角色可以在跨租户访问设置(包括默认设置和基于组织的设置)中管理所有内容。 此角色应分配给需要在跨租户访问设置中管理所有设置的用户。

请在下面找到适合此角色的建议操作列表。

操作
microsoft.directory.tenantRelationships/standard/read
microsoft.directory/crossTenantAccessPolicy/standard/read
microsoft.directory/crossTenantAccessPolicy/allowedCloudEndpoints/update
microsoft.directory/crossTenantAccessPolicy/basic/update
microsoft.directory/crossTenantAccessPolicy/default/b2bCollaboration/update
microsoft.directory/crossTenantAccessPolicy/default/b2bDirectConnect/update
microsoft.directory/crossTenantAccessPolicy/default/crossCloudMeetings/update
microsoft.directory/crossTenantAccessPolicy/default/standard/read
microsoft.directory/crossTenantAccessPolicy/default/tenantRestrictions/update
microsoft.directory/crossTenantAccessPolicy/partners/b2bCollaboration/update
microsoft.directory/crossTenantAccessPolicy/partners/b2bDirectConnect/update
microsoft.directory/crossTenantAccessPolicy/partners/create
microsoft.directory/crossTenantAccessPolicy/partners/crossCloudMeetings/update
microsoft.directory/crossTenantAccessPolicy/partners/delete
microsoft.directory/crossTenantAccessPolicy/partners/identitySynchronization/basic/update
microsoft.directory/crossTenantAccessPolicy/partners/identitySynchronization/create
microsoft.directory/crossTenantAccessPolicy/partners/identitySynchronization/standard/read
microsoft.directory/crossTenantAccessPolicy/partners/standard/read
microsoft.directory/crossTenantAccessPolicy/partners/tenantRestrictions/update

跨租户访问读取者

此角色可以在跨租户访问设置(包括默认设置和基于组织的设置)中读取所有内容。 此角色应分配给只需在跨租户访问设置中查看设置,而不需要对其进行管理的用户。

请在下面找到适合此角色的建议操作列表。

操作
microsoft.directory.tenantRelationships/standard/read
microsoft.directory/crossTenantAccessPolicy/standard/read
microsoft.directory/crossTenantAccessPolicy/default/standard/read
microsoft.directory/crossTenantAccessPolicy/partners/identitySynchronization/standard/read
microsoft.directory/crossTenantAccessPolicy/partners/standard/read

跨租户访问合作伙伴管理员

此角色可以管理与合作伙伴相关的所有内容,并读取默认设置。 此角色应分配给需要管理基于组织的设置但无法更改默认设置的用户。

请在下面找到适合此角色的建议操作列表。

操作
microsoft.directory.tenantRelationships/standard/read
microsoft.directory/crossTenantAccessPolicy/standard/read
microsoft.directory/crossTenantAccessPolicy/basic/update
microsoft.directory/crossTenantAccessPolicy/default/standard/read
microsoft.directory/crossTenantAccessPolicy/partners/b2bCollaboration/update
microsoft.directory/crossTenantAccessPolicy/partners/b2bDirectConnect/update
microsoft.directory/crossTenantAccessPolicy/partners/create
microsoft.directory/crossTenantAccessPolicy/partners/crossCloudMeetings/update
microsoft.directory/crossTenantAccessPolicy/partners/delete
microsoft.directory/crossTenantAccessPolicy/partners/identitySynchronization/basic/update
microsoft.directory/crossTenantAccessPolicy/partners/identitySynchronization/create
microsoft.directory/crossTenantAccessPolicy/partners/identitySynchronization/standard/read
microsoft.directory/crossTenantAccessPolicy/partners/standard/read
microsoft.directory/crossTenantAccessPolicy/partners/tenantRestrictions/update

标识入站和出站登录

在设置入站和出站访问设置之前,可以使用多款工具来帮助确定用户和合作伙伴所需的访问权限。 若要确保不会删除用户和合作伙伴所需的访问权限,应该检查当前的登录行为。 采取此预备步骤有助于防止最终用户和合作伙伴用户失去所需的访问权限。 但在某些情况下,这些日志仅保留 30 天,因此强烈建议与业务利益干系人沟通,确保所需访问权限不会丢失。

跨租户登录活动 PowerShell 脚本

若要查看与外部租户关联的用户登录活动,使用跨租户用户登录活动 PowerShell 脚本。 例如,若要查看入站活动(外部用户访问本地租户中的资源)和出站活动(本地用户访问外部租户中的资源)的所有可用登录事件,请运行以下命令:

Get-MSIDCrossTenantAccessActivity -SummaryStats -ResolveTenantId

输出是入站和出站活动的所有可用登录事件之摘要,按外部租户 ID 和外部租户名称列出。

登录日志 PowerShell 脚本

若要确定用户对外部 Microsoft Entra 组织的访问权限,请使用 Microsoft Graph PowerShell SDK 中的 Get-MgAuditLogSignIn cmdlet 查看过去 30 天内的登录日志中的数据。 例如,运行以下命令:

#Initial connection
Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "AuditLog.Read.All"
Select-MgProfile -Name "beta"

#Get external access
$TenantId = "<replace-with-your-tenant-ID>"

Get-MgAuditLogSignIn -Filter "ResourceTenantId ne '$TenantID'" -All:$True |
Group-Object ResourceTenantId,AppDisplayName,UserPrincipalName |
Select-Object count,@{n='Ext TenantID/App User Pair';e={$_.name}}

输出是用户发起到外部租户中的应用的出站登录列表。

Azure Monitor

如果组织订阅了 Azure Monitor 服务,使用跨租户访问活动工作簿(位于 Azure 门户中的监视工作簿库中)来直观浏览更长时间的入站和出站登录。

安全信息和事件管理 (SIEM) 系统

如果组织将登录日志导出到安全信息和事件管理 (SIEM) 系统,则可以从 SIEM 系统检索所需信息。

标识跨租户访问设置的变更

Microsoft Entra 审核日志可捕获有关跨租户访问设置变更和活动的所有活动。 若要审核对跨租户访问设置所做的变更,请使用 CrossTenantAccessSettings 的“类别”筛选所有显示跨租户访问设置变更的活动。

跨租户访问设置的审核日志的屏幕截图。

后续步骤

配置跨租户访问设置,以进行 B2B 协作