監査ログ記録の有効化 - Amazon WorkMail

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

監査ログ記録の有効化

監査ログを使用して、Amazon WorkMail 組織の使用状況に関する詳細情報をキャプチャできます。監査ログは、メールボックスへのユーザーのアクセスのモニタリング、疑わしいアクティビティの監査、アクセス制御と可用性プロバイダー設定のデバッグに使用できます。

注記

AmazonWorkMailFullAccess マネージドポリシーには、ログ配信を管理するために必要なアクセス許可がすべて含まれているわけではありません。このポリシーを使用して を管理する場合は WorkMail、ログ配信の設定に使用されるプリンシパル (例: 引き受けたロール) にも、必要なすべてのアクセス許可があることを確認してください。

Amazon WorkMail は、監査ログの 3 つの配信先、 CloudWatch Logs、Amazon S3、Amazon Data Firehose をサポートしています。詳細については、「Amazon CloudWatch Logs ユーザーガイド」の「追加のアクセス許可を必要とするログ記録」を参照してください。

Amazon では、追加のアクセス許可 [V2] を必要とするログ記録に記載されているアクセス許可に加えて、ログ配信 を設定するための追加のアクセス許可 WorkMail が必要ですworkmail:AllowVendedLogDeliveryForResource

動作しているログ配信は、次の 3 つの要素で構成されます。

  • DeliverySourceは、ログを送信するリソースを表す論理オブジェクトです。Amazon の場合 WorkMail、Amazon Organization です WorkMail。

  • DeliveryDestinationは、実際の配信先を表す論理オブジェクトです。

  • 配信元を配信先に接続する配信

Amazon WorkMail と送信先間のログ配信を設定するには、以下を実行します。

  • を使用して配信ソースを作成しますPutDeliverySource

  • を使用して配信先を作成しますPutDeliveryDestination

  • クロスアカウントでログを配信する場合は、送信先アカウントPutDeliveryDestinationPolicyで を使用して、送信先にIAMポリシーを割り当てる必要があります。このポリシーは、アカウント A の配信ソースからアカウント B の配信先への配信の作成を許可します。

  • を使用して、1 つの配信元と 1 つの配信先をペアにして配信を作成しますCreateDelivery

以下のセクションでは、各タイプの送信先へのログ配信をセットアップするためにサインインするときに必要なアクセス許可の詳細について説明します。これらのアクセス許可は、サインインしているIAMロールに付与できます。

重要

ログ生成リソースを削除した後、ログ配信リソースを削除するのはユーザーの責任です。

ログ生成リソースを削除した後にログ配信リソースを削除するには、以下の手順に従います。

  1. DeleteDelivery オペレーションを使用して配信を削除します。

  2. DeleteDeliverySource オペレーションDeliverySourceを使用して を削除します。

  3. 削除DeliverySourceした DeliveryDestinationに関連付けられた がこの特定の にのみ使用されている場合はDeliverySourceDeleteDeliveryDestinationsオペレーションを使用して削除できます。

Amazon WorkMail コンソールを使用した監査ログの設定

Amazon WorkMail コンソールで監査ログを設定できます。

  1. で Amazon WorkMail コンソールを開きますhttps://console.aws.amazon.com/workmail/

    必要に応じて、 AWS リージョンを変更します。コンソールウィンドウの上部にあるバーで、リージョンの選択リストを開き、リージョンを選択します。詳細については、「Amazon Web Services 全般のリファレンス」の「リージョンとエンドポイント」を参照してください。

  2. ナビゲーションペインで [組織] を選択し、組織の名前を選択します。

  3. ログ記録設定 を選択します。

  4. 監査ログ設定タブを選択します。

  5. 適切なウィジェットを使用して、必要なログタイプの配信を設定します。

  6. [Save] を選択します。

ログに送信された CloudWatch ログ

ユーザーアクセス許可

ログへの CloudWatch ログの送信を有効にするには、次のアクセス許可でサインインする必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadWriteAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:GetDelivery", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DeleteDeliverySource", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:GetDeliveryDestination", "logs:PutDeliverySource", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DeleteDelivery" ], "Resource": [ "arn:aws:logs:region:account-id:delivery:*", "arn:aws:logs:region:account-id:delivery-source:*", "arn:aws:logs:region:account-id:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries", "logs:DescribeLogGroups" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyCWL", "Effect": "Allow", "Action": [ "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:region:account-id:*" ] } { "Sid":"AllowLogDeliveryForWorkMail", "Effect":"Allow", "Action":[ "workmail:AllowVendedLogDeliveryForResource" ], "Resource":[ "arn:aws:workmail:region:account-id:organization/organization-id" ] } ] }

ロググループのリソースポリシー

ログが送信されているロググループには、特定のアクセス許可が含まれるリソースポリシーが必要です。ロググループに現在リソースポリシーがなく、ログを設定するユーザーにロググループの logs:PutResourcePolicylogs:DescribeResourcePolicies、および アクセスlogs:DescribeLogGroups許可がある場合、 CloudWatch はログへのログの送信を開始するときに、ロググループの次のポリシー AWS を自動的に作成します。

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AWSLogDeliveryWrite20150319", "Effect":"Allow", "Principal":{ "Service":[ "delivery.logs.amazonaws.com" ] }, "Action":[ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource":[ "arn:aws:logs:region:account-id:log-group:my-log-group:log-stream:*" ], "Condition":{ "StringEquals":{ "aws:SourceAccount":[ "account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:region:account-id:*" ] } } } ] }

