View a markdown version of this page

加密 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

加密

S3 檔案提供全方位的加密功能,可保護靜態和傳輸中的資料。

靜態加密

您的 S3 儲存貯體會使用 Amazon S3 的加密機制進行加密。如需 S3 中資料加密的資訊,請參閱使用加密保護資料

S3 檔案會使用伺服器端加密來加密 S3 檔案系統中的靜態資料。伺服器端加密是指接收資料的應用程式或服務在目的地將資料加密。在 S3 檔案系統中,資料和中繼資料預設會在寫入儲存體之前加密,並在讀取時自動解密。這些程序由 S3 檔案透明處理,因此您不需要修改應用程式。檔案系統中的所有靜態資料都會使用 AWS Key Management Service (KMS) 金鑰,使用下列其中一種方法進行加密:

  • (預設) 伺服器端加密搭配 AWS 擁有的 KMS 金鑰 (SSE-KMS)

  • 伺服器端加密搭配客戶受管 KMS 金鑰 (SSE-KMS-CMK)

使用 AWS KMS 金鑰需支付額外費用。如需詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的 KMS 關鍵概念AWS KMS 定價AWS

伺服器端加密搭配 AWS 擁有的 KMS 金鑰 (SSE-KMS)

這是在 S3 檔案系統中加密靜態資料的預設金鑰。 AWS 擁有的金鑰是 AWS 服務擁有和管理的 KMS 金鑰集合。當您使用 AWS 擁有的金鑰時,S3 檔案會擁有和管理 S3 檔案系統中靜態資料和中繼資料的加密。如需 AWS 擁有金鑰的詳細資訊,請造訪 AWS KMS 金鑰

伺服器端加密搭配客戶受管 AWS KMS 金鑰 (SSE-KMS-CMK)

建立檔案系統時,您可以選擇設定您管理的 AWS Key Management Service (AWS KMS) 金鑰。當您搭配 S3 檔案系統使用 SSE-KMS 加密時, AWS KMS 金鑰必須與檔案系統位於相同的區域。

AWS KMS 的 S3 檔案金鑰政策

金鑰政策是控制對客戶受管金鑰存取的主要方式。如需金鑰政策的詳細資訊,請參閱 Key Management Service 開發人員指南中的 AWS KMS 中的金鑰政策AWS 下列清單說明 S3 檔案支援用於加密靜態檔案系統的所有 AWS KMS 相關許可:

kms:Encrypt

(選用) 將純文字加密為加密文字。此許可會納入預設的金鑰政策中。

kms:解密

(必要) 解密加密文字。加密文字為之前已加密的純文字。此許可會納入預設的金鑰政策中。

kms:ReEncrypt

(選用) 使用新的客戶受管金鑰加密伺服器端的資料,而不會公開用戶端資料的純文字。資料會先解密,然後重新加密。此許可會納入預設的金鑰政策中。

kms:GenerateDataKeyWithoutPlaintext

(必要) 傳回以客戶受管金鑰加密的資料加密金鑰。此許可會納入 kms:GenerateDataKey* 下預設的金鑰政策中。

kms:創建權限

(必要) 將授予新增至金鑰,以指定誰可以使用金鑰,以及在哪些條件下使用。授予是金鑰政策的備用許可機制。如需授予的詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的 AWS KMS 中的授予。此許可會納入預設的金鑰政策中。

kms:描述金鑰

(必要) 提供指定客戶受管金鑰的詳細資訊。此許可會納入預設的金鑰政策中。

kms:ListAliases

(選用) 列出帳戶中的所有金鑰別名。當您使用主控台來建立加密的檔案系統時,此許可會填入選擇 KMS 金鑰清單。我們建議您使用此許可,以提供最佳使用者體驗。此許可會納入預設的金鑰政策中。

金鑰狀態及其效果

KMS 金鑰的狀態會直接影響對您加密檔案系統的存取:

已啟用

正常操作 - 檔案系統的完整讀取和寫入存取權。

Disabled

檔案系統在一段時間後變得無法存取。可以重新啟用。

待刪除

檔案系統變得無法存取。在等待期間可以取消刪除。請注意,取消刪除金鑰後,金鑰需要移至啟用狀態。

已刪除

檔案系統永久無法存取。此動作無法反轉。

警告

如果您停用或刪除用於檔案系統的 KMS 金鑰,或撤銷對金鑰的 S3 檔案存取權,您的檔案系統將無法存取。如果您沒有備份,這可能會導致資料遺失。在變更加密金鑰之前,請務必確保您已備妥適當的備份程序。

傳輸中加密

S3 檔案需要使用 Transport Layer Security (TLS) 加密傳輸中的資料。當您使用掛載協助程式掛載檔案系統時,在用戶端和檔案系統之間傳輸的所有資料都會使用 TLS 加密。掛載協助程式會初始化 efs-proxy 程序,以與您的檔案系統建立安全的 TLS 連線。掛載協助程式也會建立稱為 amazon-efs-mount-watchdog 的程序,以監控掛載的運作狀態,並在第一次掛載 S3 檔案系統時自動啟動。它可確保每個掛載的 efs-proxy 程序正在執行,並在卸載檔案系統時停止程序。如果程序因某些原因而意外終止,監視程式程序會重新啟動它。

以下說明傳輸中 TLS 加密的運作方式:

  1. 在用戶端和檔案系統之間建立安全的 TLS 連線

  2. 所有 NFS 流量都會透過此加密連線路由

  3. 資料會在傳輸前加密,並在接收時解密

加密傳輸中的資料會變更您的 NFS 用戶端設定。檢查您的主動掛載檔案系統時,您會看到一個掛載至 127.0.0.1 或 localhost 的檔案系統,如下列範例。

$ mount | column -t 127.0.0.1:/ on /home/ec2-user/s3files type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=20127,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none,addr=127.0.0.1)

您可以使用掛載協助程式掛載檔案系統,該協助程式一律使用 TLS 加密傳輸中的資料。因此,掛載時,NFS 用戶端會重新設定為掛載至本機連接埠。