创建自定义权限策略

如果视频点播的系统权限策略不能满足您的需求,您可以通过创建自定义权限策略实现精细化权限管理,例如仅允许指定用户访问视频点播中的资源、仅授予使用媒体审核的权限等。

创建方式

  • 通过可视化编辑模式创建自定义权限策略

    RAM提供所见即所得的可视化编辑界面,您只需选择效果、云服务、操作、资源和条件,就可以生成自定义权限策略。同时,提供的智能校验功能,帮助您提高权限策略的正确性和有效性。该方式操作简单,易于上手。

  • 通过脚本编辑模式创建自定义权限策略

    RAM提供JSON脚本编辑界面,您需要按照权限策略语法和结构编写自定义权限策略。该方式使用灵活,适用于对权限策略语法比较熟悉的用户。

  • 通过导入模板创建自定义权限策略

    基于长期的业务实践,RAM提供了常见场景的权限策略模板。例如:系统管理员、财务人员、网络管理员等。您只需要导入合适的权限策略模板,然后基于模板进行简单修改,就能一键轻松创建自定义策略。

  • 通过导入系统策略创建自定义权限策略

    您可以通过导入一个系统策略模板,然后基于规范化的系统策略模板修改适合实际业务的内容,更加方便快捷地创建自定义权限策略。

如何创建

说明

下述示例以脚本配置方式举例说明。

前提条件

当采用脚本配置方式自定义授权时,请务必先了解权限策略的基本元素和语法结构,请参见权限策略基本元素权限策略语法和结构

操作步骤

  1. 使用阿里云账号(主账号)或具有管理权限的RAM用户登录RAM控制台

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

  3. 权限策略页面,单击创建权限策略

  4. 创建权限策略页面,单击脚本编辑页签。

  5. 输入权限策略内容,然后单击继续编辑基本信息

    关于权限策略语法结构的详情,请参见权限策略语法和结构

  6. 输入权限策略名称备注

  7. 检查并优化权限策略内容。

    • 基础权限策略优化

      系统会对您添加的权限策略语句自动进行基础优化。基础权限策略优化会完成以下任务:

      • 删除不必要的条件。

      • 删除不必要的数组。

    • 可选:高级权限策略优化

      您可以将鼠标悬浮在可选:高级策略优化上,单击执行,对权限策略内容进行高级优化。高级权限策略优化功能会完成以下任务:

      • 拆分不兼容操作的资源或条件。

      • 收缩资源到更小范围。

      • 去重或合并语句。

  8. 单击确定

自定义权限策略内容示例

说明

下述示例中Action下列举的API操作名称请从视频点播API概览对象存储OSS API概览中获取。

禁止上传Object ACL权限为公共读的文件到OSS自有Bucket中

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "oss:PostObject",
        "oss:CopyObject",
        "oss:AppendObject",
        "oss:InitiateMultipartUpload",
        "oss:MultipartUpload",
        "oss:UploadPart",
        "oss:UploadPartCopy",
        "oss:PutObjectAcl",
        "oss:PutObject"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "oss:x-oss-object-acl": [
            "public-read-write",
            "public-read"
          ]
        }
      }
    }
  ]
}

只允许IP来源为192.168.XX.XX的请求者访问播放接口

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "vod:GetPlayInfo",
                "vod:GetVideoPlayAuth",
                "vod:GetVideoPlayInfo",
                "vod:GetVideoInfo"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Condition":
             {
                "IpAddress":
                 {
                    "acs:SourceIp": "192.168.XX.XX"
                  }
              }
        }
    ]
}

授予使用媒体审核的权限

说明

为保证权限完整性,当媒体审核功能的API分组下增加了新的接口时,您需要同步更新下述示例中的Action列表。

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "vod:SetAuditSecurityIp",
                "vod:ListAuditSecurityIp",
                "vod:CreateAudit",
                "vod:GetAuditHistory",
                "vod:SubmitAIMediaAuditJob",
                "vod:GetAIMediaAuditJob",
                "vod:GetMediaAuditResult",
                "vod:GetMediaAuditResultDetail",
                "vod:GetMediaAuditResultTimeline"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

授予使用云剪辑的权限

说明

为保证权限完整性,当媒体审核功能的API分组下增加了新的接口时,您需要同步更新下述示例中的Action列表。

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "vod:ProduceEditingProjectVideo",
                "vod:AddEditingProject",
                "vod:UpdateEditingProject",
                "vod:DeleteEditingProject",
                "vod:GetEditingProject",
                "vod:SearchEditingProject",
                "vod:SetEditingProjectMaterials",
                "vod:GetEditingProjectMaterials"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

相关参考