在 Azure 自动化中管理角色权限和安全性

Azure 基于角色的访问控制 (Azure RBAC) 可用于对 Azure 资源进行访问管理。 使用 Azure RBAC,可以在团队中对职责进行分配,仅向用户、组和应用程序授予执行作业所需的访问权限。 可以使用 Azure 门户、Azure 命令行工具或 Azure 管理 API 将基于角色的访问权限授予用户。

自动化帐户中的角色

在 Azure 自动化中,访问权限是通过将相应的 Azure 角色分配给自动化帐户作用域的用户、组和应用程序来授予的。 以下是自动化帐户所支持的内置角色:

角色 说明
所有者 “所有者”角色允许访问自动化帐户中的所有资源和操作,包括访问其他用户、组和应用程序以管理自动化帐户。
参与者 “参与者”角色允许管理所有事项,修改其他用户对自动化帐户的访问权限除外。
读取器 “读取者”角色允许查看自动化帐户中的所有资源,但不能进行任何更改。
自动化参与者 拥有“自动化参与者”角色后,你可管理自动化帐户中的所有资源,但无法修改其他用户对自动化帐户的访问权限。
自动化运算符 自动化操作员角色允许针对某个自动化帐户中的所有 Runbook 查看 Runbook 名称和属性,以及为其创建和管理作业。 如果想要防止他人查看或修改自动化帐户资源(例如凭据资产和 Runbook),但仍允许所在组织的成员执行这些 Runbook,则可使用此角色。
自动化作业操作员 自动化作业操作员角色允许针对某个自动化帐户中的所有 Runbook 创建和管理作业。
自动化 Runbook 操作员 自动化 Runbook 操作员角色允许查看某个 Runbook 的名称和属性。
Log Analytics 参与者 Log Analytics 参与者可以读取所有监视数据并编辑监视设置。 编辑监视设置包括向 VM 添加 VM 扩展、读取存储帐户密钥以便能够从 Azure 存储配置日志收集、创建和配置自动化帐户、添加 Azure 自动化功能以及配置对所有 Azure 资源的 Azure 诊断。
Log Analytics 读者 Log Analytics 读取者可以读取所有监视数据并编辑监视设置。 这包括查看 Azure 诊断在所有 Azure 资源上的配置。
监视参与者 监视参与者可以读取所有监视数据并更新监视设置。
监视查阅者 监视读取者角色,可以读取所有监视数据。
用户访问管理员 “用户访问管理员”角色允许管理用户对 Azure 自动化帐户的访问。

角色权限

下表描述授予每个角色的特定权限。 这可能包括授予权限的“操作”和限制权限的“不操作”。

所有者

所有者可管理所有内容,包括访问权限。 下表显示了授予角色的权限:

