Amazon が WorkMail を使用する方法 AWS KMS - AWS Key Management Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon が WorkMail を使用する方法 AWS KMS

このトピックでは、Amazon が WorkMail AWS KMSを使用して E メールメッセージを暗号化する方法について説明します。

Amazon WorkMail の概要

Amazon WorkMail は、既存のデスクトップおよびモバイル E メールクライアントをサポートする、安全でマネージド型のビジネス E メールおよびカレンダーサービスです。Amazon WorkMail 組織を作成し、所有している 1 つ以上の E メールドメインを割り当てることができます。その後、組織内の E メールユーザーとディストリビューショングループのメールボックスを作成できます。

Amazon は、メッセージがディスクに書き込まれる前に、すべての Amazon WorkMail 組織のメールボックス内のすべてのメッセージを WorkMail 透過的に暗号化し、ユーザーがメッセージにアクセスするときにメッセージを透過的に復号します。暗号化を無効にするオプションはありません。メッセージを保護する暗号化キーを保護するために、Amazon WorkMail は AWS Key Management Service () と統合されていますAWS KMS。

Amazon には、ユーザーが署名付きまたは暗号化された E メールを送信できるようにするオプション WorkMail もあります。この暗号化機能は AWS KMS を使用していません。

Amazon WorkMail 暗号化

Amazon では WorkMail、各組織には、組織内のユーザーごとに 1 つずつ、複数のメールボックスを含めることができます。E メール、カレンダーの項目などのすべてのメッセージはユーザーのメールボックスに保存されます。

Amazon WorkMail 組織内のメールボックスの内容を保護するために、Amazon はすべてのメールボックスメッセージをディスクに書き込む前に WorkMail 暗号化します。お客様から提供された情報がプレーンテキストで保存されることはありません。

各メッセージは、一意のデータ暗号化キーで暗号化されます。メッセージキーは、そのメールボックスでのみ使用される一意の暗号化キーであるメールボックスキーで保護されています。メールボックスキーは、組織の AWS KMS key で暗号化されるため、AWS KMS を暗号化されないままにしません。次の図表は、AWS KMS における、暗号化されたメッセージ、暗号化されたメッセージキー、暗号化されたメールボックスキー、組織の KMS キーの関係を示しています。

Amazon WorkMail メールボックスの暗号化

組織の KMS キー

Amazon WorkMail 組織を作成するときに、組織の AWS KMS keyを選択できます。この KMS キーはその組織内のすべてのメールボックスキーを保護します。

高速セットアップ手順を使用して組織を作成する場合、Amazon WorkMail は の Amazon WorkMail (aws/workmail) AWS マネージドキー用 を使用しますAWS アカウント。標準セットアップ を使用する場合は、Amazon AWS マネージドキー 用の 、 WorkMail または所有および管理するカスタマーマネージドキーを選択できます。各組織で同じ、または異なる KMS キーを選択できますが、選択した KMS キーを変更することはできません。

重要

Amazon は、対称暗号化 KMS キーのみ WorkMail をサポートしています。非対称 KMS キーを使用して Amazon のデータを暗号化することはできません WorkMail。KMS キーが対称か非対称かを判断する方法については、非対称 KMS キーの識別 を参照してください。

組織の KMS キーを検索するには、AWS KMS への呼び出しを記録する AWS CloudTrail ログエントリを使用します。

各メールボックスの一意の暗号化キー

新しいメールボックスを作成すると、Amazon WorkMail はメールボックスの一意の 256 ビット Advanced Encryption Standard (AES) 対称暗号化キーを生成します。これはメールボックスキー と呼ばれますAWS KMS。Amazon WorkMail はメールボックスキーを使用して、メールボックス内の各メッセージの暗号化キーを保護します。

メールボックスキーを保護するために、Amazon は を WorkMail 呼び出しAWS KMSて組織の KMS キーでメールボックスキーを暗号化します。その後、メールボックスのメタデータに暗号化されたメールボックスキーを保存します。

注記

Amazon WorkMail は、対称メールボックス暗号化キーを使用してメッセージキーを保護します。以前は、Amazon は各メールボックスを非対称キーペアで WorkMail 保護していました。パブリックキーを使用して各メッセージキーを暗号化し、プライベートキーで復号していました。プライベートメールボックスキーは組織の KMS キーで保護されていました。既存のメールボックスは今も非対称メールボックスキーペアを使用している場合があります。この変更により、メールボックスやそのメッセージのセキュリティに影響が生じることはありません。

各メッセージの一意の暗号化キー

メールボックスにメッセージを追加すると、Amazon は の外部でメッセージの一意の 256 ビット AES 対称暗号化キー WorkMail を生成しますAWS KMS。このメッセージキーを使用してメッセージを暗号化します。Amazon はメールボックスキーでメッセージキーを WorkMail 暗号化し、暗号化されたメッセージキーをメッセージとともに保存します。次に、組織の KMS キーでメールボックスキーを暗号化します。

