You need to enable JavaScript to run this app.
导航
创建自定义权限策略
最近更新时间:2024.07.29 11:18:54首次发布时间:2024.07.29 11:18:54

如果视频点播的系统权限策略不能满足您的需求,您可以通过创建自定义权限策略实现精细化权限管理。

前提条件

阅读本文前,请确保您已了解火山引擎访问管理的核心概念,详见账号与授权概述

创建方式

  • 通过脚本编辑模式:提供 JSON 脚本编辑界面。您需要按照权限策略语法和结构编写自定义权限策略。该方式使用灵活,适用于对权限策略语法比较熟悉的用户。
  • 通过导入系统策略:您可以导入一个系统策略模板,然后基于规范化的系统策略模板修改适合实际业务的内容,更加方便快捷地创建自定义权限策略。

操作步骤

  1. 登录访问控制控制台
  2. 单击左侧导航栏策略管理
  3. 单击新建自定义策略
  4. 输入策略名称和备注。
  5. 单击 JSON 编辑器页签,输入策略内容。策略语法的详细说明,请见下方策略语法规范
    图片
  6. 单击提交

策略语法规范

火山引擎访问控制权限策略通过 JSON 格式的 PolicyDocument 表达,由以下几个元素组成:

元素名

说明

Statement

策略声明,对策略语句进行封装。

Effect

指定策略所产生的结果是 “允许” 还是 “显式拒绝”,可选项为:

  • Allow(允许)
  • Deny(拒绝)

Action

指定具体的操作,与云服务 API 的 Action 含义相同,因此在描述 Action 时需要添加前缀指定所属的云服务,Action 部分支持使用 *? 两种通配符。视频点播服务的前缀为 vod

Resource

指定 Action 作用的资源。资源以 Trn 的形式配置,格式为:trn: {service}:{region}:{account}:{resourceType}/{spaceName},其中:

  • trn:固定前缀
  • {service}:云服务代码。视频点播固定为 vod
  • {region}:资源所在的地域。对于不区分地域的全局资源,此参数值为空。
  • {account}:资源所属的火山引擎账号 ID,可在火山引擎控制台右上角获取。
  • {resourceType}:资源类型。对于视频点播,可设为 space(空间)。
  • {spaceName}:点播空间名称。

策略示例

策略名称示例

策略内容示例

${产品英文名}FullAccess

需要视频点播服务内全部 API 的权限。对于全部 API,可以直接用通配符 * 来表达。示例如下:

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "vod:*"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

${产品英文名}ReadOnlyAccess

仅包含服务内全部读接口的权限,而不包含写接口的权限。基于接口命名规范,数据读取接口命名以 List 和 Get 开头。示例如下:

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "vod:List*",
        "vod:Get*"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

${产品英文名}${功能模块名或角色名}Access

需要包含指定模块内的接口的权限,可以使用通配符来表达重复的部分。例如接口名中间部分都包含 Resource 字段,因此可以这样来表达:

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "vod:*Resource*"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

${产品英文名}ProductFullAccess

仅允许访问指定空间:

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "vod:*"
      ],
      "Resource": [
           "trn:vod::21000xxxxx:space/1633341028192xxxxxx"
      ]
    }
  ]
}