put-bucket-referer

put-bucket-referer用于设置存储空间(Bucket)级别的防盗链(Referer)访问白名单与黑名单,支持设置是否允许Referer字段为空以及是否允许截断QueryString的请求访问对象存储。

注意事项

阿里云账号默认拥有为Bucket设置防盗链访问黑白名单的权限。如果您需要通过RAM用户或者STS的方式进行查看,您必须拥有oss:PutBucketReferer权限。具体操作,请参见RAM用户授权自定义的权限策略

命令格式

ossutil api put-bucket-referer --bucket value --referer-configuration value [flags]

参数

类型

说明

--bucket

string

Bucket的名称。

--referer-configuration

string

保存Referer配置内容的容器。

说明

put-bucket-referer命令对应API接口PutBucketReferer。关于API中的具体参数含义,请参见PutBucketReferer

--referer-configuration

--referer-configuration配置选项既支持XML语法也支持JSON语法,当选项值包含file://前缀时,表示从文件中读取配置。

  • XML语法:

    <RefererConfiguration>
      <TruncatePath>boolean</TruncatePath>
      <RefererList>
        <Referer>string</Referer>
      </RefererList>
      <RefererBlacklist>
        <Referer>string</Referer>
      </RefererBlacklist>
      <AllowEmptyReferer>boolean</AllowEmptyReferer>
      <AllowTruncateQueryString>boolean</AllowTruncateQueryString>
    </RefererConfiguration>
  • JSON语法:

    {
      "AllowEmptyReferer": boolean,
      "AllowTruncateQueryString": boolean,
      "TruncatePath": boolean,
      "RefererList": {
        "Referer": ["string", ...]
      },
      "RefererBlacklist": {
        "Referer": ["string", ...]
      }
    }
说明

关于支持的全局命令行选项,请参见支持的全局命令行选项

使用示例

以下示例展示了如何设置存储空间examplebucket级别的访问白名单以及黑名单。

  • 使用XML配置文件,referer-configuration.xml内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <RefererConfiguration>
        <AllowEmptyReferer>false</AllowEmptyReferer>
        <AllowTruncateQueryString>true</AllowTruncateQueryString>
        <TruncatePath>true</TruncatePath>
        <RefererList>
            <Referer>http://www.aliyun.com</Referer>
            <Referer>https://www.aliyun.com</Referer>
            <Referer>http://www.*.com</Referer>
            <Referer>https://www.?.aliyuncs.com</Referer>
        </RefererList>
        <RefererBlacklist>
            <Referer>http://www.refuse.com</Referer>
            <Referer>https://*.hack.com</Referer>
            <Referer>http://ban.*.com</Referer>
            <Referer>https://www.?.deny.com</Referer>
        </RefererBlacklist>
    </RefererConfiguration>

命令示例如下:

ossutil api put-bucket-referer --bucket examplebucket --referer-configuration file://referer-configuration.xml
  • 使用JSON配置文件,referer-configuration.json内容如下:

    {
        "AllowEmptyReferer": "false",
        "AllowTruncateQueryString": "true",
        "TruncatePath": "true",
        "RefererList": {
            "Referer": [
                "http://www.aliyun.com",
                "https://www.aliyun.com",
                "http://www.*.com",
                "https://www.?.aliyuncs.com"
            ]
        },
        "RefererBlacklist": {
            "Referer": [
                "http://www.refuse.com",
                "https://*.hack.com",
                "http://ban.*.com",
                "https://www.?.deny.com"
            ]
        }
    }

    命令示例如下:

    ossutil api put-bucket-referer --bucket examplebucket --referer-configuration file://referer-configuration.json
  • 使用JSON配置参数,命令示例如下:

    ossutil api put-bucket-referer --bucket examplebucket --referer-configuration "{\"AllowEmptyReferer\":\"false\",\"AllowTruncateQueryString\":\"true\",\"TruncatePath\":\"true\",\"RefererList\":{\"Referer\":[\"http://www.aliyun.com\",\"https://www.aliyun.com\",\"http://www.*.com\",\"https://www.?.aliyuncs.com\"]},\"RefererBlacklist\":{\"Referer\":[\"http://www.refuse.com\",\"https://*.hack.com\",\"http://ban.*.com\",\"https://www.?.deny.com\"]}}"