创建RAM用户并授权

您可以创建RAM用户并为其授权,实现不同RAM用户拥有不同资源访问权限的目的。使用RAM用户可以帮助您有效避免AccessKey或者密码泄露导致的安全问题。RAM用户使用媒体处理需要授权的产品包括:媒体处理MPS、对象存储OSS、访问控制RAM、内容分发CDN、轻量消息队列(原 MNS)。本文介绍如何创建一个RAM用户,并授权使用媒体处理所需的相应权限。

说明

如果在使用MPS服务时权限不足会导致报错User not authorized to operate on the specified resource,请检查您使用的RAM用户是否拥有MPS的完整控制权限,或按照下文内容申请RAM用户权限。

操作步骤

  1. 使用阿里云账号(主账号)或RAM管理员登录RAM控制台

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

  3. 用户页面,单击创建用户

  4. 创建用户页面的用户账号信息区域,设置用户基本信息。

    • 登录名称:可包含英文字母、数字、半角句号(.)、短划线(-)和下划线(_),最多64个字符。

    • 显示名称:最多包含128个字符或汉字。

    • 标签:单击edit,然后输入标签键和标签值。为RAM用户绑定标签,便于后续基于标签的用户管理。

    说明

    单击添加用户,可以批量创建多个RAM用户。

  5. 访问方式选中OpenAPI 调用访问

  6. 单击确定并完成手机验证,系统会自动生成RAM用户的AccessKey。

  7. 单击操作列的复制,保存用户登录名称、登录密码、AccessKey等用户信息。

    重要

    请务必保存好登录密码和AccessKey信息(AccessKey ID和AccessKey Secret),否则后续无法查询。

  8. 返回用户列表页面,单击已创建RAM用户操作列的添加权限

  9. 新增授权面板,配置授权信息。

    1. 选择授权应用范围。

      类型

      说明

      整个云账号

      权限在当前阿里云账号内生效。

      指定资源组

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

    2. 输入授权主体。

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

    3. 选择权限策略。请参见权限策略说明,了解需要授权的产品及支持的权限策略。

      • 使用系统策略

        请在输入框内输入策略名称进行搜索,然后点击结果中的名称进行选择。

      • 使用自定义策略

        使用自定义策略可让您更精细化的管理账号权限,请先参见下文完成创建,再选择权限。具体操作,请参见创建自定义策略

  1. 单击确认新增授权

权限策略说明

使用媒体处理MPS,您必须授权的产品为媒体处理MPS、对象存储OSS,可选授权的产品为轻量消息队列(原 MNS)、播放加速CDN。其中,媒体处理MPS必须使用系统策略授权,其他产品支持系统策略创建自定义策略

所需授权产品

说明

是否必选

使用系统策略

使用自定义策略

媒体处理MPS

使用媒体处理必须授予MTS全部权限

MPS全部读写权限:AliyunMTSFullAccess

不支持

对象存储OSS

使用媒体处理必须授予OSS读写权限

OSS全部读写权限:AliyunOSSFullAccess

支持,请参见下文先创建,再授权

轻量消息队列(原 MNS)

若使用轻量消息队列(原 MNS)订阅任务信息则必须授予MNS权限

否,可选

MNS全部读写权限:AliyunMNSFullAccess

播放加速CDN

若使用媒体处理配置播放加速则必须授予CDN权限

否,可选

CDN全部读写权限:AliyunCDNFullAccess

创建自定义策略

  1. 使用阿里云账号登录RAM控制台

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

  3. 单击创建权限策略,选择脚本编辑页签。

  4. 设置权限策略。请填写相关参数,填写完成后单击继续编辑脚本信息

    参数

    说明

    策略内容

    选择导入系统策略,或将下文中您需要的策略代码复制到代码框中。

  1. 输入名称备注等基本信息。

  2. 单击确定完成自定义策略创建。

限制访问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用户登录阿里云控制台