详情页标题前

腾讯云对象存储服务端加密

详情页1

如果需要对上传的对象进行加密,我们支持以下加密方式。

使用 COS 托管加密密钥的服务端加密(SSE-COS)保护数据

腾讯云 COS 托管主密钥和管理数据。COS 会帮助您在数据写入数据中心时自动加密,并在您取用该数据时自动解密。目前支持使用 COS 主密钥对数据进行 AES-256 加密。GO SDK 通过设置ObjectPutHeaderOptionsXCosServerSideEncryption成员来完成。

    // 下载对象,下载对象需要用户提供密钥	// 下载对象,下载对象需要用户提供密钥 package main
import ( "context" "errors" "io/ioutil" "net/http" "net/url" "os" "strings"
"github.com/tencentyun/cos-go-sdk-v5" "github.com/tencentyun/cos-go-sdk-v5/debug")
func main() { // 替换成您的 u, _ := url.Parse("https://.cos.ap-guangzhou.myqcloud.com") b := &cos.BaseURL{BucketURL: u} c := cos.NewClient(b, &http.Client{ Transport: &cos.AuthorizationTransport{ SecretID: os.Getenv("SECRETID"), // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140 SecretKey: os.Getenv("SECRETKEY"), // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考见 https://cloud.tencent.com/document/product/598/37140 Transport: &debug.DebugRequestTransport{ RequestHeader: true, // Notice when put a large file and set need the request body, might happend out of memory error. RequestBody: false, ResponseHeader: true, ResponseBody: true, }, }, }) opt := &cos.ObjectPutOptions{ ObjectPutHeaderOptions: &cos.ObjectPutHeaderOptions{ ContentType: "text/html", XCosServerSideEncryption: "AES256", }, ACLHeaderOptions: &cos.ACLHeaderOptions{}, } name := "PutFromGoWithSSE-COS" content := "Put Object From Go With SSE-COS" f := strings.NewReader(content) _, err := c.Object.Put(context.Background(), name, f, opt) if err != nil { panic(err) } // 下载对象 getopt := &cos.ObjectGetOptions{} var resp *cos.Response resp, err = c.Object.Get(context.Background(), name, getopt) if err != nil { panic(err) } // 验证 bodyBytes, _ := ioutil.ReadAll(resp.Body) bodyContent := string(bodyBytes) if bodyContent != content { panic(errors.New("Content inconsistency")) }}

使用客户提供的加密密钥的服务端加密 (SSE-C)保护数据

加密密钥由用户自己提供,用户在上传对象时,COS 将使用用户提供的加密密钥对用户的数据进行 AES-256 加密。GO SDK 通过设置 ObjectPutHeaderOptionsXCosSSECustomer*成员来完成。注意该加密所运行的服务需要使用 HTTPS 请求。customerKey:用户提供的密钥,传入一个32字节的字符串,支持数字、字母、字符的组合,不支持中文。如果上传的源文件调用了该方法,那么在使用 GET(下载)、HEAD(查询)时对源对象操作的时候也要调用该方法。

package main
import ( "context" "net/url" "os" "strings" "errors" "io/ioutil" "net/http"
"github.com/tencentyun/cos-go-sdk-v5" "github.com/tencentyun/cos-go-sdk-v5/debug")
func main() { // 替换成您的 u, _ := url.Parse("https://.cos.ap-guangzhou.myqcloud.com") b := &cos.BaseURL{BucketURL: u} c := cos.NewClient(b, &http.Client{ Transport: &cos.AuthorizationTransport{ SecretID: os.Getenv("SECRETID"), // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140 SecretKey: os.Getenv("SECRETKEY"), // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140 Transport: &debug.DebugRequestTransport{ RequestHeader: true, // Notice when put a large file and set need the request body, might happend out of memory error. RequestBody: false, ResponseHeader: true, ResponseBody: true, }, }, }) opt := &cos.ObjectPutOptions{ ObjectPutHeaderOptions: &cos.ObjectPutHeaderOptions{ ContentType: "text/html", XCosSSECustomerAglo: "AES256", XCosSSECustomerKey: "MDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlBQkNERUY=", XCosSSECustomerKeyMD5: "U5L61r7jcwdNvT7frmUG8g==", }, ACLHeaderOptions: &cos.ACLHeaderOptions{}, } name := "PutFromGoWithSSE-C" content := "Put Object From Go With SSE-C" f := strings.NewReader(content) _, err := c.Object.Put(context.Background(), name, f, opt) if err != nil { panic(err) } // 下载对象,下载对象需要用户提供密钥 getopt := &cos.ObjectGetOptions{ XCosSSECustomerAglo: "AES256", XCosSSECustomerKey: "MDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlBQkNERUY=", XCosSSECustomerKeyMD5: "U5L61r7jcwdNvT7frmUG8g==", } var resp *cos.Response resp, err = c.Object.Get(context.Background(), name, getopt) if err != nil { panic(err) } // 验证 bodyBytes, _ := ioutil.ReadAll(resp.Body) bodyContent := string(bodyBytes) if bodyContent != content { panic(errors.New("Content inconsistency")) }}



对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:http://www.yunxiaoer.com/145591.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 在阿里函数计算内网fc的http触发器为何不可强制呢?-云小二-阿里云

    在阿里函数计算内网fc的http触发器为何不可强制https呢?或者直接禁止内网http触发只准api网关调用可以实现吗?

    阿里云 2023年12月19日
  • 函数计算中,应用区分环境, 那应用内包含的函数区分环境吗?-云小二-阿里云

    函数计算中,应用区分环境, 那应用内包含的函数区分环境吗?比如我部署了应用的正式环境代码, 又部署了应用的测试环境代码。这时候直接用api调用函数,执行的是 函数是运行在测试环境,还是正式环境呀? 以下为热心网友提供的参考意见 在函数计算中,应用和函数都可以区分环境。一个应用可以包含多个函数,这些函数可以共享一些相同的设置,如服务授权和日志配置等。同时,这些…

    阿里云 2024年1月9日
  • 腾讯云TDSQL-C MySQL版【2022年11月22日】监控指标修正

    为方便您快速发现问题,更可靠地保护您的业务,TDSQL-C MySQL 版目前对部分监控指标的聚合方式进行修正,这些指标将采用兼容 MySQL 原生的累加(SUM)方式聚合,修正完成后可能会导致原指标数据增大,请及时关注指标的相应变化和告警配置。 变更时间 北京时间2022年11月22日(周二)起。 说明事项 指标修正后,可能会导致集群原监控指标数据增大,请…

    腾讯云 2023年12月9日
  • 腾讯云云直播关于云直播延时播放功能正式计费公告

    云直播增值功能延时播放将于2023年6月15日起正式开始收费。具体价格及计费规则说明如下: 注意事项 使用延时播放功能,除了会产生增值服务费用外,还可能会产生 流量带宽费用。 计费价格 计费类型 价格(元/计费单位) 计费单位单价 0.1 增值功能计费时长和实际时长换算系数: 增值功能 系数计费时长(单位:计费单位):实际时长(单位:分钟) 延时播放 0.…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云CVM服务器Linux 系统安装 cloud-init

    操作场景 Cloud-init 主要提供实例首次初始化时自定义配置的能力。如果导入的镜像没有安装 cloud-init 服务,基于该镜像启动的实例将无法被正常初始化,导致该镜像正常导入失败。本文档指导您安装 cloud-init 服务。安装 cloud-init 推荐以下三种方式:通过 下载 cloud-init 二进制包通过 手工下载 cloud-ini…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。