本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
加密
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 擁有的 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 加密的運作方式:
在用戶端和檔案系統之間建立安全的 TLS 連線
所有 NFS 流量都會透過此加密連線路由
資料會在傳輸前加密,並在接收時解密
加密傳輸中的資料會變更您的 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 用戶端會重新設定為掛載至本機連接埠。