Azure 自动化帐户身份验证概述
重要
Azure 自动化运行方式帐户(包括经典运行方式帐户)已于 2023 年 9 月 30 日停用,被托管标识取代。 再也无法通过 Azure 门户创建或续订运行方式帐户。 有关详细信息,请参阅从现有运行方式帐户迁移到托管标识。
Azure 自动化让可以通过其他云提供程序(如 Amazon Web Services (AWS))针对 Azure、本地中的资源来自动执行任务。 可以使用 Runbook 来自动完成任务;如果你有要在 Azure 外部管理的业务或操作过程,也可以使用混合 Runbook 辅助角色。 在上述任一环境中工作都需要权限,以使用所需的最小权限安全地访问资源。
本文介绍了 Azure 自动化支持的身份验证方案,以及如何基于你需要管理的一个或多个环境开始操作。
自动化帐户
首次启动 Azure 自动化时,必须创建至少一个自动化帐户。 使用 Azure 自动化帐户,你可以将 Azure 自动化资源、Runbook、资产、配置与其他帐户的资源相隔离。 可以使用 Azure 自动化帐户将资源分成单独的逻辑环境或委派的职责。 例如,可以在开发环境中使用一个帐户,在生产环境中使用另一个帐户,并在本地环境中使用另一个账户。 也可以使用更新管理来指定一个 Azure 自动化帐户管理所有计算机上的操作系统更新。
Azure 自动化帐户不同于 Azure 帐户或在 Azure 订阅中创建的帐户。 有关创建自动化帐户的介绍,请参阅创建自动化帐户。
自动化资源
每个自动化帐户的自动化资源都与单个 Azure 区域相关联,但该帐户可以管理 Azure 订阅中的所有资源。 如果你的策略要求将数据和资源隔离到特定的区域,则这是在不同区域中创建自动化帐户的主要原因。
在 Azure 自动化中使用 Azure 资源管理器和 PowerShell cmdlet 针对资源创建的所有任务必须使用基于 Microsoft Entra 组织标识凭据的身份验证向 Azure 进行身份验证。
托管标识
借助 Microsoft Entra ID 的托管标识,runbook 可以轻松访问其他受 Microsoft Entra 保护的资源。 标识由 Azure 平台托管,无需预配或轮换任何机密。 有关 Microsoft Entra ID 中的托管标识的详细信息,请参阅 Azure 资源的托管标识。
建议在 runbook 中使用托管标识进行身份验证,它是自动化帐户的默认身份验证方法。
下面是使用托管标识的一些好处:
使用托管标识(而不是自动化运行方式帐户)可以简化管理。
无需额外付费也可使用托管标识。
不必在 runbook 代码中指定运行方式连接对象。 可以使用自动化帐户的托管标识通过 runbook 访问资源,而无需创建证书、连接等。
自动化帐户可以使用两种类型的托管标识进行身份验证:
系统分配的标识与你的应用程序相绑定,如果删除应用,标识也会被删除。 一个应用只能具有一个系统分配的标识。
用户分配的标识是可以分配给应用的独立 Azure 资源。 一个应用可以具有多个用户分配的标识。
注意
仅云作业支持用户分配的标识。 若要详细了解不同的托管标识,请参阅管理标识类型。
有关使用托管标识的详细信息,请参阅为 Azure 自动化启用托管标识。
订阅权限
你需要 Microsoft.Authorization/*/Write
权限。 此权限是通过以下 Azure 内置角色之一的成员资格获得的:
若要详细了解经典订阅权限,请参阅 Azure 经典订阅管理员。
Microsoft Entra 权限
若要续订服务主体,你需要成为以下 Microsoft Entra 内置角色之一的成员:
可在目录级别将成员资格分配给租户中的所有用户,这是默认行为。 你可在目录级别向任一角色授予成员资格。 有关详细信息,请参阅谁有权向我的 Microsoft Entra 实例添加应用程序?。
自动化帐户权限
若要更新自动化帐户,你需要成为以下自动化帐户角色之一的成员:
若要了解有关 Azure 资源管理器和经典部署模型的详细信息,请参阅资源管理器与经典部署。
基于角色的访问控制
基于角色的访问控制在 Azure 资源管理器中可用,用于向 Microsoft Entra 用户帐户和运行方式帐户授予允许的操作,并对服务主体进行身份验证。 请阅读 Azure 自动化中基于角色的访问控制一文,详细了解如何开发自动化权限管理模型。
如果对资源组中的权限分配具有严格的安全控制,则需要将运行方式帐户成员身份分配给资源组中的“参与者”角色。
注意
建议你不要使用 Log Analytics 参与者角色来执行自动化作业。 而是创建 Azure 自动化参与者自定义角色,并将其用于与自动化帐户相关的操作。
使用混合 Runbook 辅助角色的 Runbook 身份验证
在数据中心的混合 Runbook 辅助角色上运行的或针对其他云环境(如 AWS)中的计算服务运行的 Runbook 不能使用通常用于向 Azure 资源进行Runbook 身份验证的方法。 这是因为这些资源在 Azure 外部运行,因此,它们需要在自动化中定义自己的安全凭据,以便向需要在本地访问的资源进行身份验证。 有关使用 Runbook 辅助角色的 Runbook 身份验证的详细信息,请参阅在混合 Runbook 辅助角色上运行 Runbook。
对于在 Azure VM 上使用混合 Runbook 辅助角色的 Runbook,可以通过使用托管标识的 Runbook 身份验证而不是运行方式帐户来向 Azure 资源进行身份验证。
后续步骤
- 若要从 Azure 门户创建自动化帐户,请参阅创建独立的 Azure 自动化帐户。
- 如果你喜欢使用模板创建帐户,请参阅使用 Azure 资源管理器模板创建自动化帐户。
- 如需支持 Azure 资源托管标识功能的 Azure 服务的列表,请参阅支持 Azure 资源托管标识的服务。