跨租户访问设置 API 概述

命名空间:microsoft.graph

重要

Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。

在传统的Microsoft Entra B2B 协作中,来自组织的任何受邀用户都可以使用其标识访问外部组织中的资源。 管理员无法控制其租户中允许登录到外部组织的用户标识。 这些有限的控制使得很难防止以未经授权的方式使用组织中的标识。

通过跨租户访问设置 ,可以控制和管理组织中的用户与其他组织中的协作。 控件可以是以下配置之一或组合:

  • 出站访问 - 用户如何与其他组织协作。
  • 入站访问 - 其他组织如何与你协作。
  • 租户限制访问 - 用户如何使用网络或设备中的其他组织标识与其他组织协作。

通过精细控制,可以确定组织和外部组织中可以参与跨租户协作的用户、组和应用。 这些控制通过以下方式实现:

  • 默认跨租户访问设置 ,用于设置入站和出站访问以及租户限制的基线设置。

    • 在Microsoft Entra B2B 协作中,入站和出站访问设置默认启用。 此默认配置意味着可以邀请所有用户加入外部组织,所有用户都可以邀请来宾用户。
    • 在 Microsoft Entra B2B 直连中,入站和出站访问设置默认处于禁用状态。
    • 服务默认设置可能会更新。
    • 在“租户限制”中,默认禁用所有访问设置。
    • 服务默认设置可能会更新。
  • 特定于合作伙伴的访问设置 ,可用于为各个组织配置自定义设置。 对于已配置的组织,此配置优先于默认设置。 因此,虽然Microsoft Entra B2B 协作、Microsoft Entra B2B 直连和租户限制可能在整个组织中被禁用,但你可以为特定的外部组织启用这些功能。

重要

通过配置 B2B 直接连接出站设置,允许启用了出站设置的外部组织访问有关用户的有限联系人数据。 Microsoft 与这些组织共享此数据,以帮助他们发送与用户联系的请求。 外部组织收集的数据(包括有限的联系人数据)受这些组织的隐私策略和做法的约束。

默认跨租户访问设置

默认跨租户访问设置决定了你与所有其他Microsoft Entra组织的入站和出站协作以及租户限制的立场。 跨租户访问设置中未明确列出的组织的任何外部协作都继承这些默认设置。 默认设置是使用 crossTenantAccessPolicyConfigurationDefault 资源类型定义的。

默认情况下,Microsoft Entra ID为所有Microsoft Entra租户分配跨租户访问设置的服务默认配置。 可以使用自己的配置来替代这些服务默认值,以适应你的组织。 可以通过查看查询默认终结点时返回的 isServiceDefault 属性来确认是使用服务默认设置还是自定义设置。

合作伙伴跨租户访问设置

特定于合作伙伴的跨租户访问设置决定了你对特定Microsoft Entra组织的入站和出站协作以及租户限制的立场。 与组织的任何协作都会继承这些特定于合作伙伴的设置。 合作伙伴设置是使用 crossTenantAccessPolicyConfigurationPartner 资源类型定义的。

除非配置特定于合作伙伴的对象的所有属性,否则某些默认设置可能仍适用。 例如,如果在跨租户访问设置中仅为合作伙伴配置 b2bCollaborationInbound ,则合作伙伴配置将从默认跨租户访问设置继承其他设置。 查询合作伙伴终结点时,合作伙伴对象 null 上的任何属性都会从默认策略继承设置。

跨租户访问设置中的入站信任设置

入站信任设置使你能够信任在其主目录中执行的 MFA 来宾用户,从而防止来宾用户在其主目录和目录中执行 MFA。 使用入站信任设置,你可以为来宾用户启用无缝身份验证体验,并节省组织产生的 MFA 成本。

例如,将信任设置配置为信任 MFA 时,MFA 策略仍应用于来宾用户,但已在主租户中完成 MFA 的用户不必在租户中再次完成 MFA。

入站信任设置还使你能够信任符合要求或在其主目录中Microsoft Entra混合联接的设备。 借助跨租户访问设置中的入站信任设置,现在可以通过要求来宾用户使用合规或Microsoft Entra混合加入的设备来保护对应用和资源的访问。

跨租户访问设置中的入站跨租户同步

可以启用跨租户同步以同步合作伙伴租户中的用户。 跨租户同步是 Microsoft Entra ID 中的单向同步服务,可自动创建、更新和删除组织中的租户中的 B2B 协作用户。 创建用户同步策略以简化多租户组织中的用户之间的协作。 合作伙伴用户同步设置是使用 crossTenantIdentitySyncPolicyPartner 资源类型定义的。

在不同的 Microsoft 云中使用Microsoft Entra ID与组织协作

跨租户访问设置用于在单独的 Microsoft 云中启用与Microsoft Entra组织的协作。 通过 allowedCloudEndpoints 属性,可以指定要将协作扩展到哪些 Microsoft 云。 以下 Microsoft 云支持 B2B 协作:

  • Microsoft Azure 商业版和 Microsoft Azure 政府
  • Microsoft Azure 商业版和 Microsoft Azure 中国版

详细了解如何 与其他 Microsoft 云中的组织协作

解释 API 响应

跨租户访问设置 API 可用于设置多个配置,以允许或阻止对组织的访问。 下表突出显示了方案,显示了 API 响应的示例,以及该响应的解释方式。 b2bSetting 用作任何 B2B 入站 (b2bCollaborationInboundb2bDirectConnectInbound) 或出站 (b2bCollaborationOutboundb2bDirectConnectOutbound 的占位符) 或租户限制 (tenantRestrictions) 配置。


