概述
访问策略可用于授予访问前端性能监控相关的权限。访问策略使用基于 JSON 的访问策略语言。您可以通过访问策略语言授权指定委托人(principal)对指定的前端性能监控资源执行指定的操作。
策略语法
CAM 策略:
{"version":"2.0","statement":[{"effect":"effect","action":["action"],"resource":["resource"],"condition": {"key":{"value"}}}]}
元素用法
版本 version 是必填项,目前仅允许值为"2.0"。
语句 statement 是用来描述一条或多条权限的详细信息。该元素包括 effect、action、resource,condition 等多个其他元素的权限或权限集合。一条策略有且仅有一个 statement 元素。
ⅰ. 影响 effect 描述声明产生的结果是“允许”还是“显式拒绝”。包括 allow (允许)和 deny (显式拒绝)两种情况。该元素是必填项。
ⅱ. 操作 action 用来描述允许或拒绝的操作。操作可以是 API (以 name 前缀描述)或者功能集(一组特定的 API,以 permid 前缀描述)。该元素是必填项。
ⅲ. 资源 resource 描述授权的具体数据。资源是用六段式描述。每款产品的资源定义详情会有所区别。有关如何指定资源的信息,请参阅您编写的资源声明所对应的产品文档。该元素是必填项。
ⅳ. 生效条件 condition 描述策略生效的约束条件。条件包括操作符、操作键和操作值组成。条件值可包括时间、IP 地址等信息。有些服务允许您在条件中指定其他值。该元素是非必填项。
指定效力
如果没有显式授予(允许)对资源的访问权限,则隐式拒绝访问。同时,也可以显式拒绝(deny)对资源的访问,这样可确保用户无法访问该资源,即使有其他策略授予了访问权限的情况下也无法访问。下面是指定允许效力的示例:
"effect" : "allow"
指定操作
前端性能监控定义了可在策略中指定一类控制台的操作,指定的操作按照操作性质分为读取部分接口(apm:Describe*)和全部接口(apm:*)。
指定允许操作的示例如下:
"action": ["name/apm:Describe*"]
指定资源
资源(resource)元素描述一个或多个操作对象,如前端性能监控资源等。所有资源均可采用下述的六段式描述方式。
qcs:project_id:service_type:region:account:resource
参数说明如下:
参数 | 描述 | 是否必选 |
qcs | 是 qcloud service 的简称,表示是腾讯云的云服务 | 是 |
project_id | 描述应用信息,仅为了兼容 CAM 早期逻辑,一般不填 | 否 |
service_type | 产品简称,这里为 rum | 是 |
region | 描述地域信息 | 是 |
account | 描述资源拥有者的主账号信息,即主账号的 ID,表示为 uin/${OwnerUin} ,如 uin/100000000001 | 是 |
resource | 描述具体资源详情,前缀为 instance | 是 |
下面是前端性能监控的六段式示例:
"resource":["qcs::rum::uin/1250000000:Instance/rum-vpasY123"]
实际案例
基于资源 ID,分配指定资源的读写权限,主账号ID 为 1250000000。
示例:为子用户分配查询业务系统(ID:rum-vpasY123)权限。
{"version": "2.0","statement": [{"effect": "allow","action": ["rum:DescribeTawInstances"],"resource": ["qcs::rum::uin/1250000000:Instance/rum-vpasY123"]}]}
支持资源级授权的 API 列表
API 操作名称 | API 描述 |
DescribeData | 获取 QueryData |
DescribeError | 获取首页错误信息 |
DescribeLogList | 获取 CLS 日志列表 |
DescribeProjects | 获取应用列表 |
DescribePvList | 获取 PV 列表 |
DescribeScores | 获取首页分数列表 |
DescribeTawAreas | 查询片区信息 |
DescribeTawInstances | 查询业务系统 |
DescribeUvList | 获取 UV 列表 |
DescribeWhitelists | 获取白名单列表 |
CreateProject | 创建应用 |
CreateStarProject | 添加星标应用 |
CreateTawInstance | 创建业务系统 |
CreateWhitelist | 创建白名单 |