Amazon 的數據保護 WorkMail - Amazon WorkMail

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

Amazon 的數據保護 WorkMail

AWS 共同責任模型適用於 Amazon 中的資料保護 WorkMail。如此模型中所述, AWS 負責保護執行所有 AWS 雲端. 您負責維護在此基礎設施上託管內容的控制權。您也同時負責所使用 AWS 服務 的安全組態和管理任務。如需資料隱私權的詳細資訊,請參閱資料隱私權常見問答集如需有關歐洲資料保護的相關資訊,請參閱 AWS 安全性部落格上的 AWS 共同的責任模型和 GDPR 部落格文章。

基於資料保護目的,我們建議您使用 AWS IAM Identity Center 或 AWS Identity and Access Management (IAM) 保護 AWS 帳戶 登入資料並設定個別使用者。如此一來,每個使用者都只會獲得授與完成其任務所必須的許可。我們也建議您採用下列方式保護資料:

  • 每個帳戶均要使用多重要素驗證 (MFA)。

  • 使用 SSL/TLS 與 AWS 資源進行通訊。我們需要 TLS 1.2 並建議使用 TLS 1.3。

  • 使用設定 API 和使用者活動記錄 AWS CloudTrail。

  • 使用 AWS 加密解決方案以及其中的所有默認安全控制 AWS 服務。

  • 使用進階的受管安全服務 (例如 Amazon Macie),協助探索和保護儲存在 Amazon S3 的敏感資料。

  • 如果您在透過命令列介面或 API 存取時需要經 AWS 過 FIPS 140-2 驗證的加密模組,請使用 FIPS 端點。如需有關 FIPS 和 FIPS 端點的更多相關資訊,請參閱聯邦資訊處理標準 (FIPS) 140-2 概觀

我們強烈建議您絕對不要將客戶的電子郵件地址等機密或敏感資訊,放在標籤或自由格式的文字欄位中,例如名稱欄位。這包括當您使用控制台,API WorkMail 或 AWS SDK 與 Amazon 或其他 AWS 服務 AWS CLI人合作時。您在標籤或自由格式文字欄位中輸入的任何資料都可能用於計費或診斷日誌。如果您提供外部伺服器的 URL,我們強烈建議請勿在驗證您對該伺服器請求的 URL 中包含憑證資訊。

Amazon 如何 WorkMail 使用 AWS KMS

在將訊息寫入磁碟之前,Amazon 會 WorkMail 透明地加密所有 Amazon WorkMail 組織信箱中的所有訊息,並在使用者存取訊息時透明地解密訊息。您無法停用加密。為了保護訊息的加密金鑰,Amazon WorkMail 已與 AWS Key Management Service (AWS KMS) 整合。

Amazon WorkMail 也提供一個選項,讓使用者能夠傳送已簽署或加密的電子郵件。此加密功能不使用 AWS KMS。如需詳細資訊,請參閱 啟用簽章或加密的電子郵件

Amazon WorkMail 加密

在 Amazon 中 WorkMail,每個組織都可以包含多個信箱,組織中的每個使用者一個信箱。所有訊息 (包括電子郵件和行事曆項目) 都存放在使用者的信箱中。

為了保護 Amazon WorkMail 組織中信箱的內容,Amazon 會在將所有信箱訊息寫入磁碟之前先 WorkMail 加密。客戶提供的資訊都不以純文字形式儲存。

每個訊息都在唯一的資料加密金鑰下加密。訊息金鑰由信箱金鑰加密,這是該信箱專用的唯一加密金鑰。信箱金鑰會根據 AWS KMS 客戶主要金鑰 (CMK) 加密,而組織永遠不會保留 AWS KMS 未加密。下圖顯示 AWS KMS中在加密訊息、加密訊息金鑰、加密信箱金鑰及組織 CMK 之間的關係。

加密您的 Amazon WorkMail 信箱

為組織設定 CMK

