配置服務器端加密(即Bucket加密)后,OSS對上傳的文件(Object)進行加密,再將得到的加密文件持久化保存。下載文件時,OSS自動將加密文件解密后返回給用戶。本文介紹如何通過 bucket-encryption命令添加、修改、查詢和刪除Bucket的加密配置。
注意事項
要添加或修改Bucket加密配置,您必須具有
oss:PutBucketEncryption
權限;要獲取Bucket加密配置,您必須具有oss:GetBucketEncryption
權限;要刪除Bucket加密配置,您必須具有oss:DeleteBucketEncryption
權限。具體操作,請參見為RAM用戶授權自定義的權限策略。
從ossutil 1.6.16版本開始,命令行中Binary名稱支持直接使用ossutil,您無需根據系統刷新Binary名稱。如果您的ossutil版本低于1.6.16,則需要根據系統刷新Binary名稱。更多信息,請參見命令行工具ossutil命令參考。
關于服務器端加密的更多信息,請參見服務器端加密。
當您在OSS ON云盒中使用該命令時:
將配置文件中的Endpoint替換為云盒Endpoint。更多信息,請參見云盒Endpoint。
在本文已有示例的基礎上添加--sign-version、--region以及--cloudbox-id選項。關于這三個選項的具體用法,請參見通用選項。
添加或修改Bucket加密配置
命令格式
ossutil bucket-encryption --method put oss://bucketName --sse-algorithm algorithmName [--kms-masterkey-id keyid] [--kms-data-encryption SM4]
參數說明如下:
參數
說明
bucketName
配置服務器端加密的目標Bucket。
--sse-algorithm
Bucket的加密方式。
取值:
KMS:使用KMS托管密鑰進行加解密,即SSE-KMS。
AES256:使用OSS完全托管密鑰進行加解密,即SSE-OSS。
說明在OSS ON云盒使用場景中,僅支持AES256。
--kms-masterkey-id
當加密方式為SSE-KMS時,OSS使用默認托管的KMS CMK進行加密。如果您希望通過指定的KMS CMK進行加密,請通過此選項設置正確的CMK ID。
說明在OSS ON云盒使用場景中,不支持使用此選項。
--kms-data-encryption
當加密方式為SSE-KMS時,OSS使用默認加密算法AES256進行加密。如果您希望通過加密算法SM4進行加密,請通過此選項指定。
說明在OSS ON云盒使用場景中,不支持使用此選項。
使用示例
將examplebucket的服務器端加密方式設置為SSE-OSS,并指定加密算法為AES256。
ossutil bucket-encryption --method put oss://examplebucket --sse-algorithm AES256
將examplebucket的服務器端加密方式設置為SSE-KMS,指定CMK ID,并使用默認加密算法AES256進行加密。
ossutil bucket-encryption --method put oss://examplebucket --sse-algorithm KMS --kms-masterkey-id 9468da86-3509-4f8d-a61e-6eab1eac****
將examplebucket的服務器端加密方式設置為SSE-KMS,不指定CMK ID,并使用加密算法SM4進行加密。
ossutil bucket-encryption --method put oss://examplebucket --sse-algorithm KMS --kms-data-encryption SM4
以下輸出結果表明examplebucket已成功配置服務器端加密。
0.856895(s) elapsed
獲取Bucket加密配置
命令格式
ossutil bucket-encryption --method get oss://bucketname
使用示例
獲取examplebucket的加密配置。命令如下:
ossutil bucket-encryption --method get oss://examplebucket
以下輸出結果表明examplebucket配置的服務器端加密方式為SSE-KMS,未指定CMK ID,且加密算法為AES256。
SSEAlgorithm:KMS KMSMasterKeyID: KMSDataEncryption:
刪除Bucket加密配置
命令格式
ossutil bucket-encryption --method delete oss://bucketname
使用示例
刪除examplebucket的加密配置。命令如下:
ossutil bucket-encryption --method delete oss://examplebucket
以下輸出結果表明已成功刪除examplebucket的服務器端加密配置。
0.856686(s) elapsed
通用選項
當您需要通過命令行工具ossutil切換至另一個地域的Bucket時,可以通過-e選項指定該Bucket所屬的Endpoint。當您需要通過命令行工具ossutil切換至另一個阿里云賬號下的Bucket時,可以通過-i選項指定該賬號的AccessKey ID,并通過-k選項指定該賬號的AccessKey Secret。
例如,您需要為另一個阿里云賬號下,華東1(杭州)名為examplebucket的存儲空間配置AES256的加密方式,命令如下:
ossutil bucket-encryption --method put oss://examplebucket --sse-algorithm AES256 -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
關于此命令的其他通用選項的更多信息,請參見通用選項。