简介
本文档提供存储桶加密的 API 概览和 SDK 示例代码。
API  | 操作名  | 操作描述  | 
设置存储桶加密  | 设置指定存储桶下的默认加密配置  | |
查询存储桶加密  | 查询指定存储桶下的默认加密配置  | |
删除存储桶加密  | 删除指定存储桶下的默认加密配置  | 
设置存储桶加密
功能说明
用于设置指定存储桶下的默认服务端加密配置。如需执行此接口,必须拥有 PutBucketEncryption 权限。默认情况下,Bucket 的持有者直接拥有权限使用该 API 接口,Bucket 持有者也可以将权限授予其他用户。
方法原型
put_bucket_encryption(Bucket, ServerSideEncryptionConfiguration={}, **kwargs)
请求示例
# -*- coding=utf-8from qcloud_cos import CosConfigfrom qcloud_cos import CosS3Clientimport sysimport osimport logging# 正常情况日志级别使用 INFO,需要定位时可以修改为 DEBUG,此时 SDK 会打印和服务端的通信信息logging.basicConfig(level=logging.INFO, stream=sys.stdout)# 1. 设置用户属性, 包括 secret_id, secret_key, region 等。Appid 已在 CosConfig 中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成secret_id = os.environ['COS_SECRET_ID'] # 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140secret_key = os.environ['COS_SECRET_KEY'] # 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket# COS 支持的所有 region 列表参见 https://cloud.tencent.com/document/product/436/6224token = None # 如果使用永久密钥不需要填入 token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见 https://cloud.tencent.com/document/product/436/14048scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)client = CosS3Client(config)config_dict = {'Rule': [{'ApplySideEncryptionConfiguration': {'SSEAlgorithm': 'AES256'}}]}client.put_bucket_encryption(Bucket='examplebucket-1250000000', ServerSideEncryptionConfiguration=config_dict)
参数说明
参数名称  | 参数描述  | 类型  | 是否必填  | 
Bucket  | 存储桶名称,由 BucketName-APPID 构成  | String  | 是  | 
ServerSideEncryptionConfiguration  | 服务端加密配置  | Dict  | 是  | 
ServerSideEncryptionConfiguration 说明:
参数名  | 参数描述  | 类型  | 是否必填  | 
Rule  | 服务端加密规则列表,目前只支持一个规则  | List  | 是  | 
ApplySideEncryptionConfiguration  | 具体的服务加密配置描述  | Dict  | 是  | 
SSEAlgorithm  | 服务端加密算法,目前桶加密只支持 SSE-COS 类型,使用 AES256 加密算法  | String  | 是  | 
返回结果说明
该方法返回值为 None。
查询存储桶加密
功能说明
用于查询指定存储桶下的默认服务端加密配置。如需执行此接口,必须拥有 GetBucketEncryption 权限。默认情况下,Bucket 的持有者直接拥有权限使用该 API 接口,Bucket 持有者也可以将权限授予其他用户。
方法原型
get_bucket_encryption(Bucket, **kwargs)
请求示例
# -*- coding=utf-8from qcloud_cos import CosConfigfrom qcloud_cos import CosS3Clientimport sysimport osimport logging# 正常情况日志级别使用 INFO,需要定位时可以修改为 DEBUG,此时 SDK 会打印和服务端的通信信息logging.basicConfig(level=logging.INFO, stream=sys.stdout)# 1. 设置用户属性, 包括 secret_id, secret_key, region 等。Appid 已在 CosConfig 中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成secret_id = os.environ['COS_SECRET_ID'] # 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140secret_key = os.environ['COS_SECRET_KEY'] # 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket# COS 支持的所有 region 列表参见 https://cloud.tencent.com/document/product/436/6224token = None # 如果使用永久密钥不需要填入 token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见 https://cloud.tencent.com/document/product/436/14048scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)client = CosS3Client(config)response = client.get_bucket_encryption(Bucket='examplebucket-1250000000')sse_algorithm = response['Rule'][0]['ApplyServerSideEncryptionByDefault']['SSEAlgorithm']
参数说明
参数名称  | 参数描述  | 类型  | 是否必填  | 
Bucket  | 存储桶名称,由 BucketName-APPID 构成  | String  | 是  | 
返回结果说明
参数名称  | 参数描述  | 类型  | 是否必填  | 
ServerSideEncryptionConfiguration  | 服务端加密配置  | Dict  | 是  | 
ServerSideEncryptionConfiguration 说明:
参数名  | 参数描述  | 类型  | 是否必填  | 
Rule  | 服务端加密规则列表,目前只支持一个规则  | List  | 是  | 
ApplySideEncryptionConfiguration  | 具体的服务加密配置描述  | Dict  | 是  | 
SSEAlgorithm  | 服务端加密算法,目前桶加密只支持 SSE-COS 类型,使用 AES256 加密算法  | String  | 是  | 
删除存储桶加密
功能说明
用于删除指定存储桶下的默认加密配置。如需执行此接口,必须拥有 DeleteBucketEncryption 权限。默认情况下,Bucket 的持有者直接拥有权限使用该 API 接口,Bucket 持有者也可以将权限授予其他用户。
方法原型
delete_bucket_encryption(Bucket, **kwargs)
请求示例
# -*- coding=utf-8from qcloud_cos import CosConfigfrom qcloud_cos import CosS3Clientimport sysimport osimport logging# 正常情况日志级别使用 INFO,需要定位时可以修改为 DEBUG,此时 SDK 会打印和服务端的通信信息logging.basicConfig(level=logging.INFO, stream=sys.stdout)# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在 CosConfig 中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成secret_id = os.environ['COS_SECRET_ID'] # 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140secret_key = os.environ['COS_SECRET_KEY'] # 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket# COS 支持的所有 region 列表参见 https://cloud.tencent.com/document/product/436/6224token = None # 如果使用永久密钥不需要填入 token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见 ‘’https://cloud.tencent.com/document/product/436/14048scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)client = CosS3Client(config)response = client.delete_bucket_encryption(Bucket='examplebucket-1250000000')
参数说明
参数名称  | 参数描述  | 类型  | 是否必填  | 
Bucket  | 存储桶名称,由 BucketName-APPID 构成  | String  | 是  | 
返回结果说明
该方法返回值为 None。