ロググループリソースポリシーのサイズ制限に関する考慮事項

これらのサービスは、 リソースポリシーでログを送信する各ロググループを一覧表示する必要があります。 CloudWatch ログリソースポリシーは 5,120 文字に制限されています。多数のロググループにログを送信するサービスは、この上限に到達する可能性があります。

これを軽減するために、 CloudWatch Logs は、ログを送信するサービスで使用されるリソースポリシーのサイズをモニタリングします。ポリシーが 5,120 文字のサイズ制限に近づくことが検出されると、そのサービスのリソースポリシー/aws/vendedlogs/*で CloudWatch ログが自動的に を有効にします。その後、/aws/vendedlogs/ で始まる名前のロググループをこれらのサービスからのログの送信先として使用し始めることができます。

Amazon S3 に送信されたログ

ユーザーアクセス許可

Amazon S3 へのログ送信を有効にするには、次のアクセス許可でサインインする必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadWriteAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:GetDelivery", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DeleteDeliverySource", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:GetDeliveryDestination", "logs:PutDeliverySource", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DeleteDelivery" ], "Resource": [ "arn:aws:logs:region:account-id:delivery:*", "arn:aws:logs:region:account-id:delivery-source:*", "arn:aws:logs:region:account-id:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries", "logs:DescribeLogGroups" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyS3", "Effect": "Allow", "Action": [ "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": "arn:aws:s3:::bucket-name" } { "Sid":"AllowLogDeliveryForWorkMail", "Effect":"Allow", "Action":[ "workmail:AllowVendedLogDeliveryForResource" ], "Resource":[ "arn:aws:workmail:region:account-id:organization/organization-id" ] } ] }

ログが送信されている S3 バケットには、特定のアクセス許可が含まれるリソースポリシーが必要です。バケットに現在リソースポリシーがなく、ログ記録を設定するユーザーがバケットの S3:GetBucketPolicyおよび S3:PutBucketPolicy アクセス許可を持っている場合 AWS 、Amazon S3 へのログの送信を開始すると、 によって次のポリシーが自動的に作成されます。

{ "Version":"2012-10-17", "Id":"AWSLogDeliveryWrite20150319", "Statement":[ { "Sid":"AWSLogDeliveryAclCheck", "Effect":"Allow", "Principal":{ "Service":"delivery.logs.amazonaws.com" }, "Action":"s3:GetBucketAcl", "Resource":"arn:aws:s3:::my-bucket", "Condition":{ "StringEquals":{ "aws:SourceAccount":[ "account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:region:account-id:delivery-source:*" ] } } }, { "Sid":"AWSLogDeliveryWrite", "Effect":"Allow", "Principal":{ "Service":"delivery.logs.amazonaws.com" }, "Action":"s3:PutObject", "Resource":"arn:aws:s3:::my-bucket/AWSLogs/account-id/*", "Condition":{ "StringEquals":{ "s3:x-amz-acl":"bucket-owner-full-control", "aws:SourceAccount":[ "account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:region:account-id:delivery-source:*" ] } } } ] }

前のポリシーでは、 に対してaws:SourceAccount、このバケットにログIDsが配信されるアカウントのリストを指定します。ではaws:SourceArn、ログを生成するリソースARNsのリストを の形式で指定しますarn:aws:logs:source-region:source-account-id:*

バケットにリソースポリシーがあっても、そのポリシーに前のポリシーに示されているステートメントが含まれておらず、ログ記録を設定するユーザーにバケットの S3:GetBucketPolicyおよび S3:PutBucketPolicy アクセス許可がある場合、そのステートメントはバケットのリソースポリシーに追加されます。

注記

アクセスs3:ListBucket許可 AWS CloudTrail が に付与されていない場合、 にAccessDeniedエラーが表示されることがありますdelivery.logs.amazonaws.com。ログで CloudTrailこれらのエラーを回避するには、 にアクセスs3:ListBucket許可を付与する必要がありますdelivery.logs.amazonaws.com。また、前のバケットポリシーのs3:GetBucketAclアクセス許可セットで表示されるConditionパラメータを含める必要があります。これを効率化するために、新しい を作成する代わりにStatement、 を AWSLogDeliveryAclCheckとして直接更新できます“Action”: [“s3:GetBucketAcl”, “s3:ListBucket”]

Amazon S3 バケットのサーバー側の暗号化

Amazon S3 バケット内のデータを保護するには、Amazon S3-managedキーによるサーバー側の暗号化 (SSE-S3) または AWS Key Management Service (SSE-) に保存されている AWS KMS キーによるサーバー側の暗号化のいずれかを有効にしますKMS。詳細については、「サーバー側の暗号化を使用したデータの保護」を参照してください。

SSE-S3 を選択した場合、追加の設定は必要ありません。Amazon S3 が暗号化キーを処理します。

警告

SSE- を選択した場合はKMS、カスタマーマネージドキーを使用する必要があります。これは、 の使用はこのシナリオではサポート AWS マネージドキー されていないためです。 AWS マネージドキーを使用して暗号化を設定すると、ログは読み取り不可能な形式で配信されます。

カスタマーマネージド AWS KMS キーを使用する場合、バケット暗号化を有効にするときにカスタマーマネージドキーの Amazon リソースネーム (ARN) を指定できます。ログ配信アカウントが S3 バケットに書き込むことができるように、カスタマーマネージドキーのキーポリシーに (S3 バケットのバケットポリシーには追加しない) 以下を追加します。

SSE- を選択した場合はKMS、カスタマーマネージドキーを使用する必要があります。これは、このシナリオでは AWS マネージドキーの使用がサポートされていないためです。カスタマーマネージド AWS KMS キーを使用する場合は、バケット暗号化を有効にするときにカスタマーマネージドキーの Amazon リソースネーム (ARN) を指定できます。ログ配信アカウントが S3 バケットに書き込むことができるように、カスタマーマネージドキーのキーポリシーに (S3 バケットのバケットポリシーには追加しない) 以下を追加します。

{ "Sid":"Allow Logs Delivery to use the key", "Effect":"Allow", "Principal":{ "Service":[ "delivery.logs.amazonaws.com" ] }, "Action":[ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource":"*", "Condition":{ "StringEquals":{ "aws:SourceAccount":[ "account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:region:account-id:delivery-source:*" ] } } }

ではaws:SourceAccount、このバケットにログIDsが配信されるアカウントのリストを指定します。ではaws:SourceArn、ログを生成するリソースARNsのリストを の形式で指定しますarn:aws:logs:source-region:source-account-id:*

Firehose に送信されるログ

ユーザーアクセス許可

Firehose へのログ送信を有効にするには、次のアクセス許可を使用してサインインする必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadWriteAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:GetDelivery", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DeleteDeliverySource", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:GetDeliveryDestination", "logs:PutDeliverySource", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DeleteDelivery" ], "Resource": [ "arn:aws:logs:region:account-id:delivery:*", "arn:aws:logs:region:account-id:delivery-source:*", "arn:aws:logs:region:account-id:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries", "logs:DescribeLogGroups" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyFH", "Effect": "Allow", "Action": [ "firehose:TagDeliveryStream" ], "Resource": [ "arn:aws:firehose:region:account-id:deliverystream/*" ] }, { "Sid": "CreateServiceLinkedRole", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::account-id:role/aws-service-role/delivery.logs.amazonaws.com/AWSServiceRoleForLogDelivery" } { "Sid":"AllowLogDeliveryForWorkMail", "Effect":"Allow", "Action":[ "workmail:AllowVendedLogDeliveryForResource" ], "Resource":[ "arn:aws:workmail:region:account-id:organization/organization-id" ] } ] }

IAM リソースアクセス許可に使用されるロール

Firehose はリソースポリシーを使用しないため、これらのログを Firehose に送信するように設定するときにIAMロール AWS を使用します。 という名前のサービスにリンクされたロール AWS を作成します。 AWSServiceRoleForLogDelivery。 このサービスにリンクされたロールには、次のアクセス許可が含まれます。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "firehose:PutRecord", "firehose:PutRecordBatch", "firehose:ListTagsForDeliveryStream" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/LogDeliveryEnabled": "true" } }, "Effect": "Allow" } ] }

このサービスにリンクされたロールは、 LogDeliveryEnabled タグが に設定されたすべての Firehose 配信ストリームに対するアクセス許可を付与しますtrue。ログ記録を設定すると、このタグが宛先配信ストリームに AWS 付与されます。

このサービスリンクロールには、delivery.logs.amazonaws.com サービスプリンシパルが必要なサービスリンクロールを引き受けることを可能にする信頼ポリシーもあります。以下がその信頼ポリシーです。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

コンソール固有のアクセス許可

前のセクションに記載されているアクセス許可に加えて、 の代わりに コンソールを使用してログ配信を設定する場合はAPIs、次のアクセス許可も必要です。

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowLogDeliveryActions", "Effect":"Allow", "Action":[ "firehose:DescribeDeliveryStream", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource":[ "arn:aws:logs:region:account-id:log-group:*", "arn:aws:firehose:region:account-id:deliverystream/*", "arn:aws:s3:::*" ] }, { "Sid":"ListAccessForDeliveryDestinations", "Effect":"Allow", "Action":[ "logs:DescribeLogGroups", "firehose:ListDeliveryStreams", "s3:ListAllMyBuckets" ], "Resource":"*" } ] }