新しいメールボックスの作成

Amazon は、新しいメールボックス WorkMail を作成するときに、次のプロセスを使用して、暗号化されたメッセージを保持するメールボックスを準備します。

  • Amazon は、 の外部にあるメールボックス用に一意の 256 ビット AES 対称暗号化キー WorkMail を生成しますAWS KMS。

  • Amazon は Encrypt AWS KMS オペレーションを WorkMail 呼び出します。また、メールボックスキーおよび組織の AWS KMS key の識別子を渡します。AWS KMS は KMS キーで暗号化されたメールボックスキーの暗号化テキストを返します。

  • Amazon は、暗号化されたメールボックスキーをメールボックスメタデータとともに WorkMail 保存します。

メールボックスメッセージの暗号化

メッセージを暗号化するために、Amazon では以下のプロセス WorkMail を使用します。

  1. Amazon はメッセージの一意の 256 ビット AES 対称キー WorkMail を生成します。プレーンテキストのメッセージキーと Advanced Encryption Standard (AES) アルゴリズムを使用して、AWS KMS の外部でメッセージを暗号化します。

  2. メールボックスキーでメッセージキーを保護するために、Amazon はメールボックスキーを復号 WorkMail する必要があります。メールボックスキーは常に暗号化された形式で保存されます。

    Amazon は AWS KMS Decrypt オペレーションを WorkMail 呼び出し、暗号化されたメールボックスキーを渡します。 AWS KMSは組織の KMS キーを使用してメールボックスキーを復号し、プレーンテキストのメールボックスキーを Amazon に返します WorkMail。

  3. Amazon WorkMail は、プレーンテキストのメールボックスキーと Advanced Encryption Standard (AES) アルゴリズムを使用して、 の外部でメッセージキーを暗号化しますAWS KMS。

  4. Amazon WorkMail は、暗号化されたメッセージキーを暗号化されたメッセージのメタデータに保存し、復号化できるようにします。

メールボックスメッセージの復号

メッセージを復号化するために、Amazon は次のプロセス WorkMail を使用します。

  1. Amazon は AWS KMS Decrypt オペレーションを WorkMail 呼び出し、暗号化されたメールボックスキーを渡します。 AWS KMSは組織の KMS キーを使用してメールボックスキーを復号し、プレーンテキストのメールボックスキーを Amazon に返します WorkMail。

  2. Amazon WorkMail は、プレーンテキストのメールボックスキーと Advanced Encryption Standard (AES) アルゴリズムを使用して、 の外部で暗号化されたメッセージキーを復号しますAWS KMS。

  3. Amazon WorkMail は、プレーンテキストのメッセージキーを使用して、暗号化されたメッセージを復号します。

メールボックスキーのキャッシュ

パフォーマンスを向上させ、 への呼び出しを最小限に抑えるためにAWS KMS、Amazon は各クライアントのプレーンテキストのメールボックスキーを最大 1 分間ローカルに WorkMail キャッシュします。キャッシュ期間の終了時に、メールボックスキーは削除されます。キャッシュ期間中にそのクライアントのメールボックスキーが必要な場合、Amazon は を呼び出す代わりにキャッシュからキーを取得 WorkMail できますAWS KMS。メールボックスキーはキャッシュで保護されており、プレーンテキストでディスクに書き込まれることはありません。

KMS キーの使用を許可する

Amazon は、暗号化オペレーションAWS KMS keyで WorkMail を使用する場合、メールボックス管理者に代わって動作します。

ユーザーに代わってシークレットに AWS KMS key を使用するには、管理者に次のアクセス許可が必要です。IAM ポリシーまたはキーポリシーで、これらの必要なアクセス許可を指定できます。

  • kms:Encrypt

  • kms:Decrypt

  • kms:CreateGrant

Amazon から発信されるリクエストにのみ KMS キーを使用できるようにするには WorkMail、kms:ViaService 条件キーを workmail.<region>.amazonaws.com値とともに使用できます。

また、暗号化オペレーションに KMS キーを使用する条件として、暗号化コンテキストでキーまたは値を使用することもできます。例えば、IAM またはキーポリシードキュメントで文字列条件演算子を使用したり、許可で許可制約を使用したりできます。

キーポリシー (AWS マネージドキー 用)

Amazon AWS マネージドキーの のキーポリシーは、Amazon がユーザーに代わってリクエスト WorkMail を行った場合にのみ、指定されたオペレーションに KMS キーを使用するアクセス許可をユーザーに WorkMail 付与します。このキーポリシーでは、ユーザーが KMS キーを直接使用することは許可されません。

このキーポリシーは、すべての AWS マネージドキー のポリシーと同様に、サービスによって確立されます。キーポリシーは変更できませんが、いつでも表示できます。詳細については、「キーポリシーの表示」を参照してください。

