如何限制上传到OSS的文件类型?

更新时间:
复制为 MD 格式

问题描述

部分类型(例如 .js、.exe)的文件可能包含恶意脚本,如果文件上传到OSS后被意外执行或打开,可能导致系统、服务或用户遭受安全风险。因此,在上传文件时需要限制此类文件类型。

解决方案

  1. 进入目标BucketBucket 授权策略页签。

    1. 使用RAM用户前往Bucket列表,单击目标Bucket名称。

    2. 在左侧菜单栏选择权限控制 > Bucket 授权策略

  2. 添加授权策略拒绝对应类型文件的上传。

    1. Bucket 授权策略页签,单击按语法策略添加

      image

    2. 单击编辑,在编辑框内输入JSON格式的授权策略。

      以拒绝上传.js、.exe 文件类型为例介绍策略的配置,示例如下:

      说明

      示例中的<uid>请替换为阿里云账号(主账号)ID,<bucketName>请替换为目标Bucket名称。

      {
          "Version": "1",
          "Statement": [{
              "Effect": "Deny",
              "Action": [
                   "oss:PutObject"
              ],
              "Principal": [
                   "*"
              ],
              "Resource": [
                  "acs:oss:*:<uid>:<bucketName>/*.js",
                  "acs:oss:*:<uid>:<bucketName>/*.exe"
              ]
          }]
      }
    3. 确认授权策略无误后,单击保存,根据页面提示保存授权策略。

  3. 测试效果:使用简单上传方式上传.js类型文件时会被Bucket Policy拦截。

    image