本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon EFS 與 AWS Key Management Service (AWS KMS) 整合以進行金鑰管理。Amazon EFS 使用客戶金鑰來加密檔案系統,方式如下:
-
加密靜態中繼資料:Amazon EFS 會使用 AWS 受管金鑰 為 Amazon EFS、
aws/elasticfilesystem
加密和解密檔案系統中繼資料 (即檔案名稱、目錄名稱和目錄內容)。 -
加密靜態檔案資料:您選擇用於加密和解密檔案資料的客戶受管金鑰(也就是檔案的內容)。您可以啟用、停用或撤銷對此客戶自管金鑰的授予。此客戶受管金鑰可以是下列兩種類型之一:
-
AWS 受管金鑰 for Amazon EFS – 這是預設的客戶受管金鑰
aws/elasticfilesystem
。客戶受管金鑰建立和儲存時不會產生費用,但使用會產生費用。如需進一步了解,請參閱 AWS Key Management Service 定價。 -
客戶受管金鑰:這是使用起來最靈活的 KMS 金鑰,因為您可以設定它的金鑰政策和授予多個使用者或服務。如需建立客戶受管金鑰的詳細資訊,請參閱《開發人員指南》中的建立金鑰。 AWS Key Management Service
如果您為檔案資料加密和解密使用客戶受管金鑰,則可以啓用金鑰輪換。當您啟用金鑰輪換時, 會每年 AWS KMS 自動輪換一次金鑰。此外,使用客戶受管金鑰后,您可以選擇隨時停用、重新啟用、刪除或撤銷對客戶受管金鑰的存取。如需詳細資訊,請參閱管理加密檔案系統的存取權。
-
重要
Amazon EFS 僅接受對稱的客戶受管金鑰。您無法在 Amazon EFS 中使用非對稱的客戶受管金鑰。
靜態資料加密和解密都會以透明方式處理。不過,Amazon EFS 特定的 AWS 帳戶 IDs會出現在與 AWS KMS 動作相關的 AWS CloudTrail 日誌中。如需詳細資訊,請參閱靜態加密檔案系統的 Amazon EFS 日誌檔案項目。
的 Amazon EFS 金鑰政策 AWS KMS
金鑰政策是控制對客戶受管金鑰存取的主要方式。如需關於金鑰政策的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的在 AWS KMS中使用金鑰政策。以下清單描述了所有與 AWS KMS相關的許可,這些都是 Amazon EFS 為靜態加密檔案系統要求或支援的許可:
-
kms:Encrypt:(選用) 將純文字加密為加密文字。此許可會納入預設的金鑰政策中。
-
kms:Decrypt:(必要) 對密文進行解密。加密文字為之前已加密的純文字。此許可會納入預設的金鑰政策中。
-
kms:ReEncrypt:(選用) 在伺服器端加密資料與新的客戶受管金鑰,而不暴露在用戶端的純文字資料。資料會先解密,然後重新加密。此許可會納入預設的金鑰政策中。
-
kms:GenerateDataKeyWithoutPlaintext:(必要) 傳回在客戶受管金鑰下加密的資料加密金鑰。此許可會納入 kms:GenerateDataKey* 下預設的金鑰政策中。
-
kms:CreateGrant:(必要) 將授予新增至金鑰,以指定誰可以使用金鑰和使用條件。授予是金鑰政策的備用許可機制。如需授權的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的使用授權。此許可會納入預設的金鑰政策中。
-
kms:DescribeKey:(必要) 提供指定之客戶受管金鑰的詳細資訊。此許可會納入預設的金鑰政策中。
-
kms:ListAliases:(選用) 列出帳戶中所有金鑰別名。當您使用主控台來建立加密的檔案系統時,此許可會填入選擇 KMS 金鑰清單。我們建議您使用此許可,以提供最佳使用者體驗。此許可會納入預設的金鑰政策中。
AWS 受管金鑰 適用於 Amazon EFS KMS 政策
AWS 受管金鑰 適用於 Amazon EFS 的 KMS 政策 JSON aws/elasticfilesystem
如下所示:
{
"Version": "2012-10-17",
"Id": "auto-elasticfilesystem-1",
"Statement": [
{
"Sid": "Allow access to EFS for all principals in the account that are authorized to use EFS",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:CreateGrant",
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:ViaService": "elasticfilesystem.us-east-2.amazonaws.com",
"kms:CallerAccount": "111122223333"
}
}
},
{
"Sid": "Allow direct access to key metadata to the account",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": [
"kms:Describe*",
"kms:Get*",
"kms:List*",
"kms:RevokeGrant"
],
"Resource": "*"
}
]
}