微信二维码

二维码 扫二维码马上关注
扫码咨询
阿里云-通过执行服务器端加密来保护数据

        您可以通过执行阿里云服务器端加密来保护静态数据。如果启用阿里云服务器端加密功能,则OSS在将数据写入数据中心中部署的硬盘时加密用户数据(即对象),并在访问数据时自动解密数据。对访问加密数据的用户执行身份验证。

        有关阿里云服务器端加密的更多信息,请参见阿里云服务器端加密。OSS支持以下三种服务器端加密方法:

        1、完全由OSS管理的服务器端加密(SSE-OSS)

        在发送上载对象或修改对象元数据的请求时,可以在请求中包含x - os -server-side加密头,并将其值指定为AES256。在这种方法中,OSS使用AES256用单个密钥加密每个对象。此外,单个密钥由客户主密钥(CMK)加密,该主密钥会定期更新,以获得更高的安全性。

        2、使用默认托管CMK (SSE-KMS)的服务器端加密

        当发送请求上传一个对象或修改对象的元数据,您可以包括X-OSS-server-side-encryption头的请求,并指定其价值作为公里没有指定CMK ID。在这种方法中,OSS生成单个密钥来加密每个对象通过使用默认管理CMK、并自动解密时下载的对象。

        3、使用用户指定的CMK (SSE-KMS)进行服务器端加密

        当发送请求上传一个对象或修改对象的元数据,您可以包括X-OSS-server-side-encryption头在请求,指定它的值作为公里,并指定的值X-oss-server-side-encryption-key-id CMK指定ID,在这个方法中。OSS生成一个单独的密钥,通过使用指定的CMK加密每个对象,并将用于加密对象的CMK ID添加到对象的元数据中,以便在由授权用户下载对象时自动解密该对象。您可以使用系统自动生成的关键材料,也可以从外部源导入关键材料。

        注意:使用指定CMK的服务器端加密方法正处于beta测试阶段。要使用该方法,请联系阿里云技术支持。

        一次只能对一个对象使用一种服务器端加密方法。

        如果使用CMK加密对象,加密中使用的数据密钥也会加密,并存储为对象的元数据。

        在使用默认托管CMK的服务器端加密中,只加密对象中的数据。对象的元数据未加密。

        如果使用CMK加密对象,就会产生API调用的费用。

        要使用RAM用户使用指定的CMK加密对象,必须向RAM用户授予相关权限。有关更多信息,请参见使用RAM进行KMS资源授权。


一、执行完全由OSS管理的服务器端加密

        1、登录到OSS控制台并创建一个bucket。有关更多信息,请参见创建桶。

        2、将一个纯文本对象上传到OSS。有关更多信息,请参见上载对象。

 

        3、运行以下Python脚本加密上传对象:

# -*- coding: utf-8 -*-
import oss2

# It is highly risky to log on with AccessKey of an Alibaba Cloud account because the account has permissions on all the APIs in OSS. We recommend that you log on as a RAM user to access APIs or perform routine operations and maintenance. To create a RAM account, log on to the RAM console.
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>
')
# This example uses the endpoint oss-cn-hongkong (Hong Kong). Specify the actual endpoint based on your requirements.

bucket = oss2.Bucket(auth, 'http://oss-cn-hongkong.aliyuncs.com', 'test-hongkong-2025')

bucket.update_object_meta('01.txt',{'x-oss-server-side-encryption':'AES256'})

        4、验证加密结果。使用ossutil查看加密前后的对象。在加密之前:

D:\5-AK_account\ossutil64>ossutil64.exe stat  oss://test-hongkong-2025/01.txt
ACL                         : default
Accept-Ranges               : bytes
Content-Length              : 62
Content-Md5                 : k2GA4LeqHvVpQvBfnleNOg==
Content-Type                : text/plain
Etag                        : 936180E0B7AA1EF56942F05F9E578D3A
Last-Modified               : 2018-10-2420:41:54 +0800 CST
Owner                       : 14166xxxxxx36597
X-Oss-Hash-Crc64ecma        : 9888192182077127097
X-Oss-Object-Type           : Normal
X-Oss-Storage-Class         : Standard
					

        加密后:

