您可以创建RAM用户并为其授权,实现不同RAM用户拥有不同资源访问权限的目的。使用RAM用户可以帮助您有效避免AccessKey或者密码泄露导致的安全问题。RAM用户使用媒体处理需要授权的产品包括:媒体处理MPS、对象存储OSS、访问控制RAM、内容分发CDN、轻量消息队列(原 MNS)。本文介绍如何创建一个RAM用户,并授权使用媒体处理所需的相应权限。
如果在使用MPS服务时权限不足会导致报错User not authorized to operate on the specified resource
,请检查您使用的RAM用户是否拥有MPS的完整控制权限,或按照下文内容申请RAM用户权限。
操作步骤
使用阿里云账号(主账号)或RAM管理员登录RAM控制台。
在左侧导航栏,选择 。
在用户页面,单击创建用户。
在创建用户页面的用户账号信息区域,设置用户基本信息。
登录名称:可包含英文字母、数字、半角句号(.)、短划线(-)和下划线(_),最多64个字符。
显示名称:最多包含128个字符或汉字。
标签:单击,然后输入标签键和标签值。为RAM用户绑定标签,便于后续基于标签的用户管理。
说明单击添加用户,可以批量创建多个RAM用户。
访问方式选中OpenAPI 调用访问。
单击确定并完成手机验证,系统会自动生成RAM用户的AccessKey。
单击操作列的复制,保存用户登录名称、登录密码、AccessKey等用户信息。
重要请务必保存好登录密码和AccessKey信息(AccessKey ID和AccessKey Secret),否则后续无法查询。
返回用户列表页面,单击已创建RAM用户操作列的添加权限。
在新增授权面板,配置授权信息。
单击确认新增授权。
权限策略说明
使用媒体处理MPS,您必须授权的产品为媒体处理MPS、对象存储OSS,可选授权的产品为轻量消息队列(原 MNS)、播放加速CDN。其中,媒体处理MPS必须使用系统策略授权,其他产品支持系统策略或创建自定义策略。
所需授权产品 | 说明 | 是否必选 | 使用系统策略 | 使用自定义策略 |
媒体处理MPS | 使用媒体处理必须授予MTS全部权限 | 是 | MPS全部读写权限:AliyunMTSFullAccess | 不支持 |
对象存储OSS | 使用媒体处理必须授予OSS读写权限 | 是 | OSS全部读写权限:AliyunOSSFullAccess | 支持,请参见下文先创建,再授权 |
轻量消息队列(原 MNS) | 若使用轻量消息队列(原 MNS)订阅任务信息则必须授予MNS权限 | 否,可选 | MNS全部读写权限:AliyunMNSFullAccess | |
播放加速CDN | 若使用媒体处理配置播放加速则必须授予CDN权限 | 否,可选 | CDN全部读写权限:AliyunCDNFullAccess |
创建自定义策略
使用阿里云账号登录RAM控制台。
在左侧导航栏,选择 。
单击创建权限策略,选择脚本编辑页签。
设置权限策略。请填写相关参数,填写完成后单击继续编辑脚本信息。
参数
说明
策略内容
选择导入系统策略,或将下文中您需要的策略代码复制到代码框中。
输入名称、备注等基本信息。
单击确定完成自定义策略创建。
限制访问MPS的IP地址、时间段示例
RAM用户只能通过192.0.2.0/24和203.0.113.2这两个IP地址访问MPS。
RAM用户只能在特定时间段(北京时间2019年8月12日17:00之前)访问MPS。
{
"Version": "1",
"Statement": [{
"Effect": "Allow",
"Action": [
"mts:*",
"mts-inner:*"
],
"Resource": "*",
"Condition": {
"NotIpAddress": {
"acs:SourceIp": [
"192.0.2.0/24",
"203.0.113.2"
]},
"DateLessThan": {
"acs:CurrentTime": "2019-08-12T17:00:00+08:00"
}
}
]
}
OSS自定义策略示例
对指定的输入、输出Bucket有所有操作权限。
查看Bucket列表权限。
{
"Version": "1",
"Statement": [{
"Effect": "Allow",
"Action": [
"oss:ListBuckets"
],
"Resource": "*"
}, {
"Effect": "Allow",
"Action": [
"oss:*"
],
"Resource": [
"acs:oss:*:*:$InputBucket",
"acs:oss:*:*:$InputBucket/*",
"acs:oss:*:*:$OutputBucket",
"acs:oss:*:*:$OutputBucket/*
]
}
]
}
参数字段说明:
参数 | 说明 |
oss:ListBuckets | 是RAM账号通过可视化工具操作OSS必备的权限,RAM账号登录后可查看到所有的Bucket列表。 但是仅能操作后面赋权的$InputBucket和$OutputBucket这两个Bucket。并且该权限暂时仅支持赋权给所有的Bucket,不支持赋权给某个Bucket。 |
oss:* | 代表OSS的所有权限。您还可以按需替换为以下更具体的操作权限。 "oss:GetObject", "oss:PutObject", "oss:GetObjectAcl", "oss:PutObjectAcl", "oss:AbortMultipartUpload", "oss:ListParts", "oss:RestoreObject", "oss:GetVodPlaylist", "oss:PostVodPlaylist", "oss:PublishRtmpStream", "oss:ListObjectVersions", "oss:GetObjectVersion", "oss:GetObjectVersionAcl", "oss:RestoreObjectVersion" |
$InputBucket | 请替换成MPS输入文件所在Bucket。 |
$OutputBucket | 请替换成MPS输出文件所在Bucket。 |
更多示例,请参见Bucket Policy常见示例。
RAM授权策略示例
授权可查看角色的权限策略。
{
"Version": "1",
"Statement": [{
"Effect": "Allow",
"Action": [
"ram:ListPoliciesForRole"
],
"Resource": "*"
}
]
}
MNS自定义策略示例
授权可查看所有的Queue、Topic列表。
但仅对指定的$QueueName,$TopicName有全部读写权限。
{
"Version": "1",
"Statement": [{
"Effect":"Allow",
"Action":[
"mns:ListQueue",
"mns:ListTopic",
"mns:GetQueueAttributes",
"mns:GetTopicAttributes"
],
"Resource":"acs:mns:*:*:*"
}, {
"Effect": "Allow",
"Action": "mns:*",
"Resource": [
"acs:mns:$Region:$Uid:/queues/$QueueName",
"acs:mns:$Region:$Uid:/topics/$TopicName"
]
}
]
}
参数字段说明:
参数 | 说明 |
$QueueName | MNS队列名称,在管道或工作流上要绑定的队列名称。 |
$TopicName | MNS通知主题名称,在管道或工作流上要绑定的队列名称。 |
更多示例,请参见授权策略和示例。
CDN授权策略示例
授权可查看所有的CDN加速域名。
但仅对指定的CDN加速域名$DomainName有全部读写权限。
{
"Version": "1",
"Statement": [{
"Effect": "Allow",
"Action": "cdn:*",
"Resource": "acs:cdn:*:$Uid:domain/$DomainName"
},{
"Effect": "Allow",
"Action": "cdn:Describe*",
"Resource": "*"
}
]
}
参数字段说明:
参数 | 说明 |
$DomainName | CDN加速域名名称。 |
后续步骤
创建RAM用户并授权完成后,可以使用RAM用户登录控制台。具体操作,请参见RAM用户登录阿里云控制台。