操作 描述
Microsoft.Automation/automationAccounts/* 创建和管理所有类型的资源。

参与者

参与者可管理访问权限以外的所有内容 下表显示了授予和拒绝角色的权限:

操作 说明
Microsoft.Automation/automationAccounts/* 创建和管理所有类型的资源
无操作
Microsoft.Authorization/*/Delete 删除角色和角色分配。
Microsoft.Authorization/*/Write 创建角色和角色分配。
Microsoft.Authorization/elevateAccess/Action 拒绝创建用户访问管理员。

读取器

注意

最近,我们更改了自动化帐户的内置读取者角色权限。 了解详细信息

读取者可以查看自动化帐户中的所有资源,但不能进行任何更改。

操作 说明
Microsoft.Automation/automationAccounts/read 查看自动化帐户中的所有资源。

自动化参与者

自动化参与者可管理自动化帐户中除访问权限之外的所有资源。 下表显示了授予角色的权限:

操作 说明
Microsoft.Automation/automationAccounts/* 创建和管理所有类型的资源。
Microsoft.Authorization/*/read 读取角色和角色分配。
Microsoft.Resources/deployments/* 创建和管理资源组部署。
Microsoft.Resources/subscriptions/resourceGroups/read 读取资源组部署。
Microsoft.Support/* 创建和管理支持票证。
Microsoft.Insights/ActionGroups/* 读取/写入/删除操作组。
Microsoft.Insights/ActivityLogAlerts/* 读取/写入/删除活动日志警报。
Microsoft.Insights/diagnosticSettings/* 读取/写入/删除诊断设置。
Microsoft.Insights/MetricAlerts/* 读取/写入/删除准实时指标警报。
Microsoft.Insights/ScheduledQueryRules/* 在 Azure Monitor 中读取/写入/删除日志警报。
Microsoft.OperationalInsights/workspaces/sharedKeys/action 列出 Log Analytics 工作区的密钥

注意

如果针对目标资源设置了适当权限,则可使用“自动化参与者”角色通过托管标识访问任何资源,或者通过运行方式帐户访问。 默认情况下,自动化运行方式帐户配置有订阅的参与者权限。 遵循最小权限原则,仔细分配仅执行 runbook 所需的权限。 例如,如果启动或停止 Azure VM 仅需自动化帐户,则分配给运行方式帐户或托管标识的权限需仅用于启动或停止 VM。 同样,如果 runbook 正在从 Blob 存储读取,则分配只读权限。

分配权限时,建议使用分配给托管标识的 Azure 基于角色的访问控制 (RBAC)。 查看最佳方法建议,了解如何使用系统或用户分配的托管标识(包括生存期内的管理和治理)。

自动化运算符

自动化操作员能够针对某个自动化帐户中的所有 Runbook 创建和管理作业,以及读取 Runbook 名称和属性。

注意

如果希望控制操作员对各个 runbook 的访问,请勿设置此角色。 请改为结合使用“自动化作业操作员”和“自动化 Runbook 操作员”角色 。

下表显示了授予角色的权限:

操作 说明
Microsoft.Authorization/*/read 读取授权。
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/read 读取混合 Runbook 辅助角色资源。
Microsoft.Automation/automationAccounts/jobs/read 列出 runbook 的作业。
Microsoft.Automation/automationAccounts/jobs/resume/action 恢复已暂停的作业。
Microsoft.Automation/automationAccounts/jobs/stop/action 取消正在进行的作业。
Microsoft.Automation/automationAccounts/jobs/streams/read 读取作业流和输出。
Microsoft.Automation/automationAccounts/jobs/output/read 获取作业的输出。
Microsoft.Automation/automationAccounts/jobs/suspend/action 暂停正在进行的作业。
Microsoft.Automation/automationAccounts/jobs/write 创建作业。
Microsoft.Automation/automationAccounts/jobSchedules/read 获取 Azure 自动化作业计划。
Microsoft.Automation/automationAccounts/jobSchedules/write 创建 Azure 自动化作业计划。
Microsoft.Automation/automationAccounts/linkedWorkspace/read 获取链接到自动化帐户的工作区。
Microsoft.Automation/automationAccounts/read 获取 Azure 自动化帐户。
Microsoft.Automation/automationAccounts/runbooks/read 获取 Azure 自动化 Runbook。
Microsoft.Automation/automationAccounts/schedules/read 获取 Azure 自动化计划资产。
Microsoft.Automation/automationAccounts/schedules/write 创建或更新 Azure 自动化计划资产。
Microsoft.Resources/subscriptions/resourceGroups/read 读取角色和角色分配。
Microsoft.Resources/deployments/* 创建和管理资源组部署。
Microsoft.Insights/alertRules/* 创建和管理警报规则。
Microsoft.Support/* 创建和管理支持票证。
Microsoft.ResourceHealth/availabilityStatuses/read 获取指定范围内所有资源的可用性状态。

自动化作业操作员

自动化作业操作员角色是在自动化帐户范围内授予的。 这将向操作员授予权限来为帐户中的所有 Runbook 创建和管理作业。 如果为作业操作员角色授予了对包含自动化帐户的资源组的读取权限,则该角色的成员能够启动 runbook。 但他们不能创建、编辑或删除 Runbook。

下表显示了授予角色的权限:

操作 说明
Microsoft.Authorization/*/read 读取授权。
Microsoft.Automation/automationAccounts/jobs/read 列出 runbook 的作业。
Microsoft.Automation/automationAccounts/jobs/resume/action 恢复已暂停的作业。
Microsoft.Automation/automationAccounts/jobs/stop/action 取消正在进行的作业。
Microsoft.Automation/automationAccounts/jobs/streams/read 读取作业流和输出。
Microsoft.Automation/automationAccounts/jobs/suspend/action 暂停正在进行的作业。
Microsoft.Automation/automationAccounts/jobs/write 创建作业。
Microsoft.Resources/subscriptions/resourceGroups/read 读取角色和角色分配。
Microsoft.Resources/deployments/* 创建和管理资源组部署。
Microsoft.Insights/alertRules/* 创建和管理警报规则。
Microsoft.Support/* 创建和管理支持票证。
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/read 读取混合 Runbook 辅助角色组。
Microsoft.Automation/automationAccounts/jobs/output/read 获取作业的输出。

自动化 Runbook 操作员

自动化 Runbook 操作员角色在 Runbook 范围授予。 自动化 Runbook 操作员可以查看 Runbook 的名称和属性。 将此角色与“自动化作业操作员”角色组合使用时,也会使操作员能够为 Runbook 创建和管理作业。 下表显示了授予角色的权限:

操作 说明
Microsoft.Automation/automationAccounts/runbooks/read 列出 runbook。
Microsoft.Authorization/*/read 读取授权。
Microsoft.Resources/subscriptions/resourceGroups/read 读取角色和角色分配。
Microsoft.Resources/deployments/* 创建和管理资源组部署。
Microsoft.Insights/alertRules/* 创建和管理警报规则。
Microsoft.Support/* 创建和管理支持票证。

Log Analytics 参与者

Log Analytics 参与者可以读取所有监视数据并编辑监视设置。 编辑监视设置包括向 VM 添加 VM 扩展、读取存储帐户密钥以便能够从 Azure 存储配置日志收集、创建和配置自动化帐户、添加功能以及配置对所有 Azure 资源的 Azure 诊断。 下表显示了授予角色的权限:

操作 说明
*/read 读取除密码外的所有类型的资源。
Microsoft.ClassicCompute/virtualMachines/extensions/* 创建和管理虚拟机扩展。
Microsoft.ClassicStorage/storageAccounts/listKeys/action 列出经典存储帐户密钥。
Microsoft.Compute/virtualMachines/extensions/* 创建和管理经典虚拟机扩展。
Microsoft.Insights/alertRules/* 读取/写入/删除警报规则。
Microsoft.Insights/diagnosticSettings/* 读取/写入/删除诊断设置。
Microsoft.OperationalInsights/* 管理 Azure Monitor 日志。
Microsoft.OperationsManagement/* 管理工作区中的 Azure 自动化功能。
Microsoft.Resources/deployments/* 创建和管理资源组部署。
Microsoft.Resources/subscriptions/resourcegroups/deployments/* 创建和管理资源组部署。
Microsoft.Storage/storageAccounts/listKeys/action 列出存储帐户密钥。
Microsoft.Support/* 创建和管理支持票证。
Microsoft.HybridCompute/machines/extensions/write 安装或更新 Azure Arc 扩展。

Log Analytics 读者

Log Analytics 读者可以查看和搜索所有监视数据并查看监视设置,其中包括查看所有 Azure 资源上的 Azure 诊断的配置。 下表显示了授予或拒绝角色的权限:

操作 说明
*/read 读取除密码外的所有类型的资源。
Microsoft.OperationalInsights/workspaces/analytics/query/action 管理 Azure Monitor 日志中的查询。
Microsoft.OperationalInsights/workspaces/search/action 搜索 Azure Monitor 日志数据。
Microsoft.Support/* 创建和管理支持票证。
无操作
Microsoft.OperationalInsights/workspaces/sharedKeys/read 无法读取共享访问密钥。

监视参与者

监视参与者可以读取所有监视数据并更新监视设置。 下表显示了授予角色的权限:

操作 说明
*/read 读取除密码外的所有类型的资源。
Microsoft.AlertsManagement/alerts/* 管理警报。
Microsoft.AlertsManagement/alertsSummary/* 管理警报仪表板。
Microsoft.Insights/AlertRules/* 管理警报规则。
Microsoft.Insights/components/* 管理 Application Insights 组件。
Microsoft.Insights/DiagnosticSettings/* 管理诊断设置。
Microsoft.Insights/eventtypes/* 列出订阅中的活动日志事件(管理事件)。 此权限适用于以编程方式和通过门户访问活动日志。
Microsoft.Insights/LogDefinitions/* 此权限对于需要通过门户访问活动日志的用户是必需的。 列出活动日志中的日志类别。
Microsoft.Insights/MetricDefinitions/* 读取指标定义(资源的可用指标类型的列表)。
Microsoft.Insights/Metrics/* 读取资源的指标。
Microsoft.Insights/Register/Action 注册 Microsoft.Insights 提供程序。
Microsoft.Insights/webtests/* 管理 Application Insights Web 测试。
Microsoft.OperationalInsights/workspaces/intelligencepacks/* 管理 Azure Monitor 日志解决方案包。
Microsoft.OperationalInsights/workspaces/savedSearches/* 管理 Azure Monitor 日志保存的搜索。
Microsoft.OperationalInsights/workspaces/search/action 搜索 Log Analytics 工作区。
Microsoft.OperationalInsights/workspaces/sharedKeys/action 列出 Log Analytics 工作区的键。
Microsoft.OperationalInsights/workspaces/storageinsightconfigs/* 管理 Azure Monitor 日志存储见解配置。
Microsoft.Support/* 创建和管理支持票证。
Microsoft.WorkloadMonitor/workloads/* 管理工作负荷。

监视查阅者

监视读取者可以读取所有监视数据。 下表显示了授予角色的权限:

操作 说明
*/read 读取除密码外的所有类型的资源。
Microsoft.OperationalInsights/workspaces/search/action 搜索 Log Analytics 工作区。
Microsoft.Support/* 创建和管理支持票证

用户访问管理员

用户访问管理员可管理 Azure 资源的用户访问权限。 下表显示了授予角色的权限:

操作 说明
*/read 读取所有资源。
Microsoft.Authorization/* 管理授权
Microsoft.Support/* 创建和管理支持票证

读取者角色访问权限

重要

为了加强整体 Azure 自动化安全状况,内置 RBAC 读取者将无法通过 API 调用 GET /AUTOMATIONACCOUNTS/AGENTREGISTRATIONINFORMATION 来访问自动化帐户密钥。

自动化帐户的内置读取者角色不能使用 API – GET /AUTOMATIONACCOUNTS/AGENTREGISTRATIONINFORMATION 来提取自动化帐户密钥。 这是一项会提供敏感信息的高权限操作,可能造成安全风险,因为拥有较低权限的可恨恶意参与者可以访问自动化帐户密钥,并使用提升的权限级别执行操作。

若要访问 API – GET /AUTOMATIONACCOUNTS/AGENTREGISTRATIONINFORMATION,建议切换到内置角色(如所有者、参与者或自动化参与者)来访问自动化帐户密钥。 默认情况下,这些角色将具有 listKeys 权限。 我们建议你创建具有有限权限的自定义角色来访问自动化帐户密钥,这是最佳做法。 对于自定义角色,需要向角色定义添加 Microsoft.Automation/automationAccounts/listKeys/action 权限。 详细了解如何通过 Azure 门户创建自定义角色。

功能设置权限

以下部分介绍了启用更新管理功能所需的最低必需权限。

用于从 VM 启用更新管理的权限

Action 权限 最小范围
写入新部署 Microsoft.Resources/deployments/* 订阅
写入新资源组 Microsoft.Resources/subscriptions/resourceGroups/write 订阅
创建新的默认工作区 Microsoft.OperationalInsights/workspaces/write 资源组
创建新帐户 Microsoft.Automation/automationAccounts/write 资源组
链接工作区和帐户 Microsoft.OperationalInsights/workspaces/write
Microsoft.Automation/automationAccounts/read
工作区
自动化帐户
创建 MMA 扩展 Microsoft.Compute/virtualMachines/write 虚拟机
创建保存的搜索 Microsoft.OperationalInsights/workspaces/write 工作区
创建范围配置 Microsoft.OperationalInsights/workspaces/write 工作区
加入状态检查 - 读取工作区 Microsoft.OperationalInsights/workspaces/read 工作区
加入状态检查 - 读取帐户的链接工作区属性 Microsoft.Automation/automationAccounts/read 自动化帐户
加入状态检查 - 读取解决方案 Microsoft.OperationalInsights/workspaces/intelligencepacks/read 解决方案
加入状态检查 - 读取 VM Microsoft.Compute/virtualMachines/read 虚拟机
加入状态检查 - 读取帐户 Microsoft.Automation/automationAccounts/read 自动化帐户
VM 的加入工作区检查1 Microsoft.OperationalInsights/workspaces/read 订阅
注册 Log Analytics 提供程序 Microsoft.Insights/register/action 订阅

1 通过 VM 门户体验启用功能需要此权限。

用于从自动化帐户启用更新管理的权限

Action 权限 最小范围
新建部署 Microsoft.Resources/deployments/* 订阅
新建资源组 Microsoft.Resources/subscriptions/resourceGroups/write 订阅
AutomationOnboarding 边栏选项卡 - 创建新工作区 Microsoft.OperationalInsights/workspaces/write 资源组
AutomationOnboarding 边栏选项卡 - 读取链接的工作区 Microsoft.Automation/automationAccounts/read 自动化帐户
AutomationOnboarding 边栏选项卡 - 读取解决方案 Microsoft.OperationalInsights/workspaces/intelligencepacks/read 解决方案
AutomationOnboarding 边栏选项卡 - 读取工作区 Microsoft.OperationalInsights/workspaces/intelligencepacks/read 工作区
创建工作区和帐户的链接 Microsoft.OperationalInsights/workspaces/write 工作区
写入 shoebox 帐户 Microsoft.Automation/automationAccounts/write 帐户
创建/编辑保存的搜索 Microsoft.OperationalInsights/workspaces/write 工作区
创建/编辑范围配置 Microsoft.OperationalInsights/workspaces/write 工作区
注册 Log Analytics 提供程序 Microsoft.Insights/register/action 订阅
步骤 2 - 启用多个 VM
VMOnboarding 边栏选项卡 - 创建 MMA 扩展 Microsoft.Compute/virtualMachines/write 虚拟机
创建/编辑保存的搜索 Microsoft.OperationalInsights/workspaces/write 工作区
创建/编辑范围配置 Microsoft.OperationalInsights/workspaces/write 工作区

管理混合辅助角色组和混合辅助角色的角色权限

你可以在自动化中创建 Azure 自定义角色,并向混合辅助角色组和混合辅助角色授予以下权限:

更新管理权限

更新管理可用于评估和计划在同一 Microsoft Entra 租户中的多个订阅内的计算机更新部署。 下表列出了管理更新部署所需的权限。

资源 角色 范围
自动化帐户 虚拟机参与者 帐户的资源组
Log Analytics 工作区 Log Analytics 参与者 Log Analytics 工作区
Log Analytics 工作区 Log Analytics 读者 订阅
解决方案 Log Analytics 参与者 解决方案
虚拟机 虚拟机参与者 虚拟机
虚拟机上的操作
查看更新计划执行的历史记录(软件更新配置计算机运行 读取器 自动化帐户
虚拟机上的操作 权限
创建更新计划(软件更新配置 Microsoft.Compute/virtualMachines/write 用于静态 VM 列表和资源组
创建更新计划(软件更新配置 Microsoft.OperationalInsights/workspaces/analytics/query/action 用于使用非 Azure 动态列表时的工作区资源 ID。

注意

使用更新管理时,请确保脚本的执行策略是 RemoteSigned。

为自动化帐户配置 Azure RBAC

以下部分演示如何通过 Azure 门户PowerShell 在自动化帐户上配置 Azure RBAC。

使用 Azure 门户配置 Azure RBAC

  1. 登录到 Azure 门户,然后从“自动化帐户”页打开自动化帐户。

  2. 选择“访问控制(IAM)”并从可用角色列表中选择角色。 可以选择自动化帐户所支持的任何可用的内置角色,或者可能已定义的任何自定义角色。 将角色分配给要向其授予权限的用户。

    有关详细步骤,请参阅使用 Azure 门户分配 Azure 角色

    注意

    只能在自动化帐户范围内设置基于角色的访问控制,不能在自动化帐户下的任何资源上设置。

删除用户的角色分配

可以删除不管理自动化帐户或不再为组织工作的用户的访问权限。 以下步骤演示如何删除用户的角色分配。 有关详细步骤,请参阅删除 Azure 角色分配

  1. 在要删除访问权限的范围(例如管理组、订阅、资源组或资源)内打开“访问控制(IAM)”。

  2. 选择“角色分配”选项卡以查看在此范围内的所有角色分配。

  3. 在角色分配列表中,在具有要删除的角色分配的用户旁边添加一个复选标记。

  4. 选择“删除” 。

    Remove users

使用 PowerShell 配置 Azure RBAC

还可以使用以下 Azure PowerShell cmdlet 为自动化帐户配置基于角色的访问权限:

Get-AzRoleDefinition 列出了 Microsoft Entra ID 中提供的所有 Azure 角色。 可以将此 cmdlet 与 Name 参数一起使用来列出特定角色可以执行的所有操作。

Get-AzRoleDefinition -Name 'Automation Operator'

下面是示例输出:

Name             : Automation Operator
Id               : d3881f73-407a-4167-8283-e981cbba0404
IsCustom         : False
Description      : Automation Operators are able to start, stop, suspend, and resume jobs
Actions          : {Microsoft.Authorization/*/read, Microsoft.Automation/automationAccounts/jobs/read, Microsoft.Automation/automationAccounts/jobs/resume/action,
                   Microsoft.Automation/automationAccounts/jobs/stop/action...}