D:\5-AK_account\ossutil64>ossutil64.exe stat  oss://test-hongkong-2025/01.txt
ACL                         : default
Accept-Ranges               : bytes
Content-Length              : 62
Content-Md5                 : k2GA4LeqHvVpQvBfnleNOg==
Content-Type                : text/plain
Etag                        : 936180E0B7AA1EF56942F05F9E578D3A
Last-Modified               : 2018-10-2420:46:39 +0800 CST
Owner                       : 14166xxxxxx36597
X-Oss-Hash-Crc64ecma        : 9888192182077127097
X-Oss-Object-Type           : Normal
X-Oss-Server-Side-Encryption: AES256
X-Oss-Storage-Class         : Standard
					

二、使用OSS管理的默认CMK执行服务器端加密

        1、登录到OSS控制台并创建一个bucket。有关更多信息,请参见创建桶。

        2、将一个纯文本对象上传到OSS。有关更多信息,请参见上载对象。

        3、在阿里云产品管理页面激活KMS。

        4、运行以下Python脚本加密上传对象:

# -*- coding: utf-8 -*-
import oss2

# It is highly risky to log on with AccessKey of an Alibaba Cloud account because the account has permissions on all the APIs in OSS. We recommend that you log on as a RAM user to access APIs or perform routine operations and maintenance. To create a RAM account, log on to the RAM console.
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>
')
This example uses the endpoint oss-cn-hongkong (Hong Kong). Specify the actual endpoint based on your requirements.
bucket = oss2.Bucket(auth, 'http://oss-cn-hongkong.aliyuncs.com', 'test-hongkong-2025')

bucket.update_object_meta('01.txt',{'x-oss-server-side-encryption':'KMS'})

三、使用用户指定的CMK执行服务器端加密

        1、登录到OSS控制台并创建一个bucket。有关更多信息,请参见创建桶。

        2、将一个纯文本对象上传到OSS。有关更多信息,请参见上载对象。

        3、在阿里巴巴云产品管理页面激活KMS。

        4、登录到KMS控制台。单击Create Key并配置以下选项,以在与OSS bucket相同的区域创建CMK。

        为description中的键自定义描述。

        选择阿里云KMS作为重点物资来源。

        注意,您还可以导入一个外部键。有关更多信息,请参见导入关键材料。

        5、使用创建的CMK的ID,通过运行以下Python脚本加密上传对象:

# -*- coding: utf-8 -*-
import oss2

# It is highly risky to log on with AccessKey of an Alibaba Cloud account because the account has permissions on all the APIs in OSS. We recommend that you log on as a RAM user to access APIs or perform routine operations and maintenance. To create a RAM account, log on to the RAM console.
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>
')
# This example uses the endpoint oss-cn-hongkong (Hong Kong). Specify the actual endpoint based on your requirements.
bucket = oss2.Bucket(auth, 'http://oss-cn-hongkong.aliyuncs.com', 'test-hongkong-2025')

bucket.update_object_meta('01.txt',{'x-oss-server-side-encryption':'KMS','x-oss-server-side-encryption-key-id': '33701a45-6723-4a04-a367-68c060382652'})

以上就是通过执行服务器端加密来保护数据的步骤,阿里云推出了很多优惠活动,您可以领取阿里云代金券阿里云学生优惠券来获得更多优惠!

更多精彩内容,请关注元吉优惠券网:专注阿里云代金券阿里云服务器报价腾讯云代金券的免费领取!
更多精彩内容推荐:
阿里云服务器操作方法(新手图文教程) 
阿里云学生服务器价格低至95元/年
阿里云学生优惠问答
阿里云新用户大礼包
阿里云新用户享受热门产品5折特惠

















 


在线客服
热线电话

扫一扫 微信加好友