このキーポリシーのポリシーステートメントには次の効果があります

  • アカウントとリージョンのユーザーが KMS キーを暗号化オペレーションに使用して許可を作成できるようにします。ただし、リクエストが Amazon から送信された場合に限り WorkMail ます。kms:ViaService 条件キーで、この制限を適用します。

  • KMS キープロパティを表示し、権限を取り消すことをユーザーに許可する IAM ポリシーを AWS アカウント が作成できるようにします。

以下は、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 は権限を使用して、各組織の KMS キーにアクセス許可を追加します。アカウントの KMS キーに対する許可を表示するには、 ListGrantsオペレーションを使用します。

Amazon WorkMail はグラントを使用して、組織の KMS キーに次のアクセス許可を追加します。

  • Amazon がメールボックスキーを暗号化 WorkMail できるようにする アクセスkms:Encrypt許可を追加します。

  • Amazon が KMS キー WorkMail を使用してメールボックスキーを復号できるようにする アクセスkms:Decrypt許可を追加します。Amazon では、メールボックスメッセージを読み取るリクエストは、メッセージを読み取っているユーザーのセキュリティコンテキストを使用するため、許可でこのアクセス許可 WorkMail が必要です。リクエストは AWS アカウント の認証情報を使用しません。Amazon は、組織の KMS キーを選択すると、この権限 WorkMail を作成します。

許可を作成するために、Amazon は組織を作成したユーザーCreateGrantに代わって を WorkMail 呼び出します。権限付与を作成するアクセス許可はキーポリシーから付与されます。このポリシーでは、Amazon CreateGrantが承認されたユーザーに代わってリクエスト WorkMail を行うときに、アカウントユーザーが組織の KMS キーで を呼び出すことができます。

キーポリシーはアカウントルートが AWS マネージドキー で権限を取り消すことも許可します。ただし、許可を取り消すと、Amazon はメールボックス内の暗号化されたデータを復号化 WorkMail できません。

Amazon WorkMail 暗号化コンテキスト

暗号化コンテキストは、任意のシークレットデータを含まない、一連のキーと値のペアです。データを暗号化するリクエストに暗号化コンテキストを組み込むと、AWS KMS は暗号化コンテキストを暗号化されたデータに暗号化してバインドします。データを復号するには、同じ暗号化コンテキストに渡す必要があります。

Amazon は、すべての暗号化オペレーションで同じAWS KMS暗号化コンテキスト形式 WorkMail を使用します。暗号化コンテキストを使用して、AWS CloudTrail などの監査レコードやログで、暗号化オペレーションを確認できます。また、ポリシーと許可で認可の条件として確認することもできます。

への暗号化および復号リクエストではAWS KMS、Amazon は暗号化コンテキスト WorkMail を使用します。ここで、キーは aws:workmail:arnで、値は組織の Amazon リソースネーム (ARN) です。

"aws:workmail:arn":"arn:aws:workmail:region:account ID:organization/organization ID"

例えば、次の暗号化コンテキストには、米国東部 (オハイオ) (us-east-2) リージョンの組織 ARN の例が含まれています。

"aws:workmail:arn":"arn:aws:workmail:us-east-2:111122223333:organization/m-68755160c4cb4e29a2b2f8fb58f359d7"

との Amazon WorkMail インタラクションのモニタリング AWS KMS

AWS CloudTrail および Amazon CloudWatch Logs を使用して、Amazon がAWS KMSユーザーに代わって WorkMail に送信するリクエストを追跡できます。

暗号化

新しいメールボックスを作成すると、Amazon はメールボックスキー WorkMail を生成し、 を呼び出しAWS KMSてメールボックスキーを暗号化します。Amazon は、プレーンテキストのメールボックスキーと Amazon WorkMail 組織の KMS キーの識別子AWS KMSを使用して、Encrypt リクエストを WorkMail に送信します。

Encrypt 演算を記録するイベントは、次のようなサンプルイベントになります。ユーザーは Amazon WorkMail サービスです。パラメータには、KMS キー ID (keyId) と Amazon WorkMail 組織の暗号化コンテキストが含まれます。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-c6981ff7642446fa8772ba99c690e455" }, "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" }

Decrypt

メールボックスメッセージを追加、表示、または削除すると、Amazon は AWS KMSにメールボックスキーの復号 WorkMail を要求します。Amazon は、暗号化されたメールボックスキーと Amazon WorkMail 組織の KMS キーの識別子AWS KMSを使用して、Decrypt リクエストを WorkMail に送信します。

Decrypt 演算を記録するイベントは、次のようなサンプルイベントになります。ユーザーは Amazon WorkMail サービスです。パラメータには、暗号化されたメールボックスキー (暗号化テキストの blob として) が含まれ、ログには記録されません WorkMail 。 は、暗号化テキストから KMS キーの ID AWS KMSを取得します。

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