你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Lighthouse 方案中的租户、用户和角色

在将客户加入 Azure Lighthouse 之前,请务必了解 Microsoft Entra 租户、用户和角色的工作原理以及如何在 Azure Lighthouse 方案中使用它们。

租户是专用且受信任的 Microsoft Entra ID 实例。 通常,每个租户表示一个组织。 Azure Lighthouse 支持将资源从一个租户逻辑投影到另一个租户。 这样一来,管理租户中的用户(例如属于服务提供商的用户)可以访问客户租户中的委派资源,或者让具有多个租户的企业集中其管理操作

为了实现此逻辑投影,必须将客户租户中的订阅(或订阅中的一个或多个资源组)加入 Azure Lighthouse。 可以通过 Azure 资源管理器模板将公共或私有产品/服务发布到 Azure 市场来完成此加入过程。

无论使用哪种加入方法,都需要定义授权。 每个授权都包含一个与内置角色组合的 principalId(Microsoft Entra 用户、组或服务主体),该内置角色定义将为委派资源授予的特定权限

注意

除非显式指定,否则 Azure Lighthouse 文档中对“用户”的提及可能会适用于授权中的 Microsoft Entra 用户、组或服务主体。

定义用户和角色的最佳做法

创建授权时,建议使用以下最佳做法:

  • 在大多数情况下,需要将权限分配给 Microsoft Entra 用户组或服务主体,而不是分配给一系列单独的用户帐户。 这样,便可通过租户的 Microsoft Entra ID 添加或删除单个用户的访问权限,而不必在每次个人访问要求发生更改时更新委派
  • 遵循最低特权原则,使用户仅具有完成作业所需的权限,从而帮助减少意外错误发生的几率。 有关详细信息,请参阅建议的安全做法
  • 包括具有托管服务注册分配删除角色的授权,以便以后可以随时删除对委派的访问权限。 如果未分配此角色,则只能由客户租户中的用户移除对委派资源的访问权限。
  • 确保需要查看 Azure 门户中的“我的客户”页的所有用户都具有读取者角色(或者包含读取者访问权限的其他内置角色)。

重要

若要为 Microsoft Entra 组添加权限,“组类型”必须设置为“安全”。 此选项是在创建组时选择的。 有关详细信息,请参阅使用 Microsoft Entra ID 创建基本组并添加成员

Azure Lighthouse 的角色支持

定义授权时,必须为每个用户帐户分配一个 Azure 内置角色。 不支持自定义角色和经典订阅管理员角色

Azure Lighthouse 目前支持所有内置角色,但有以下例外:

  • 不支持所有者角色。

  • 支持用户访问管理员角色,但仅限用于向客户租户中的托管标识分配角色。 此角色通常会授予的其他权限不适用。 如果定义具有此角色的用户,则还必须指定该用户可分配给托管标识的角色。

  • 不支持具有 DataActions 权限的任何角色。

  • 不支持包含下列任何操作的角色:

    • */write
    • */delete
    • Microsoft.Authorization/*
    • Microsoft.Authorization/*/write
    • Microsoft.Authorization/*/delete
    • Microsoft.Authorization/roleAssignments/write
    • Microsoft.Authorization/roleAssignments/delete
    • Microsoft.Authorization/roleDefinitions/write
    • Microsoft.Authorization/roleDefinitions/delete
    • Microsoft.Authorization/classicAdministrators/write
    • Microsoft.Authorization/classicAdministrators/delete
    • Microsoft.Authorization/locks/write
    • Microsoft.Authorization/locks/delete
    • Microsoft.Authorization/denyAssignments/write
    • Microsoft.Authorization/denyAssignments/delete

重要

分配角色时,请务必查看为每个角色指定的操作。 在某些情况下,即使不支持具有 DataActions 权限的角色,角色中包含的操作也可能允许访问数据,在这种情况下,数据是通过访问密钥公开的,而不是通过用户的标识访问的。 例如,虚拟机参与者角色包括 Microsoft.Storage/storageAccounts/listKeys/action 操作,该操作返回可用于检索某些客户数据的存储帐户访问密钥。

在某些情况下,之前受 Azure Lighthouse 支持的角色可能会变得不可用。 例如,如果将 DataActions 权限添加到以前没有该权限的角色,则在载入新委派时不能再使用该角色。 已经分配了该角色的用户仍可以处理以前委派的资源,但他们将无法执行使用 DataActions 权限的任务。

向 Azure 添加新的适用内置角色后,可以在使用 Azure 资源管理器模板加入客户时分配该角色。 发布托管服务套餐时,新添加的角色在合作伙伴中心变得可用之前可能会有延迟。 同样,如果某个角色变得不可用,你在一段时间内可能仍会在合作伙伴中心看到该角色;但是,你将无法使用此类角色发布新产品/服务。

在 Microsoft Entra 租户之间传输委托订阅

如果订阅转移到另一个 Microsoft Entra 租户帐户,则将保留通过 Azure Lighthouse 加入流程创建的注册定义和注册分配资源。 这意味着,通过 Azure Lighthouse 授予管理租户的访问权限对该订阅(或该订阅中的委派资源组)仍然有效。

唯一的例外情况是订阅转移到之前已委派给的 Microsoft Entra 租户。 在这种情况下,将移除该租户的委派资源,并且通过 Azure Lighthouse 授予的访问权限不再适用,因为订阅现在直属于该租户(而非通过 Azure Lighthouse 委派给该租户)。 但是,如果该订阅也委派给了其他管理租户,则其他管理租户将保留对订阅的相同访问权限。

后续步骤