Skip to main content
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

使用伺服器端加密

伺服器端加密可讓您保護靜態的物件資料。 StorageGRID在寫入物件時會對資料進行加密,並在您存取物件時解密資料。

如果您想使用伺服器端加密,您可以根據加密金鑰的管理方式選擇兩個互斥選項之一:

  • SSE(使用StorageGRID管理金鑰的伺服器端加密):當您發出 S3 請求來儲存物件時, StorageGRID會使用唯一金鑰加密該物件。當您發出 S3 請求來擷取物件時, StorageGRID會使用儲存的金鑰來解密該物件。

  • SSE-C(使用客戶提供的金鑰進行伺服器端加密):當您發出 S3 請求來儲存物件時,您需要提供自己的加密金鑰。當您檢索物件時,您會提供相同的加密金鑰作為請求的一部分。如果兩個加密金鑰匹配,則解密物件並傳回物件資料。

    雖然StorageGRID管理所有物件加密和解密操作,但您必須管理您提供的加密金鑰。

    警告 您提供的加密金鑰永遠不會被儲存。如果遺失了加密金鑰,您就會遺失對應的物件。
    註 如果使用 SSE 或 SSE-C 加密對象,則會忽略任何儲存桶層級或網格層級的加密設定。

使用 SSE

若要使用StorageGRID管理的唯一金鑰加密對象,請使用下列請求標頭:

x-amz-server-side-encryption

以下物件操作支援 SSE 請求頭:

使用 SSE-C

若要使用您管理的唯一密鑰加密對象,請使用三個請求標頭:

請求頭 描述

x-amz-server-side​-encryption​-customer-algorithm

指定加密算法。標頭值必須是 AES256

x-amz-server-side​-encryption​-customer-key

指定用於加密或解密物件的加密金鑰。密鑰的值必須是 256 位元、base64 編碼的。

x-amz-server-side​-encryption​-customer-key-MD5

根據RFC 1321指定加密金鑰的MD5摘要,用於確保加密金鑰傳輸無誤。 MD5 摘要的值必須是 base64 編碼的 128 位元。

以下物件操作支援 SSE-C 請求標頭:

使用客戶提供的金鑰進行伺服器端加密 (SSE-C) 的注意事項

在使用 SSE-C 之前,請注意以下事項:

  • 您必須使用 https。

    警告 使用 SSE-C 時, StorageGRID會拒絕任何透過 http 發出的請求。出於安全考慮,您應將任何意外使用 http 發送的密鑰視為已洩露。丟棄鑰匙,並進行適當的旋轉。
  • 響應中的ETag不是物件資料的MD5。

  • 您必須管理加密金鑰到物件的對應。 StorageGRID不會儲存加密金鑰。您有責任追蹤為每個物件提供的加密金鑰。

  • 如果您的儲存桶啟用了版本控制,則每個物件版本都應該有自己的加密金鑰。您有責任追蹤每個物件版本所使用的加密金鑰。

  • 因為您在客戶端管理加密金鑰,所以您還必須在客戶端管理任何其他保護措施,例如金鑰輪換。

    警告 您提供的加密金鑰永遠不會被儲存。如果遺失了加密金鑰,您就會遺失對應的物件。
  • 如果為儲存桶配置了跨網格複製或 CloudMirror 複製,則無法擷取 SSE-C 物件。攝取操作將會失敗。