全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

分享文件夹

最近更新时间:2025-08-25 20:31:41

描述

KS3支持通过预签名的方式创建文件夹或指定文件的临时分享链接,如果需要通过链接获取存储空间内目录的中对象的查询和下载功能,可以通过携带查询参数 X-Kss-Policy 的 URL 预签名方式实现。

请求

请求头部

名称

描述

是否必选

X-Kss-Algorithm

用于签名的算法,固定值。 KSS4-HMAC-SHA256。

X-Kss-Credential

用户的AccessKeyId和范围信息,范围信息包括请求日期、区域、服务、终止字符串kss4_request,格式如下:

<your-access-key-id>/<date>/<region>/<service>/kss4_request

其中:

date格式为YYYYMMDD。

region:参见Endpoint与Region的对应关系 中的Region英文名称

service:固定值为ks3

X-Kss-Date

当前请求时间(UTC 时间),格式为 yyyyMMddTHHmmssZ。

X-Kss-Policy

指定分享的文件的base64编码。详见X-Kss-Policy配置

X-Kss-Expire

签名有效期。单位秒。时间范围为1-604800(7天)。例如,86400(表示24小时)。请求时间戳+过期时间应大于服务端时间戳。

X-Kss-Signature

计算出的256位签名信息,以64个小写十六进制字符串形式表示。

X-Kss-Security-Token

使用临时 AK/SK 鉴权时,必须加上该头域,值为 SecurityToken。

X-Kss-Policy配置

参数

参数类型

说明

是否必填

bucket

String

指定可接受的桶的名称。精确匹配,有且仅能存在一个。

key

String

对象名或者对象名的前缀。

支持的匹配类型,如不填,表示分享整个桶。

  • eq:将明确的文件分享给使用者

  • starts With:将指定文件夹内的全部内容分享给使用者

示例

{     
     "conditions": [
        {"bucket": "examplebucket"},
        ["starts-with", "$key", "abc/"],
    ]
}

请求示例

https://bucketname.ks3-cn-beijing.ksyuncs.com/
?X-Kss-Algorithm=KSS4-HMAC-SHA256
&X-Kss-Credential=<your-access-key-id>/<yyyymmdd>/<region>/ks3/kss4_request
&X-Kss-Date=20250101T000000Z
&X-Kss-Expire=604800
&X-Kss-Policy=<policy>
&X-Kss-Signature=<signature>
&X-Kss-Security-Token=<security-token>

签名方式

PolicyV4签名

policy:

{
    "conditions": [
        {"bucket": "policy-request-test-cz"},
        ["starts-with", "$key", "abc/"],
        ["starts-with", "$key", "aaa/abc/"],
        ["eq", "$key", "beijing.txt"]
    ]
}

CanonicalRequest :

X-Kss-Algorithm=KSS4-HMAC-SHA256&X-Kss-Credential=5q/kz1w6cxuzs/kp9PLE%2F20250408%2FQINGDAO%2Fks3%2Fkss4_request&X-Kss-Date=20250408T021314Z&X-Kss-Expires=90000&X-Kss-Policy=ewogICAgImNvbmRpdGlvbnMiOiBbCiAgICAgICAgeyJidWNrZXQiOiAicG9saWN5LXJlcXVlc3QtdGVzdC1jeiJ9LAogICAgICAgIFsic3RhcnRzLXdpdGgiLCAiJGtleSIsICJhYmMvIl0sCiAgICAgICAgWyJzdGFydHMtd2l0aCIsICIka2V5IiwgImFhYS9hYmMvIl0sCiAgICAgICAgWyJlcSIsICIka2V5IiwgImJlaWppbmcudHh0Il0KICAgIF0KfQ%3d%3d
UNSIGNED-PAYLOAD

StringToSign

KSS4-HMAC-SHA256
20250408T021314Z
20250408/QINGDAO/ks3/kss4_request
0845e9fdacc54d5cea58bc8ce57f2e7f72fb4f99dfdb92f73f0225a8fdb83ba4

Signature

ea3411b6d990f660d706c3be669e380a5971931f6e0ee387a98df4c6468a51e2

PolicyV2签名

policy:

{
    "conditions": [
        {"bucket": "gzz-test"},
        ["starts-with", "$key", "abc/"],
        ["starts-with", "$key", "aaa/abc/"],
        ["eq", "$key", "exampleobject"],
        ["eq", "$key", "exampleobject1"]
    ]
}

CanonicalizedResource