NotActions       : {}
AssignableScopes : {/}

Get-AzRoleAssignment 列出了指定范围内的 Azure 角色分配。 在没有任何参数的情况下,此 cmdlet 返回在订阅下进行的所有角色分配。 使用 ExpandPrincipalGroups 参数可列出针对指定用户和该用户所在组的访问权限分配。

示例: 使用以下 cmdlet 列出自动化帐户中的所有用户及其角色。

Get-AzRoleAssignment -Scope '/subscriptions/<SubscriptionID>/resourcegroups/<Resource Group Name>/Providers/Microsoft.Automation/automationAccounts/<Automation account name>'

下面是示例输出:

RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Automation/automationAccounts/myAutomationAccount/provid
                     ers/Microsoft.Authorization/roleAssignments/cc594d39-ac10-46c4-9505-f182a355c41f
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Automation/automationAccounts/myAutomationAccount
DisplayName        : admin@contoso.com
SignInName         : admin@contoso.com
RoleDefinitionName : Automation Operator
RoleDefinitionId   : d3881f73-407a-4167-8283-e981cbba0404
ObjectId           : 15f26a47-812d-489a-8197-3d4853558347
ObjectType         : User

使用 New-AzRoleAssignment 为特定范围内的用户、组和应用程序分配访问权限。

