OSS提供哪些數(shù)據(jù)加密的方式??有懂的嗎
OSS通過(guò)服務(wù)器端加密機(jī)制,提供靜態(tài)數(shù)據(jù)保護(hù)。適合于對(duì)于文件存儲(chǔ)有高安全性或者合規(guī)性要求的應(yīng)用場(chǎng)景。例如,深度學(xué)習(xí)樣本文件的存儲(chǔ)、在線協(xié)作類文檔數(shù)據(jù)的存儲(chǔ)。
同一對(duì)象在同一時(shí)間內(nèi)僅可以使用一種服務(wù)器端加密方式。OSS針對(duì)不同使用場(chǎng)景提供了兩種服務(wù)器端加密方式,您可以根據(jù)實(shí)際使用場(chǎng)景選用。
使用KMS(Key Management Service)托管密鑰進(jìn)行加解密(SSE-KMS)
使用KMS托管的默認(rèn)CMK(Customer Master Key)或指定CMK進(jìn)行加解密操作。數(shù)據(jù)無(wú)需通過(guò)網(wǎng)絡(luò)發(fā)送到KMS服務(wù)端進(jìn)行加解密,是一種低成本的加解密方式。
注意
使用KMS密鑰功能會(huì)產(chǎn)生少量的KMS密鑰使用費(fèi)用。費(fèi)用詳情,請(qǐng)參見KMS計(jì)費(fèi)標(biāo)準(zhǔn)。
用于加密Object的密鑰也會(huì)被加密,并寫入Object的元信息中。
KMS托管密鑰的服務(wù)器端加密方式僅加密Object數(shù)據(jù),不加密Object的元數(shù)據(jù)。
使用OSS完全托管密鑰進(jìn)行加解密(SSE-OSS)
使用OSS完全托管的密鑰加密每個(gè)Object。為了提升安全性,OSS還會(huì)使用定期輪轉(zhuǎn)的主密鑰對(duì)加密密鑰本身進(jìn)行加密。該方式適合于批量數(shù)據(jù)的加解密。
配置Bucket默認(rèn)加密方式 上傳文件并指定加密方式 使用KMS托管的用戶主密鑰CMK生成加密密鑰加密數(shù)據(jù),通過(guò)信封加密機(jī)制,可進(jìn)一步防止未經(jīng)授權(quán)的數(shù)據(jù)訪問。借助KMS,您可以專注于數(shù)據(jù)加解密、電子簽名驗(yàn)簽等業(yè)務(wù)功能,無(wú)需花費(fèi)大量成本來(lái)保障密鑰的保密性、完整性和可用性。 SSE-KMS加密方式的邏輯示意圖如下。 使用SSE-KMS加密方式時(shí),可使用如下密鑰: 使用OSS默認(rèn)托管的KMS密鑰 OSS使用默認(rèn)托管的KMS CMK生成不同的密鑰來(lái)加密不同的Object,并且在下載時(shí)自動(dòng)解密。首次使用時(shí),OSS會(huì)在KMS平臺(tái)創(chuàng)建一個(gè)OSS托管的CMK。 配置方式如下: 配置Bucket默認(rèn)加密方式 配置Bucket默認(rèn)加密方式為KMS,指定加密算法為AES256或SM4,但不指定具體的CMK ID。此后,所有上傳至此Bucket的Object都會(huì)被加密。 為指定Object配置加密方式 上傳Object或修改Object的meta信息時(shí),在請(qǐng)求中攜帶 使用自帶密鑰BYOK(Bring Your Own Key) 您在KMS控制臺(tái)使用BYOK材料生成CMK后,OSS可使用指定的KMS CMK生成不同的密鑰來(lái)加密不同的Object,并將加密Object的CMK ID記錄到Object的元數(shù)據(jù)中,只有具有解密權(quán)限的用戶下載Object時(shí)才會(huì)自動(dòng)解密。 BYOK材料來(lái)源有兩種: 配置方式如下: 配置Bucket默認(rèn)加密方式 配置Bucket默認(rèn)加密方式為KMS,指定加密算法為AES256或SM4,并指定具體的CMK ID。此后,所有上傳至此Bucket的Object都會(huì)被加密。 為目標(biāo)Object配置加密方式 上傳Object或修改Object的meta信息時(shí),在請(qǐng)求中攜帶 由阿里云提供的BYOK材料:在KMS平臺(tái)創(chuàng)建密鑰時(shí),選擇密鑰材料來(lái)源為阿里云KMS。 使用用戶自有的BYOK材料:在KMS平臺(tái)創(chuàng)建密鑰時(shí),選擇密鑰材料來(lái)源為外部,并按照要求導(dǎo)入外部密鑰材料。導(dǎo)入外部密鑰可參考文檔導(dǎo)入密鑰材料。 OSS負(fù)責(zé)生成和管理數(shù)據(jù)加密密鑰,并采用高強(qiáng)度、多因素的安全措施進(jìn)行保護(hù)。數(shù)據(jù)加密的算法采用行業(yè)標(biāo)準(zhǔn)的AES256(即256位高級(jí)加密標(biāo)準(zhǔn))和國(guó)密SM4算法。 配置方式如下: 配置Bucket默認(rèn)加密方式 配置Bucket默認(rèn)加密方式為OSS完全托管,并指定加密算法為AES256或SM4。此后,所有上傳至此Bucket的Object都會(huì)默認(rèn)被加密。 為目標(biāo)Object配置加密方式 上傳Object或修改Object的meta信息時(shí),在請(qǐng)求中攜帶操作方式
操作方式 說(shuō)明 控制臺(tái) Web應(yīng)用程序,直觀易用。 命令行工具ossutil 命令行工具,性能好。 Java SDK 豐富、完整的各類語(yǔ)言SDK demo。 Python SDK Go SDK 使用KMS托管密鑰進(jìn)行加解密
x-oss-server-side-encryption
參數(shù),并設(shè)置參數(shù)值為KMS
。此時(shí),OSS將使用默認(rèn)托管的KMS CMK,并通過(guò)AES256加密算法加密Object。如需修改加密算法為SM4,您還需增加x-oss-server-side-data-encryption
參數(shù),并指定值為SM4
。更多詳情,請(qǐng)參見PutObject。x-oss-server-side-encryption
參數(shù),并設(shè)置參數(shù)值為KMS
;攜帶x-oss-server-side-encryption-key-id
參數(shù),并設(shè)置參數(shù)值為指定CMK ID。此時(shí),OSS將使用指定的KMS CMK,并通過(guò)AES256加密算法加密Object。如需修改加密算法,您還需增加x-oss-server-side-data-encryption
參數(shù),并設(shè)置參數(shù)值為SM4
。更多詳情,請(qǐng)參見PutObject。使用OSS完全托管密鑰進(jìn)行加解密
x-oss-server-side-encryption
參數(shù),并設(shè)置參數(shù)值為AES256
或SM4
。此時(shí),目標(biāo)Object將使用OSS完全托管的密鑰進(jìn)行加密。