九游平台/ 对象存储服务 obs/ api参考/ api/ / 服务端加密sse-kms方式
更新时间:2024-10-21 gmt 08:00

服务端加密sse-九游平台

功能介绍

sse-kms方式,obs使用kms(key management service)服务提供的密钥进行服务端加密。用户可以创建自定义密钥,用于sse-kms加密。如果未指定,则用户首次向区域中的桶上传sse-kms加密的对象时,obs将自动为您创建一个默认密钥。自定义密钥或默认密钥用于加密和解密kms生成的数据加解密密钥。

使用非默认iam项目下的自定义密钥对桶内对象进行sse-kms加密,只有密钥拥有者可以对加密后的对象进行上传下载类操作,非密钥拥有者不能对加密对象进行上传下载类操作。

使用默认密钥向区域中的桶上传sse-kms加密的对象时,该默认密钥归属于对象上传者,非密钥拥有者不能对使用默认密钥加密的对象进行上传下载类操作。

新增头域

sse-kms方式新增加两个头域,用户可以通过配置表1中的头域来实现sse-kms加密。

您也可以通过配置桶的默认加密方式来对桶内的对象进行加密。在为桶配置默认加密后,对于任何不带加密头域的上传对象的请求,将使用桶的默认加密配置进行加密。有关桶的加密配置的更多信息请参考设置桶的加密配置章节。

表1 sse-kms方式使用的头域

头域名称

头域类型

描述

x-obs-server-side-encryption

string

参数解释:

使用该头域表示服务端加密是sse-kms方式。对象使用sse-kms方式加密。

示例:x-obs-server-side-encryption:kms

约束限制:

取值范围:

  • kms
  • aes256

默认取值:

kms

x-obs-server-side-data-encryption

string

参数解释:

如果服务端加密是sse-kms方式,且数据加密算法为sm4,响应包含该头域。

示例:x-obs-server-side-data-encryption:sm4

约束限制:

仅在sse-kms加密方式下使用该头域。

取值范围:

  • sm4:国密sm4算法。

默认取值:

x-obs-server-side-encryption-kms-key-id

string

参数描述:

当加密方式为sse-kms且使用指定密钥加密时,需输入密钥id。密钥id获取方法请参见查看密钥

约束限制:

当您设置了x-obs-server-side-encryption头域且赋值为“kms”,即选择kms加密方式时,才能使用该头域指定加密密钥。

默认取值:

当您选择使用kms加密方式,但未设置此头域时,默认的主密钥将会被使用。如果默认主密钥不存在,系统将默认创建并使用。

支持头域的接口

以下接口支持配置sse-kms相关头域:

您可以通过设置桶策略,来限制指定桶的请求头域,如果您要对桶中的所有对象执行服务端加密限制,则可通过设置桶策略达成。例如,如果要求本租户的上传对象请求不包含服务端加密 (sse-kms) 的相关头域x-obs-server-side-encryption:"kms",则可使用以下桶策略达成:

{
    "statement": [
        {
            "sid": "denyunencryptedobjectuploads",
            "effect": "deny",
            "principal": "*",
            "action": "putobject",
            "resource": "yourbucket/*",
            "condition": {
                "stringnotequals": {
                    "x-obs-server-side-encryption": "kms"
                }
            }
        }
    ]
}

请求示例:使用默认密钥对上传的对象进行加密

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
put/encryp1http/1.1
user-agent:curl/7.29.0
host:examplebucket.obs.cn-north-4.myhuaweicloud.com
accept:*/*
date:wed,06jun201809:08:21gmt
authorization:obsh4ipjx0tqththebqqcec:f3/7es6mfbw3jo4 7i5atyaqenu=
x-obs-server-side-encryption:kms
content-length:5242
expect:100-continue
[5242byteobjectcontents]

响应示例:使用默认密钥对上传的对象进行加密

1
2
3
4
5
6
7
8
9
http/1.1200ok
server:obs
x-obs-request-id:8df400000163d45aa81d038b6ae4c482
etag:"d8bffdfbab5345d91ac05141789d2477"
x-obs-server-side-encryption:kms
x-obs-server-side-encryption-kms-key-id:cn-north-4:783fc6652cf246c096ea836694f71855:key/522d6070-5ad3-4765-9737-9312ddc72cdb
x-obs-id-2:32aaaujaiaabaaaqaaeaabaaaqaaeaabctv7chmangfbagxuheibusiettnqlcqc
date:wed,06jun201809:08:21gmt
content-length:0

请求示例:使用指定密钥对上传的对象进行加密

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
put/encryp1http/1.1
user-agent:curl/7.29.0
host:examplebucket.obs.cn-north-4.myhuaweicloud.com
accept:*/*
date:wed,06jun201809:08:50gmt
authorization:obsh4ipjx0tqththebqqcec:f3/pwjkxytygs5lpocttnei2qenu=
x-obs-server-side-encryption:kms
x-obs-server-side-encryption-kms-key-id:522d6070-5ad3-4765-43a7-a7d1-ab21f498482d
content-length:5242
expect:100-continue
[5242byteobjectcontents]