示例: 使用以下命令为“自动化帐户”范围中的用户分配“自动化操作员”角色。

New-AzRoleAssignment -SignInName <sign-in Id of a user you wish to grant access> -RoleDefinitionName 'Automation operator' -Scope '/subscriptions/<SubscriptionID>/resourcegroups/<Resource Group Name>/Providers/Microsoft.Automation/automationAccounts/<Automation account name>'

下面是示例输出:

RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/Providers/Microsoft.Automation/automationAccounts/myAutomationAccount/provid
                     ers/Microsoft.Authorization/roleAssignments/25377770-561e-4496-8b4f-7cba1d6fa346
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/Providers/Microsoft.Automation/automationAccounts/myAutomationAccount
DisplayName        : admin@contoso.com
SignInName         : admin@contoso.com
RoleDefinitionName : Automation Operator
RoleDefinitionId   : d3881f73-407a-4167-8283-e981cbba0404
ObjectId           : f5ecbe87-1181-43d2-88d5-a8f5e9d8014e
ObjectType         : User

使用 Remove-AzRoleAssignment 从特定范围中删除指定用户、组或应用程序的访问权限。

示例: 使用以下命令从自动化帐户范围的自动化操作员角色中删除用户。

Remove-AzRoleAssignment -SignInName <sign-in Id of a user you wish to remove> -RoleDefinitionName 'Automation Operator' -Scope '/subscriptions/<SubscriptionID>/resourcegroups/<Resource Group Name>/Providers/Microsoft.Automation/automationAccounts/<Automation account name>'