/gzz-test/?X-Kss-Policy=ewogICAgImNvbmRpdGlvbnMiOiBbCiAgICAgICAgeyJidWNrZXQiOiAiZ3p6LXRlc3QifSwKICAgICAgICBbInN0YXJ0cy13aXRoIiwgIiRrZXkiLCAiYWJjLyJdLAogICAgICAgIFsic3RhcnRzLXdpdGgiLCAiJGtleSIsICJhYWEvYWJjLyJdLAogICAgICAgIFsiZXEiLCAiJGtleSIsICJleGFtcGxlb2JqZWN0Il0sCiAgICAgICAgWyJlcSIsICIka2V5IiwgImV4YW1wbGVvYmplY3QxIl0KICAgIF0KfQ==

不带格式的CanonicalizedResource如下:
eyJjb25kaXRpb25zIjogW3siYnVja2V0IjogImd6ei10ZXN0In0sIFsic3RhcnRzLXdpdGgiLCAiJGtleSIsICJhYmMvIl0sIFsic3RhcnRzLXdpdGgiLCAiJGtleSIsICJhYWEvYWJjLyJdLCBbImVxIiwgIiRrZXkiLCAiZXhhbXBsZW9iamVjdCJdLCBbImVxIiwgIiRrZXkiLCAiZXhhbXBsZW9iamVjdDEiXV19

StringToSign

1741746992
/gzz-test/?X-Kss-Policy=ewogICAgImNvbmRpdGlvbnMiOiBbCiAgICAgICAgeyJidWNrZXQiOiAiZ3p6LXRlc3QifSwKICAgICAgICBbInN0YXJ0cy13aXRoIiwgIiRrZXkiLCAiYWJjLyJdLAogICAgICAgIFsic3RhcnRzLXdpdGgiLCAiJGtleSIsICJhYWEvYWJjLyJdLAogICAgICAgIFsiZXEiLCAiJGtleSIsICJleGFtcGxlb2JqZWN0Il0sCiAgICAgICAgWyJlcSIsICIka2V5IiwgImV4YW1wbGVvYmplY3QxIl0KICAgIF0KfQ==

Signature

S0ZH7E6l+mY43JkBXsl+N5UPo/E=

将上述签名计算得到结果进行拼接可以得到用于分享指定文件夹或文件。

额外 query 参数

额外 query 参数可以控制该次请求的某些具体行为。例如,携带 query 参数 prefix=abc/ ,delimiter为/可以列举前缀为 abc/ 的对象

https://examplebucket.ks3-cn-beijing.ksyuncs.com/?delimiter=%2F&prefix=abc/&X-Kss-Algorithm=KSS4-HMAC-SHA256&X-Kss-Credential=testAK%2F20220101%2FBEIJING%2Fks3%2Fkss4_request&X-Kss-Date=20220101T000000Z&X-Kss-Expires=86400&X-Kss-Policy=eyJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJleGFtcGxlYnVja2V0In0sWyJzdGFydHMtd2l0aCIsIiRrZXkiLCJhYmMvIl0sWyJzdGFydHMtd2l0aCIsIiRrZXkiLCJhYWEvYWJjLyJdLFsiZXEiLCIka2V5IiwiZXhhbXBsZW9iamVjdCJdLFsiZXEiLCIka2V5IiwiZXhhbXBsZW9iamVjdDEiXV19&X-Kss-Signature=b9a2a01cdaff37247fcdab58717ab20a35b338138a992b1ba0f04df9dd807ba7

如果需要下载文件,在指定URL中增加相应的key即可进行下载

https://examplebucket.ks3-cn-beijing.ksyuncs.com/exampleobject?X-Kss-Algorithm=KSS4-HMAC-SHA256&X-Kss-Credential=testAK%2F20220101%2FBEIJING%2Fks3%2Fkss4_request&X-Kss-Date=20220101T000000Z&X-Kss-Expires=86400&X-Kss-Policy=eyJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJleGFtcGxlYnVja2V0In0sWyJzdGFydHMtd2l0aCIsIiRrZXkiLCJhYmMvIl0sWyJzdGFydHMtd2l0aCIsIiRrZXkiLCJhYWEvYWJjLyJdLFsiZXEiLCIka2V5IiwiZXhhbXBsZW9iamVjdCJdLFsiZXEiLCIka2V5IiwiZXhhbXBsZW9iamVjdDEiXV19&X-Kss-Signature=b9a2a01cdaff37247fcdab58717ab20a35b338138a992b1ba0f04df9dd807ba7

控制台

点击需要分享文件夹对应【分享】按钮

提取码分享
  1. 点击【提取码分享】

  2. 输入分享链接的有效时长

  3. 输入6位有效提取码

  4. 点击【创建分享】

直接分享
  1. 点击【直接分享】

  2. 输入分享链接的有效时长

  3. 点击【创建分享】

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