响应示例:使用指定密钥对上传的对象进行加密

1
2
3
4
5
6
7
8
9
http/1.1200ok
server:obs
x-obs-request-id:8df400000163d45aa81d038b6ae4c482
etag:"d8bffdfbab5345d91ac05141789d2477"
x-obs-server-side-encryption:kms
x-obs-server-side-encryption-kms-key-id:cn-north-4:783fc6652cf246c096ea836694f71855:key/522d6070-5ad3-4765-43a7-a7d1-ab21f498482d
x-obs-id-2:32aaaujaiaabadiaeaaba09aeaabctv7chman12bag83ibusiet5eqlcqg
date:wed,06jun201809:08:50gmt
content-length:0

请求示例:将普通对象拷贝为加密对象,且指定加密密钥

1
2
3
4
5
6
7
8
9
put/destobjecthttp/1.1
user-agent:curl/7.29.0
host:examplebucket.obs.cn-north-4.myhuaweicloud.com
x-obs-server-side-encryption:kms
x-obs-server-side-encryption-kms-key-id:cn-north-4:783fc6652cf246c096ea836694f71855:key/522d6070-5ad3-4765-9737-9312ddc72cdb
accept:*/*
date:wed,06jun201809:10:29gmt
authorization:obsh4ipjx0tqththebqqcec:sh3utrelagwarvi1utq325ktvci=
x-obs-copy-source:/bucket/srcobject1

响应示例:将普通对象拷贝为加密对象,且指定加密密钥

1
2
3
4
5
6
7
8
9
http/1.1200ok
server:obs
x-obs-request-id:bb78000001648480af3900ced7f15155
etag:"d8bffdfbab5345d91ac05141789d2477"
x-obs-server-side-encryption:kms
x-obs-server-side-encryption-kms-key-id:cn-north-4:783fc6652cf246c096ea836694f71855:key/522d6070-5ad3-4765-9737-9312ddc72cdb
x-obs-id-2:oraxhgwdalc9wkvhqtlsmqb7i35d 32aaaujaiaabaaaqaaeaabaaaqaaeaabcs
date:wed,06jun201809:10:29gmt
content-length:0

请求示例:在url中携带签名并上传加密对象

put /destobject?accesskeyid=ui3sn1sruqe14oybktzb&expires=1534152518&x-obs-server-side-encryption=kms&signature=chvmg7/da/dcqmtrju3xngldjpg= http/1.1
user-agent: curl/7.29.0
host: examplebucket.obs.cn-north-4.myhuaweicloud.com
accept: */*
date: wed, 06 jun 2018 09:10:29 gmt

响应示例:在url中携带签名并上传加密对象

1
2
3
4
5
6
7
8
9
http/1.1200ok
server:obs
x-obs-request-id:bb78000001648480af3900ced7f15155
etag:"d8bffdfbab5345d91ac05141789d2477"
x-obs-server-side-encryption:kms
x-obs-server-side-encryption-kms-key-id:cn-north-4:783fc6652cf246c096ea836694f71855:key/522d6070-5ad3-4765-9737-9312ddc72cdb
x-obs-id-2:oraxhgwdalc9wkvhqtlsmqb7i35d 32aaaujaiaabaaaqaaeaabaaaqaaeaabcs
date:wed,06jun201809:10:29gmt
content-length:0

相关文档

网站地图