在前面的示例中,将 sign-in ID of a user you wish to removeSubscriptionIDResource Group NameAutomation account name 替换为帐户详细信息。 出现提示时选择“是”以在继续删除用户角色分配前确认。

自动化操作员角色的用户体验 - 自动化帐户

在自动化帐户范围内分配了自动化操作员角色的用户,在查看分配到的自动化帐户时,只能查看在自动化帐户中创建的 Runbook、Runbook 作业和计划的列表。 此用户无法查看这些项的定义。 该用户可以启动、停止、暂停、恢复或计划 Runbook 作业。 但是,此用户无法访问其他自动化资源,例如配置、混合 Runbook 辅助角色组或 DSC 节点。

No access to resources

为 runbook 配置 Azure RBAC

通过 Azure 自动化,可以将 Azure 角色分配给特定的 runbook。 若要执行此操作,运行以下脚本将用户添加到特定 Runbook。 自动化帐户管理员或租户管理员可以运行此脚本。

$rgName = "<Resource Group Name>" # Resource Group name for the Automation account
$automationAccountName ="<Automation account name>" # Name of the Automation account
$rbName = "<Name of Runbook>" # Name of the runbook
$userId = "<User ObjectId>" # Azure Active Directory (AAD) user's ObjectId from the directory

# Gets the Automation account resource
$aa = Get-AzResource -ResourceGroupName $rgName -ResourceType "Microsoft.Automation/automationAccounts" -ResourceName $automationAccountName

# Get the Runbook resource
$rb = Get-AzResource -ResourceGroupName $rgName -ResourceType "Microsoft.Automation/automationAccounts/runbooks" -ResourceName "$rbName"

# The Automation Job Operator role only needs to be run once per user.
New-AzRoleAssignment -ObjectId $userId -RoleDefinitionName "Automation Job Operator" -Scope $aa.ResourceId

# Adds the user to the Automation Runbook Operator role to the Runbook scope
New-AzRoleAssignment -ObjectId $userId -RoleDefinitionName "Automation Runbook Operator" -Scope $rb.ResourceId

运行脚本后,让用户登录到 Azure 门户并选择“所有资源”。 在列表中,用户可以看到以自动化 Runbook 操作员身份添加的 Runbook。

Runbook Azure RBAC in the portal

自动化操作员角色的用户体验 - Runbook

在 Runbook 范围内分配了自动化操作员角色的用户,在查看分配到的 Runbook 时,只能启动 Runbook 和查看 Runbook 作业。

Only has access to start

后续步骤