建立 Amazon 組 WorkMail 織時,您可以選擇為組織選取 AWS KMS 客戶主金鑰 (CMK)。這個 CMK 保護該組織中的所有信箱金鑰。

您可以選取 Amazon 的預設 AWS 受管 CMK WorkMail,也可以選取您擁有和管理的現有客戶管理 CMK。如需詳細資訊,請參閱AWS Key Management Service 開發人員指南中的客戶主金鑰 (CMK)。您可以為每個組織選取相同的 CMK 或不同的 CMK,但是一旦選取 CMK,就無法變更 CMK。

重要

Amazon 僅 WorkMail 支持對稱 CMK。您無法使用非對稱 CMK。如需確定 CMK 是對稱還是非對稱的說明,請參閱開發人員指南中的識別對稱和非對稱 CMK。AWS Key Management Service

若要尋找組織的 CMK,請使用記錄呼叫的記錄項目。 AWS CloudTrail AWS KMS

每個信箱的唯一加密金鑰

當您建立信箱時,Amazon WorkMail 會為信箱產生唯一的 256 位元進階加密標準 (AES) 對稱加密金鑰 (稱為其信箱金鑰)。 AWS KMS Amazon WorkMail 使用信箱金鑰來保護信箱中每個訊息的加密金鑰。

為了保護信箱金鑰,Amazon 會 WorkMail 呼叫 AWS KMS 將組織 CMK 下的信箱金鑰加密。然後,它會將加密的信箱金鑰存放在信箱中繼資料。

注意

Amazon WorkMail 使用對稱信箱加密金鑰來保護訊息金鑰。之前,Amazon 會使用非對稱 key pair 來 WorkMail保護每個信箱。它使用公有金鑰來加密每個訊息金鑰,並使用私有金鑰來解密金鑰。私有信箱金鑰由組織的 CMK 保護。較舊的信箱可能會使用非對稱信箱 key pair。此變更不會影響信箱或其訊息的安全性。

加密每封郵件

當使用者將訊息新增至信箱時,Amazon WorkMail 會為其外的訊息產生唯一的 256 位元 AES 對稱加密金鑰。 AWS KMS它會使用此訊息金鑰來加密訊息。Amazon WorkMail 會加密信箱金鑰下的訊息金鑰,並將加密的訊息金鑰與訊息一起儲存。然後,它在組織的 CMK 下加密信箱金鑰。

建立新信箱

Amazon WorkMail 建立信箱時,會使用下列程序準備信箱以保存加密訊息。

  • Amazon 為 AWS KMS 之外的信箱 WorkMail 產生唯一的 256 位元 AES 對稱加密金鑰。

  • Amazon WorkMail 調用加 AWS KMS 操作。它會傳遞信箱金鑰和組織的客戶主金鑰 (CMK) 的識別碼。 AWS KMS 傳回以 CMK 加密之信箱金鑰的密文字。

  • Amazon 會將加密的信箱金鑰與信箱中繼資料一起 WorkMail 儲存。

加密信箱訊息

要加密消息,Amazon WorkMail 使用以下過程。

  1. Amazon 為消息 WorkMail 生成一個唯一的 256 位 AES 對稱密鑰。它會使用純文字訊息金鑰和進階加密標準 (AES) 演算法來加密外部的訊息。 AWS KMS

  2. 為了保護信箱金鑰下的訊息金鑰,Amazon WorkMail 需要解密信箱金鑰,信箱金鑰一律以其加密形式儲存。

    Amazon WorkMail 呼叫「 AWS KMS 解密」作業,並傳入加密的信箱金鑰。 AWS KMS 使用組織的 CMK 解密信箱金鑰,並將純文字信箱金鑰傳回給 Amazon。 WorkMail

  3. Amazon WorkMail 使用純文字信箱金鑰和進階加密標準 (AES) 演算法來加密外部的訊息金鑰。 AWS KMS

  4. Amazon 會將加密的訊息金鑰 WorkMail 儲存在加密訊息的中繼資料中,以便對其進行解密。

