全部产品
Search
文档中心

应用实时监控服务ARMS:应用监控自定义RAM授权策略

更新时间:Oct 30, 2023

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

前提条件

重要

2022年04月01日0点之后开通ARMS的阿里云账号默认支持此功能,2022年04月01日0点之前开通ARMS的阿里云账号需要联系钉钉服务号arms160804协助开通此功能。

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

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

    重要

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

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

背景信息

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

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

  1. 使用阿里云账号(主账号)或具有管理权限的RAM用户登录RAM控制台

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

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

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

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

    示例:杭州地域标签为key0: value01key0: value02应用的只读权限。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "arms:ReadTraceApp"
          ],
          "Resource": "acs:arms:cn-hangzhou:*:armsapp/*",
          "Effect": "Allow",
          "Condition": {
            "StringEquals": {
              "arms:tag/key0":[
                "value01",
                "value02"
              ]
            }
          }
        }
      ]
    }
  5. 编写完成后,单击下一步:编辑基本信息

  6. 输入权限策略名称备注

  7. 单击确定

步骤二:添加权限策略

为RAM用户添加权限策略

  1. 使用阿里云账号(主账号)或具有管理权限的RAM用户登录RAM控制台

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

  3. 用户页面,单击目标RAM用户操作列的添加权限

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

    1. 选择授权应用范围。

      • 整个云账号:权限在当前阿里云账号内生效。

      • 指定资源组:权限在指定的资源组内生效。

        说明

        指定资源组授权生效的前提是该云服务已支持资源组。更多信息,请参见支持资源组的云服务

    2. 指定授权主体。

      授权主体即需要添加权限的RAM用户。

    3. 选择权限策略。

      权限策略包括系统策略和自定义策略两种,您可以根据需要选择对应的权限策略。

      说明

      每次最多绑定5条策略,如需绑定更多策略,请分多次操作。

  5. 单击确定

  6. 单击完成

为RAM角色添加权限策略

  1. 使用阿里云账号(主账号)或具有管理权限的RAM用户登录RAM控制台

  2. 在左侧导航栏,选择身份管理 > 角色

  3. 角色页面,单击目标RAM角色操作列的添加权限

  4. 添加权限面板,为RAM角色添加权限。

    1. 选择授权范围。

      • 整个云账号:权限在当前阿里云账号内生效。

      • 指定资源组:权限在指定的资源组内生效。

        说明

        指定资源组授权生效的前提是该云服务已支持资源组。更多信息,请参见支持资源组的云服务

    2. 指定授权主体。

      授权主体即需要授权的RAM角色,系统会自动填入当前的RAM角色,您也可以添加其他RAM角色。

    3. 选择权限策略。

      说明

      每次最多绑定5条策略,如需绑定更多策略,请分次操作。

  5. 单击确定

  6. 单击完成

为RAM角色添加权限策略后,您可以使用RAM角色登录ARMS控制台。具体操作,请参见使用RAM角色

权限策略元素说明

效果(Effect)

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

操作(Action)

Action

权限说明

arms:ReadTraceApp

应用监控只读权限,用于查看应用概览、接口调用、应用诊断等信息。

arms:EditTraceApp

应用监控编辑权限,即应用自定义配置和设置自定义参数的权限。

arms:DeleteTraceApp

应用监控删除权限,即删除应用的权限。

资源(Resource)

用于指定被授权的具体对象。

格式如下:

"Resource": [
     "acs:arms:<regionid>:*:armsapp/<appname>"
 ]
  • 请将<regionid>替换为指定地域ID。如果当前授权针对所有地域,可替换为*

  • 请将<appname>替换指定应用名称。如果当前授权针对所有应用,可替换为*;如果当前授权针对的应用名称拥有相同前缀,可替换为名称前缀*,例如k8s*

条件(Condition)

条件块(Condition Block)由一个或多个条件子句构成。一个条件子句由条件操作类型、条件关键字和条件值组成。 条件块判断逻辑

逻辑说明:

  • 条件满足:一个条件关键字可以指定一个或多个值,在条件检查时,如果条件关键字的值与指定值中的某一个相同,即可判定条件满足。

  • 条件子句满足:同一条件操作类型的条件子句下,若有多个条件关键字,所有条件关键字必须同时满足,才能判定该条件子句满足。

  • 条件块满足:条件块下的所有条件子句同时满足的情况下,才能判定该条件块满足。

应用监控支持通过标签键值对指定被授权的对象。设置应用标签的操作,请参见标签管理

  • 标签键值对支持的条件操作类型:

    • StringEquals

    • StringNotEquals

    • StringEqualsIgnoreCase

    • StringNotEqualsIgnoreCase

    • StringLike

    • StringNotLike

  • 条件关键字:arms:tag。

  • 条件关键值:标签键值对。

示例:对标签键值对等于key0: value01key0: value02的应用授权。

"Condition": {
  "StringEquals": {       //条件操作类型。
    "arms:tag/key0":[      //条件关键字
      "value01",        //条件关键值
      "value02"
    ]
  }
}