本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon 的資料保護 WorkMail
AWS 共同責任模型
基於資料保護目的,我們建議您保護 AWS 帳戶 登入資料,並使用 AWS IAM Identity Center 或 AWS Identity and Access Management () 設定個別使用者IAM。如此一來,每個使用者都只會獲得授與完成其任務所必須的許可。我們也建議您採用下列方式保護資料:
-
對每個帳戶使用多重驗證 (MFA)。
-
使用 SSL/TLS 與 AWS 資源通訊。我們需要 TLS 1.2 和建議 TLS 1.3。
-
使用 設定 API 和 使用者活動記錄 AWS CloudTrail。如需有關使用 CloudTrail 線索擷取 AWS 活動的資訊,請參閱AWS CloudTrail 《 使用者指南》中的使用 CloudTrail 線索。
-
使用 AWS 加密解決方案,以及其中的所有預設安全控制 AWS 服務。
-
使用進階的受管安全服務 (例如 Amazon Macie),協助探索和保護儲存在 Amazon S3 的敏感資料。
-
如果您在 AWS 透過命令列界面或 FIPS 存取 時需要 140-3 個經過驗證的密碼編譯模組API,請使用 FIPS端點。如需可用FIPS端點的詳細資訊,請參閱聯邦資訊處理標準 (FIPS) 140-3
。
我們強烈建議您絕對不要將客戶的電子郵件地址等機密或敏感資訊,放在標籤或自由格式的文字欄位中,例如名稱欄位。這包括當您使用 Amazon WorkMail 或其他 AWS 服務 使用 主控台API AWS CLI、 或 時 AWS SDKs。您在標籤或自由格式文字欄位中輸入的任何資料都可能用於計費或診斷日誌。如果您將 URL 提供給外部伺服器,強烈建議您在 中不要包含登入資料資訊URL,以驗證您對該伺服器的請求。
Amazon WorkMail 如何使用 AWS KMS
Amazon 會在訊息寫入磁碟之前,對所有 Amazon WorkMail 組織信箱中的所有訊息 WorkMail 進行透明加密,並在使用者存取訊息時將其透明解密。您無法停用加密。為了保護保護訊息的加密金鑰,Amazon 已與 AWS Key Management Service () WorkMail 整合AWS KMS。
Amazon WorkMail 也提供讓使用者能夠傳送已簽署或加密電子郵件的選項。此加密功能不使用 AWS KMS。如需詳細資訊,請參閱啟用簽章或加密的電子郵件。
Amazon WorkMail 加密
在 Amazon 中 WorkMail,每個組織可以包含多個信箱,每個使用者一個信箱。所有訊息 (包括電子郵件和行事曆項目) 都存放在使用者的信箱中。
為了保護您 Amazon WorkMail 組織中信箱的內容,Amazon WorkMail 會在所有信箱訊息寫入磁碟之前加密。客戶提供的資訊都不以純文字形式儲存。
每個訊息都在唯一的資料加密金鑰下加密。訊息金鑰由信箱金鑰加密,這是該信箱專用的唯一加密金鑰。信箱金鑰是在永遠不會保持 AWS KMS 未加密的組織 AWS KMS 的客戶主金鑰 (CMK) 下加密。下圖顯示加密訊息、加密訊息金鑰、加密信箱金鑰和 CMK 中組織 之間的關係 AWS KMS。
CMK 為組織設定
當您建立 Amazon WorkMail 組織時,您可以選擇組織 AWS KMS 的客戶主金鑰 (CMK)。這CMK可保護該組織中的所有信箱金鑰。
您可以選取 CMK Amazon 的預設 AWS 受管客戶 WorkMail,也可以選取您擁有和管理CMK的現有客戶。如需詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的客戶主金鑰 (CMKs)。您可以CMK為每個組織選取相同CMK或不同的 ,但一旦選取CMK就無法變更 。
重要
Amazon 僅 WorkMail 支援對稱 CMKs。您不能使用非對稱 CMK。如需協助判斷 CMK是對稱或非對稱,請參閱《 AWS Key Management Service 開發人員指南》中的識別對稱和非對稱CMKs。
若要尋找CMK組織的 ,請使用記錄對 呼叫的 AWS CloudTrail 日誌項目 AWS KMS。
每個信箱的唯一加密金鑰
當您建立信箱時,Amazon 會在外部為信箱 WorkMail 產生唯一的 256 位元進階加密標準
為了保護信箱金鑰,Amazon WorkMail 會呼叫 AWS KMS 來加密CMK組織 下的信箱金鑰。然後,它會將加密的信箱金鑰存放在信箱中繼資料。
注意
Amazon WorkMail 使用對稱信箱加密金鑰來保護訊息金鑰。過去,Amazon WorkMail 會使用非對稱金鑰對來保護每個信箱。它使用公有金鑰來加密每個訊息金鑰,並使用私有金鑰來解密金鑰。私有信箱金鑰受到CMK組織的 保護。較舊的信箱可能會使用非對稱信箱金鑰對。此變更不會影響信箱或其訊息的安全性。
加密每個訊息
當使用者將訊息新增至信箱時,Amazon 會為外部的訊息 WorkMail 產生唯一的 AES 256 位元對稱加密金鑰 AWS KMS。它會使用此訊息金鑰來加密訊息。Amazon 會在信箱金鑰下 WorkMail 加密訊息金鑰,並將加密的訊息金鑰與訊息一起存放。然後,它會加密組織 CMK 下的信箱金鑰。
建立新信箱
當 Amazon WorkMail 建立信箱時,會使用下列程序來準備信箱以保留加密的訊息。
-
Amazon 會為 外部的信箱 WorkMail 產生唯一的 AES 256 位元對稱加密金鑰AWSKMS。
-
Amazon 會 WorkMail 呼叫 AWS KMS Encrypt 操作。它會傳入 organization. 的信箱金鑰和客戶主金鑰 (CMK) 的識別符。 AWS KMS 會傳回在 下加密的信箱金鑰的密碼文字CMK。
-
Amazon 會將加密的信箱金鑰與信箱中繼資料一起 WorkMail 存放。
加密信箱訊息
若要加密訊息,Amazon WorkMail 會使用下列程序。
-
Amazon AES 會為訊息 WorkMail 產生唯一的 256 位元對稱金鑰。它使用純文字訊息金鑰和進階加密標準 (AES) 演算法來加密外部的訊息 AWS KMS。
-
為了保護信箱金鑰下的訊息金鑰,Amazon WorkMail 需要解密信箱金鑰,該金鑰一律以加密形式存放。
Amazon WorkMail 會呼叫 AWS KMS Decrypt 操作,並在加密的信箱金鑰中傳遞。 AWS KMS 會使用 CMK讓組織解密信箱金鑰,並將純文字信箱金鑰傳回給 Amazon WorkMail。
-
Amazon WorkMail 使用純文字信箱金鑰和進階加密標準 (AES) 演算法來加密外部的訊息金鑰 AWS KMS。
-
Amazon 會將加密的訊息金鑰 WorkMail 存放在加密訊息的中繼資料中,以便可以解密。
解密信箱訊息
若要解密訊息,Amazon WorkMail 會使用下列程序。
-
Amazon WorkMail 會呼叫 AWS KMS Decrypt 操作,並在加密的信箱金鑰中傳遞。 AWS KMS 會使用 CMK讓組織解密信箱金鑰,並將純文字信箱金鑰傳回給 Amazon WorkMail。
-
Amazon WorkMail 使用純文字信箱金鑰和進階加密標準 (AES) 演算法,在 外部解密加密的訊息金鑰 AWS KMS。
-
Amazon WorkMail 使用純文字訊息金鑰來解密加密的訊息。
快取信箱金鑰
為了改善效能並將對 的呼叫降至最低 AWS KMS,Amazon 會在本機 WorkMail 快取每個用戶端的每個純文字信箱金鑰最多一分鐘。在快取期間結束時,就會移除信箱金鑰。如果在快取期間需要該用戶端的信箱金鑰,Amazon WorkMail 可以從快取取得它,而不是呼叫它 AWS KMS。信箱金鑰放在快取中保護,絕對不會以純文字形式寫入磁碟。
授權使用 CMK
當 Amazon WorkMail 在密碼編譯操作中使用客戶主金鑰 (CMK) 時,它會代表信箱管理員。
若要代表您使用 AWS KMS 客戶主金鑰 (CMK) 做為秘密,管理員必須具有下列許可。您可以在 IAM 政策或金鑰政策中指定這些必要許可。
-
kms:Encrypt
-
kms:Decrypt
-
kms:CreateGrant
若要允許 CMK 僅用於源自 Amazon 的請求 WorkMail,您可以使用 kms:ViaService 條件索引鍵搭配 workmail.
值。<region>
.amazonaws.com
您也可以使用加密內容中的金鑰或值,做為使用 CMK 進行密碼編譯操作的條件。例如,您可以在 IAM 或金鑰政策文件中使用字串條件運算子,或在授與中使用授與限制。
AWS受管 的金鑰政策 CMK
Amazon AWS CMK受管 的金鑰政策僅在 Amazon 代表使用者 WorkMail 提出請求時, WorkMail 才提供使用者使用 CMK進行指定操作的許可。金鑰政策不允許任何使用者CMK直接使用 。
此金鑰政策與所有 AWS 受管金鑰的政策一樣,都是由服務建立。您無法變更金鑰政策,但您可以隨時檢視。如需詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的檢視金鑰政策。
金鑰政策中的政策陳述式具有下列效果:
-
允許帳戶和區域中的使用者使用 CMK 進行密碼編譯操作和建立授予,但僅限於請求來自 Amazon WorkMail 時。
kms:ViaService
條件金鑰會強制實施此限制。 -
允許 AWS 帳戶建立IAM政策,允許使用者檢視CMK屬性並撤銷授予。
以下是 CMK Amazon AWS 受管範例的金鑰政策 WorkMail。
{ "Version" : "2012-10-17", "Id" : "auto-workmail-1", "Statement" : [ { "Sid" : "Allow access through WorkMail for all principals in the account that are authorized to use WorkMail", "Effect" : "Allow", "Principal" : { "AWS" : "*" }, "Action" : [ "kms:Decrypt", "kms:CreateGrant", "kms:ReEncrypt*", "kms:DescribeKey", "kms:Encrypt" ], "Resource" : "*", "Condition" : { "StringEquals" : { "kms:ViaService" : "workmail.us-east-1.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:List*", "kms:Get*", "kms:RevokeGrant" ], "Resource" : "*" } ] }
使用授予授權 Amazon WorkMail
除了金鑰政策之外,Amazon WorkMail 還會使用授予來CMK為每個組織將許可新增至 。若要檢視您帳戶中CMK的 授予,請使用 ListGrants操作。
Amazon WorkMail 使用授予將下列許可新增至CMK組織的 。
-
新增允許 Amazon WorkMail 加密信箱金鑰的
kms:Encrypt
許可。 -
新增允許 Amazon WorkMail 使用 CMK解密信箱金鑰的
kms:Decrypt
許可。Amazon WorkMail 要求授予此許可,因為讀取信箱訊息的請求使用正在讀取訊息的使用者的安全內容。請求不會使用 AWS 帳戶的登入資料。當您CMK為組織選取 時,Amazon 會 WorkMail 建立此授與。
若要建立授予,Amazon CreateGrant會代表建立組織的使用者 WorkMail 呼叫 。建立授與的許可來自金鑰政策。當 Amazon 代表授權使用者 WorkMail 提出請求時,此政策允許帳戶使用者在 CreateGrant
上呼叫CMK組織的 。
金鑰政策也允許帳戶根撤銷 AWS 受管金鑰上的授予。不過,如果您撤銷授予,Amazon WorkMail 無法解密信箱中的加密資料。
Amazon WorkMail 加密內容
加密內容是一組金鑰/值對,其中包含任意非私密資料。當您在加密資料的請求中包含加密內容時, AWS KMS 加密會以加密內容繫結至加密的資料。若要解密資料,您必須傳遞相同的加密內容。如需詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的加密內容。
Amazon 在所有 AWS KMS 密碼編譯操作中使用 WorkMail 相同的加密內容格式。您可以使用加密內容來識別稽核記錄和日誌 (例如 AWS CloudTrail) 中的這些密碼編譯操作,以及在政策和授與中做為授權的條件。
AWS KMS Amazon 會在其加密和解密請求 WorkMail 中使用加密內容,其中金鑰為 aws:workmail:arn
,而值為組織的 Amazon Resource Name (ARN)。
"aws:workmail:arn":"arn:aws:workmail:region
:account ID
:organization/organization-ID
"
例如,下列加密內容包含歐洲 (愛爾蘭) (eu-west-1
) ARN 區域中的範例組織。
"aws:workmail:arn":"arn:aws:workmail:eu-west-1
:111122223333:organization/m-a123b4c5de678fg9h0ij1k2lm234no56
"
監控 Amazon 與 WorkMail 的互動 AWS KMS
您可以使用 AWS CloudTrail 和 Amazon CloudWatch Logs 來追蹤 Amazon AWS KMS 代表您 WorkMail 傳送給 的請求。
加密
當您建立信箱時,Amazon WorkMail 會產生信箱金鑰並呼叫 AWS KMS 來加密信箱金鑰。Amazon 會使用 AWS KMS 純文字信箱金鑰和 Amazon WorkMail 組織的 識別符CMK,將加密請求 WorkMail 傳送至 。
記錄 Encrypt
操作的事件類似於以下範例事件。使用者是 Amazon WorkMail 服務。這些參數包含 Amazon WorkMail 組織的 CMK ID (keyId
) 和加密內容。Amazon WorkMail 也會傳入信箱金鑰,但不會記錄在 CloudTrail 日誌中。
{ "eventVersion": "1.05", "userIdentity": { "type": "AWSService", "invokedBy": "workmail.eu-west-1.amazonaws.com" }, "eventTime": "2019-02-19T10:01:09Z", "eventSource": "kms.amazonaws.com", "eventName": "Encrypt", "awsRegion": "eu-west-1", "sourceIPAddress": "workmail.eu-west-1.amazonaws.com", "userAgent": "workmail.eu-west-1.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:workmail:arn": "arn:aws:workmail:eu-west-1:111122223333:organization/m-a123b4c5de678fg9h0ij1k2lm234no56" }, "keyId": "arn:aws:kms:eu-west-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d" }, "responseElements": null, "requestID": "76e96b96-7e24-4faf-a2d6-08ded2eaf63c", "eventID": "d5a59c18-128a-4082-aa5b-729f7734626a", "readOnly": true, "resources": [ { "ARN": "arn:aws:kms:eu-west-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d", "accountId": "111122223333", "type": "AWS::KMS::Key" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333", "sharedEventID": "d08e60f1-097e-4a00-b7e9-10bc3872d50c" }
解密
當您新增、檢視或刪除信箱訊息時,Amazon AWS KMS 會 WorkMail 要求解密信箱金鑰。Amazon WorkMail 會傳送 Decrypt 請求至 , AWS KMS 其中包含加密信箱金鑰和 Amazon CMK WorkMail 組織的 識別符。
記錄 Decrypt
操作的事件類似於以下範例事件。使用者是 Amazon WorkMail 服務。這些參數包括未記錄在日誌中的加密信箱金鑰 (做為加密文字 Blob),以及 Amazon WorkMail organization. AWS KMS derives CMK the ID from the ciphertext。
{ "eventVersion": "1.05", "userIdentity": { "type": "AWSService", "invokedBy": "workmail.eu-west-1.amazonaws.com" }, "eventTime": "2019-02-20T11:51:10Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "eu-west-1", "sourceIPAddress": "workmail.eu-west-1.amazonaws.com", "userAgent": "workmail.eu-west-1.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:workmail:arn": "arn:aws:workmail:eu-west-1:111122223333:organization/m-a123b4c5de678fg9h0ij1k2lm234no56" } }, "responseElements": null, "requestID": "4a32dda1-34d9-4100-9718-674b8e0782c9", "eventID": "ea9fd966-98e9-4b7b-b377-6e5a397a71de", "readOnly": true, "resources": [ { "ARN": "arn:aws:kms:eu-west-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d", "accountId": "111122223333", "type": "AWS::KMS::Key" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333", "sharedEventID": "241e1e5b-ff64-427a-a5b3-7949164d0214" }