解密信箱訊息

要解密消息,Amazon WorkMail 使用以下過程。

  1. Amazon WorkMail 呼叫「 AWS KMS 解密」作業,並傳入加密的信箱金鑰。 AWS KMS 使用組織的 CMK 解密信箱金鑰,並將純文字信箱金鑰傳回給 Amazon。 WorkMail

  2. Amazon WorkMail 使用純文字信箱金鑰和進階加密標準 (AES) 演算法來解密外部的加密訊息金鑰。 AWS KMS

  3. 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 金鑰政策 WorkMail 讓使用者只有在 Amazon 代表使用者 WorkMail 提出要求時,才允許使用者將 CMK 用於指定的作業。金鑰政策不允許任何使用者直接使用 CMK。

此金鑰政策與所有 AWS 受管金鑰的政策一樣,都是由服務建立。您無法變更金鑰原則,但可以隨時檢視。如需詳細資訊,請參AWS Key Management Service 開發人員指南中的檢視金鑰政策

金鑰政策中的政策陳述式具有下列效果:

  • 允許帳戶和區域中的使用者使用 CMK 進行加密操作和建立授權,但只有當請求來自 Amazon WorkMail 代表他們。kms:ViaService 條件金鑰會強制實施此限制。

  • 允許 AWS 帳戶建立 IAM 政策,讓使用者檢視 CMK 屬性和撤銷授權。

以下是適用於 Amazon WorkMail 的 AWS 受管 CMK 範例的金鑰政策。

{ "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 帳戶的憑據。Amazon WorkMail 會在您為組織選取 CMK 時建立此授權。

若要建立贈款,Amazon 會代表建立組織的使用者 WorkMail 呼叫CreateGrant。建立授與的許可來自金鑰政策。此政策允許帳戶使用者CreateGrant在 Amazon 代表授權 WorkMail 使用者提出要求時,向組織的 CMK 撥打電話。

金鑰策略也允許帳號根目錄撤銷受 AWS 管理金鑰的授權。不過,如果您撤銷授權,Amazon 就 WorkMail 無法解密信箱中的加密資料。

Amazon WorkMail 加密環境

加密內容是一組金鑰/值對,其中包含任意非私密資料。當您在加密資料的要求中包含加密內容時, AWS KMS 密碼編譯會將加密內容繫結至加密的資料。若要解密資料,您必須傳遞相同的加密內容。如需詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的加密內容

Amazon 在所 AWS KMS 有加密操作中 WorkMail 使用相同的加密內容格式。您可以使用加密內容來識別稽核記錄和日誌 (例如 AWS CloudTrail) 中的這些密碼編譯操作,以及在政策和授與中做為授權的條件。

在其加密解密請求中 AWS KMS,Amazon WorkMail 使用密鑰所在的加密上下文,值是組織的 Amazon 資源名稱(ARN)。aws:workmail: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 日誌來跟踪 Amazon 代表您 WorkMail 發送到 AWS KMS 的請求。

加密

當您建立信箱時,Amazon WorkMail 會產生信箱金鑰並呼叫 AWS KMS 以加密信箱金鑰。Amazon WorkMail 會將加請求傳送到 AWS KMS Amazon 組織的明文信箱金鑰和 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 WorkMail 會 AWS KMS 要求您解密信箱金鑰。Amazon WorkMail 會將解密請求傳送至,其中 AWS KMS 包含加密信箱金鑰和 Amazon WorkMail 組織 CMK 的識別碼。

記錄 Decrypt 操作的事件類似於以下範例事件。用戶是 Amazon WorkMail 服務。這些參數包括未記錄在記錄中的加密信箱金鑰 (做為密文 Blob),以及 Amazon WorkMail 組織的加密內容。 AWS KMS 從密文中導出 CMK 的 ID。

{ "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" }