Azure Lighthouse 允许委派订阅和资源组,但不允许 管理组。 不过,可使用 Azure Policy 将管理组中的所有订阅委托给管理租户。
该策略使用 deployIfNotExists 效果来检查管理组中的每个订阅是否已委托给指定的管理租户。 如果尚未委托订阅,策略将根据你在参数中提供的值创建 Azure Lighthouse 分配。 然后,你可以访问管理组中的所有订阅,就像手动载入每个订阅一样。
使用此策略时,请记住:
- 管理组中的每个订阅都将有同一组授权。 若要改变授予访问权限的用户和角色,必须手动载入订阅。
- 虽然管理组中的每个订阅都已启用,但不能通过 Azure Lighthouse 来对整个管理组资源执行操作。 你需要选择要操作的订阅,就像它们是单独启用的一样。
除非指定,否则具有相应权限的客户租户中的用户必须执行所有这些步骤。
提示
虽然本文指的是服务提供商和客户, 但管理多个租户的企业 可以使用相同的流程。
跨订阅注册资源提供程序
通常,载入过程会为订阅注册 Microsoft.ManagedServices 资源提供程序。 使用此策略将订阅添加到管理组中时,必须提前注册资源提供者。 客户租户中具有贡献者或所有者角色的用户,或任何拥有执行资源提供者相关 /register/action 操作权限的用户,都可以执行此注册。 有关详细信息,请参阅注册资源供应商。
可以使用一个 Azure 逻辑应用,该应用可以在跨订阅的情况下自动注册资源提供程序。 可以将此逻辑应用程序部署在客户租户中,并赋予有限权限,使其能够在管理组内的每个订阅中注册资源提供者。
我们还提供了可在服务提供商的租户中部署的 Azure 逻辑应用。 此逻辑应用可跨多个租户中的订阅分配资源提供程序,方法是向该逻辑应用授予租户范围的管理员同意。 若要授予租户范围的管理员同意,你需要作为经授权代表组织同意的用户登录。 如果使用此选项跨多个租户注册提供程序,仍需要为每个管理组单独部署该策略。
创建参数文件
若要分配策略,请部署 deployLighthouseIfNotExistManagementGroup.json 文件,以及编辑 deployLighthouseIfNotExistsManagementGroup.parameters.json 参数文件以反映特定租户和分配详细信息。 这两个文件包含载入 单个订阅所需的相同信息。
此示例显示了将订阅委托给 Relecloud 托管服务租户的参数文件。 它授予对两个 principalID 值的访问权限:一个帐户用于第 1 层支持,另一个自动化帐户可以 将 delegateRoleDefinitionIds 分配给客户租户中的托管标识。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"managedByName": {
"value": "Relecloud Managed Services"
},
"managedByDescription": {
"value": "Relecloud provides managed services to its customers"
},
"managedByTenantId": {
"value": "00000000-0000-0000-0000-000000000000"
},
"managedByAuthorizations": {
"value": [
{
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"principalIdDisplayName": "Tier 1 Support",
"roleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c"
},
{
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"principalIdDisplayName": "Automation Account - Full access",
"roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9",
"delegatedRoleDefinitionIds": [
"b24988ac-6180-42a0-ab88-20f7382dd24c",
"92aaf0da-9dab-42b6-94a3-d43ce8d16293",
"91c1777a-f3dc-4fae-b103-61d183457e46"
]
}
]
}
}
}
将策略分配给管理组
完成编辑策略以创建分配后,请在管理组级别分配它。 若要了解如何分配策略和查看符合性状态结果,请参阅快速入门:创建策略分配。
此 PowerShell 脚本使用创建的模板和参数文件在指定的管理组下部署策略定义。 你需要为现有订阅创建分配和修正任务。
New-AzManagementGroupDeployment -Name <DeploymentName> -Location <location> -ManagementGroupId <ManagementGroupName> -TemplateFile <path to file> -TemplateParameterFile <path to parameter file> -verbose
确认成功载入
有多种方法可以验证管理组中的现有订阅是否已成功载入。 有关详细信息,请参阅确认成功加入。
如果您在管理组中保持逻辑应用和策略的活动状态,任何添加到该管理组的新订阅也会自动入驻。
后续步骤
- 详细了解如何将客户加入 Azure Lighthouse。
- 了解 Azure Policy。
- 了解 Azure 逻辑应用。