告警管理自定义RAM授权策略

更新时间:
复制为 MD 格式

本文介绍如何通过自定义策略为RAM用户授权。

前提条件

  • 在创建自定义授权策略时,您需要了解授权策略语言的基本结构和语法。更多信息,请参见权限策略基本元素

  • 已为RAM用户添加系统权限策略ReadOnlyAccessAliyunARMSReadOnlyAccess,用于登录ARMS控制台。

    重要

    为了实现对ARMS所有功能的只读权限,除了添加AliyunARMSReadOnlyAccess权限策略外,还需要为特定的资源组配置ReadTraceApp权限,否则ARMS将无法展示资源组鉴权下的应用列表。

  • 请确认RAM用户没有添加系统权限策略AliyunARMSFullAccess。

背景信息

ARMS提供粗粒度的系统授权策略,如果这种粗粒度授权策略不能满足您的需要,那么您可以创建自定义授权策略。例如,您想控制RAM用户对告警管理指定功能的操作权限,则必须使用自定义授权策略才能满足这种细粒度要求。

步骤一:创建自定义权限策略

  1. 使用RAM管理员登录RAM控制台

  2. 在左侧导航栏,选择权限管理 > 权限策略

  3. 权限策略页面,单击创建权限策略

    image

  4. 创建权限策略页面,单击脚本编辑页签。在策略文档中编写您的授权策略内容。

    授权策略内容中各元素说明,请参见权限策略元素说明

    示例:告警管理所有功能的读写权限。

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "arms:Describe*",
                    "arms:List*",
                    "arms:Get*",
                    "arms:Search*",
                    "arms:Check*",
                    "arms:Query*",
                    "arms:*Alert*",
                    "arms:*Contact*",
                    "arms:*Webhook*",
                    "arms:*PrometheusRule*",
                    "arms:*Alarm*",
                    "arms:*Incident*",
                    "arms:*DispatchRule*",
                    "arms:*NotificationPolicy*",
                    "arms:*EventBridgeIntegration*",
                    "arms:*PrometheusAlertTemplate*",
                    "arms:*IncidentWorkFlow*",
                    "arms:*EscalationPolicy*",
                    "arms:UpdateAlertCommercialConfig",
                    "arms:*OnCallSchedule",
                    "arms:UpdateIntegration",
                    "arms:ListIntegration"
                ],
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
  5. 单击页面上方的优化策略,然后单击执行,对权限策略内容进行高级优化。

    高级权限策略优化功能会完成以下任务:

    • 拆分不兼容操作的资源或条件。

    • 收缩资源到更小范围。

    • 去重或合并语句。

  6. 创建权限策略页面,单击确定

  7. 创建权限策略对话框,输入策略名称备注,然后单击确定

步骤二:为RAM用户添加权限策略

控制台

RAM控制台提供两种为RAM用户授权的操作入口。两者均支持单个或批量授权,请按操作习惯选择:

  • 用户页面发起:在用户列表中勾选目标用户后,授权面板会自动选定授权主体。适合“以用户为中心”的视角。

  • 授权页面发起:需手动选择授权主体,但可看到账号下所有授权记录的总览。适合“以权限为中心”的视角。

说明

大规模批量管理建议:当需要为多名职责相同的 RAM 用户授予相同权限时,建议先将这些用户加入同一用户组,再为用户组授权(控制台路径:身份管理 > 用户组),比为每个用户单独授权更易维护。

从用户页面发起

  1. 登录RAM控制台

  2. 在左侧导航栏选择身份管理 > 用户

  3. 用户页面,找到已经创建好的RAM用户,单击操作列的新增授权

    您也可以选中多个RAM用户,单击用户列表下方的新增授权,为多个RAM用户新增授权。

  4. 新增授权面板,为RAM用户添加权限。

    • 选择资源范围

      • 账号级别:权限在当前阿里云账号内全部资源生效。适用于通用、无需按资源组隔离的场景。

      • 资源组级别:权限仅在指定资源组内生效。适用于多团队共用一个账号、需按资源组隔离权限的场景。如果RAM用户被授予了资源组级别的权限,该用户登录控制台后,必须在顶部导航栏将资源范围切换到被授权的资源组,才能正常访问和管理该资源组内的资源。

        说明
        1. 系统会自动标识出高风险系统策略(例如:AdministratorAccess、AliyunRAMFullAccess等),这些策略通常包含对所有云资源的完全控制权限或对访问控制(RAM)的完全管理权限等,请谨慎授予

        2. 资源组授权示例,请参见使用资源组限制RAM用户管理指定的ECS实例

    • 选择授权主体

      授权主体即需要添加权限的RAM用户。如果是从用户页面发起,系统会自动选择当前的RAM用户。如果是从授权页面发起,需要手动选择RAM用户,支持批量选中多个。

    • 选择权限策略

      • 系统策略:可以直接搜索并选择。搜索技巧:您可以利用搜索框快速定位策略。支持按产品名称(如ECSOSS)、权限级别(如ReadOnlyFullAccess)或完整的策略名称进行模糊搜索。

      • 自定义策略:需要先创建自定义权限策略后再来授权。

    • (可选)填写备注:建议填写授权原因或场景描述,便于后续审计回溯,例如"OSS 上传任务专项授权"。

    • 提交授权:单击确认新增授权

  5. 确认授权绑定操作结果,单击关闭

从授权页面发起

  1. 登录RAM控制台

  2. 在左侧导航栏,选择权限管理 > 授权

  3. 授权页面,单击新增授权

  4. 新增授权面板,为RAM用户添加权限。具体内容同上。

  5. 确认授权绑定操作结果,单击关闭

OpenAPI

授予自定义策略

  1. 调用CreatePolicy创建一个自定义策略,可以参考权限策略基本元素权限策略示例库概览

  2. 调用AttachPolicyToUserRAM用户授予账号级别的权限,注意此处PolicyType选择Custom

    或者调用AttachPolicyRAM用户授予资源组级别的权限。

授予系统策略

权限策略元素说明

效果(Effect)

授权效果包括两种:允许(Allow)和拒绝(Deny)。

操作(Action)

Action

权限说明

arms:*Alert*

告警相关的读写权限。

arms:UpdateIntegration

更新集成的权限。

arms:*EventBridgeIntegration*

EventBridge集成的读写权限。

arms:*PrometheusRule*

Prometheus告警规则的读写权限。

arms:*PrometheusAlertTemplate*

Prometheus告警规则模板的读写权限。

arms:*Incident*

告警事件相关的读写权限。

arms:*Contact*

联系人、联系人组相关的读写权限。

arms:*Webhook*

Webhook相关的读写权限。

arms:*IncidentWorkFlow*

事件处理流相关的读写权限。

arms:*NotificationPolicy*

通知策略的读写权限。

arms:*EscalationPolicy*

升级策略的读写权限。

arms:*OnCallSchedule

排班管理的读写权限。

arms:UpdateAlertCommercialConfig

更新告警国际化配置的权限。

arms:*Alarm*

旧版告警相关的读写权限。

arms:*DispatchRule*

旧版告警规则的读写权限。