数据万象 API 授权策略使用指引

数据万象(Cloud Infinite,简称CI)使用临时密钥服务时,不同的 API 操作需要不同的操作权限,而且可以同时指定一个操作或一序列操作。

相关产品
数据万象 产品页,含版本规格、价格与购买入口。

注意:在给子用户或协作者授予 API 操作权限时,请务必根据业务需要,按照最小权限原则进行授权。如果你直接授予子用户或者协作者所有资源(resource:*),或所有操作(action:*)权限,则存在由于权限范围过大导致数据安全风险。

一、概述

CI 的API 授权策略(policy)是一种 JSON 字符串。例如,授予 APPID 为1250000000,地域为 ap-beijing,存储桶为 examplebucket-1250000000 ,路径前缀为 doc 的媒体处理、文件压缩、文档预览任务创建操作的权限如下所示:

{ "version": "2.0", "statement": [{ "action": [ //创建文件处理任务 "ci:CreateFileProcessJobs", //创建文档预览任务 "ci:CreateDocProcessJobs", //创建媒体任务 "ci:CreateMediaJobs", ], "effect": "allow", "resource": [ "qcs::ci:ap-beijing:uid/1250000000:bucket/examplebucket-1250000000/doc/*" ] } ]}

二、授权策略(policy)元素说明

名称 描述
version 策略语法版本,默认为2.0。
effect 有 allow (允许)和 deny (显式拒绝)两种情况。
resource 授权操作的具体数据,可以是任意资源、指定路径前缀的资源、指定绝对路径的资源或它们的组合。规则为: qcs::ci:{region}:uid/{appid}:bucket/{bucket}/{path}列举几种典型的授权场景:
1、允许访问所有对象:"*"
2、允许访问指定的对象:"a/a1.txt", "b/b1.txt"
3、允许访问指定前缀的对象:"a*", "a/*", "b/*"注意:若路径为中文,则保持中文输入即可。例如examplebucket-1250000000/文件夹/文件名.txt。
action 此处是指 CI 的 API,根据需求指定一个或者一序列操作的组合或所有操作(*),例如 action 为 ci:CreateMediaJobs,请注意区分英文大小写。
condition 约束条件,可以不填,具体说明请参见 condition 说明。

有关 CI 的 API 授权策略,请参见 数据万象全局访问管理。

三、媒体处理任务

以媒体转码接口为例,API 接口为 CreateMediaJobs,若授予其操作权限,则策略的 action 为 ci:CreateMediaJobs。

媒体任务中涉及到以下几种权限的接口 :

·cos:GetObject 获取cos资源权限,

·ci:CreateMediaJobs 创建任务,

·ci:CreateMediaTemplate 创建模板,

·ci:UpdateMediaTemplate 更新模板,

·ci:DescribeMediaJob 任务查询,

·ci:DescribeMediaJobs 任务列表查询,

·ci:CancelMediaJob 任务取消。

四、示例

授予查询存储桶列表操作权限的策略详细内容如下:

{ "version": "2.0", "statement": [ { "action": [ "cos:GetObject", "ci:CreateMediaJobs", "ci:CreateMediaTemplate", "ci:UpdateMediaTemplate", "ci:DescribeMediaJob", "ci:DescribeMediaJobs", "ci:CancelMediaJob" ], "effect": "allow", "resource": [ "qcs::ci:ap-beijing:uid/1250000000:bucket/examplebucket-1250000000/*" ] } ]}

五、推荐使用 SDK

数据万象 SDK 提供了完整的临时密钥使用 Demo、集成服务接口、计算签名等能力。你可通过 SDK 方便快捷地调用接口,点此查看 SDK 文档。

赞 (0)
上一篇 5天前
下一篇 5天前