应用场景 API 输出 解释
阻止所有用户并阻止所有应用程序
"b2bsetting": {
    "usersAndGroups": {
        "accessType": "blocked",
        "targets": [
            {
                "target": "AllUsers",
                "targetType": "user"
            }
        ]
    },
    "applications": {
        "accessType": "blocked",
        "targets": [
            {
                "target": "AllApplications",
                "targetType": "application"
            }
        ]
    }
}
-
允许所有用户并允许所有应用程序
"b2bsetting": {
    "usersAndGroups": {
        "accessType": "allowed",
        "targets": [
            {
                "target": "AllUsers",
                "targetType": "user"
            }
        ]
    },
    "applications": {
        "accessType": "allowed",
        "targets": [
            {
                "target": "AllApplications",
                "targetType": "application"
            }
        ]
    }
}
-
允许组“g1”中的用户访问任何应用
"b2bSetting": {
    "usersAndGroups": {
        "accessType": "allowed",
        "targets": [
            {
                "target": "g1",
                "targetType": "group"
            }
        ]
    },
    "applications": {
        "accessType": "allowed",
        "targets": [
            {
                "target": "AllApplications",
                "targetType": "application"
            }
        ]
    }
}
组“g1”中的用户可以访问任何应用。 阻止不在组“g1”中的所有其他用户。
仅允许访问应用程序“a1”
"b2bSetting": {
    "usersAndGroups": {
        "accessType": "allowed",
        "targets": [
            {
                "target": "AllUsers",
                "targetType": "user"
            }
        ]
    },
    "applications": {
        "accessType": "allowed",
        "targets": [
            {
                "target": "a1",
                "targetType": "application"
            }
        ]
    }
}
仅允许所有用户访问应用程序“a1”
允许组“g1”中的用户并阻止对应用程序“a1”的访问
"b2bSetting": {
    "usersAndGroups": {
        "accessType": "allowed",
        "targets": [
            {
                "target": "g1",
                "targetType": "group"
            }
        ]
    },
    "applications": {
        "accessType": "blocked",
        "targets": [
            {
                "target": "a1",
                "targetType": "application"
            }
        ]
    }
}
组“g1”中的所有用户都可以访问除应用程序“a1” 之外 的任何应用程序。
阻止组“g1”中的用户访问任何应用程序
"b2bSetting": {
    "usersAndGroups": {
        "accessType": " blocked",
        "targets": [
            {
                "target": "g1",
                "targetType": "group"
            }
        ]
    },
    "applications": {
        "accessType": "blocked",
        "targets": [
            {
                "target": "AllApplications",
                "targetType": "application"
            }
        ]
    }
}
组“g1”中的用户无法访问任何应用程序。 不在组“g1”中的其他用户有权访问所有应用程序。
阻止组“g1”中的用户,仅允许访问应用程序“a1”
"b2bSetting": {
    "usersAndGroups": {
        "accessType": "blocked",
        "targets": [
            {
                "target": "g1",
                "targetType": "group"
            }
        ]
    },
    "applications": {
        "accessType": "allowed",
        "targets": [
            {
                "target": "a1",
                "targetType": "application"
            }
        ]
    }
}
组“g1”中的用户无法访问任何应用程序。 不在组“g1”中的任何用户只能访问应用程序“a1”。
允许组“g1”中的用户仅访问应用程序“a1”
"b2bSetting": {
    "usersAndGroups": {
        "accessType": "allowed",
        "targets": [
            {
                "target": "g1",
                "targetType": "group"
            }
        ]
    },
    "applications": {
        "accessType": "allowed",
        "targets": [
            {
                "target": "a1",
                "targetType": "application"
            }
        ]
    }
}
组“g1”中的用户只能访问应用程序“a1”。 阻止所有用户(包括组“g1”中的用户)访问任何其他应用程序。
阻止组“g1”中的用户访问应用程序“a1”
"b2bSetting": {
    "usersAndGroups": {
        "accessType": "blocked",
        "targets": [
            {
                "target": "g1",
                "targetType": "group"
            }
        ]
    },
    "applications": {
        "accessType": "blocked",
        "targets": [
            {
                "target": "a1",
                "targetType": "application"
            }
        ]
    }
}
仅阻止组“g1”中的用户访问应用程序“a1”。 所有用户(包括组“g1”中的用户)都可以访问任何其他应用程序。
在来宾用户邀请兑换期间优先使用 Azure AD 的外部联合身份验证
"invitationRedemptionIdentityProviderConfiguration": { 
    "primaryIdentityProviderPrecedenceOrder": [ 
        "externalFederation",
        "azureActiveDirectory", 
        "socialIdentityProviders" 
    ], 
    "fallbackIdentityProvider": "defaultConfiguredIdp" 
} 
在尝试 Azure AD 进行身份验证之前,请检查来宾用户是否来自外部联合合作伙伴。

跨租户访问设置与租户限制

跨租户访问设置出站控制用于控制如何使用组织的帐户访问其他Microsoft Entra组织中的资源。 租户限制用于控制员工在网络或设备上时如何使用其他Microsoft Entra组织的帐户。 关键是,出站控制一直起作用,因为它们与你的帐户相关联,而租户限制要求将更多信号注入到身份验证请求中以强制执行,因为租户限制的范围是网络和设备,而不是帐户。 详细了解 租户限制