AWS Organizations でのログ記録とモニタリング - AWS Organizations

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

AWS Organizations でのログ記録とモニタリング

ベストプラクティスとして、変更がログに記録されることを確実にするために組織を監視する必要があります。これにより、予期しない変更を調査することができ、不要な変更をロールバックできます。現在 AWS Organizations では、組織および組織内で発生するアクティビティを監視することができる 2 つの AWS のサービスをサポートしています。

AWS CloudTrail による AWS Organizations API コールのログ記録

AWS OrganizationsAWS CloudTrailは と統合されていますAWS。このサービスは、 内でユーザーやロール、または AWS Organizations のサービスによって実行されたアクションを記録するサービスです。 CloudTrailは、 AWS Organizations コンソールからのコールや、 へのコード呼び出しを含む、 のすべての API AWS Organizations AWS Organizations コールをイベントAPIsとしてキャプチャします。 証跡を作成する場合は、 CloudTrailのイベントなど、 Amazon S3バケットへの イベントの継続的な配信を有効にすることができますAWS Organizations。証跡を設定しない場合でも、CloudTrail コンソールの [Event history (イベント履歴)] で最新のイベントを表示できます。CloudTrail で収集された情報を使用して、AWS Organizations に対して実行されたリクエスト、その送信元の IP アドレス、実行者、実行日時などの詳細を確認できます。

CloudTrail の詳細については、AWS CloudTrail User Guideを参照してください。

重要

米国東部(バージニア北部) リージョンでのみ AWS Organizations のすべての CloudTrail 情報を表示できます。CloudTrail コンソールで AWS Organizations アクティビティが表示されない場合は、右上隅のメニューを使用してコンソールを [米国東部(バージニア北部)] に設定します。AWS CLI または SDK ツールを使用して CloudTrail をクエリする場合、クエリを 米国東部(バージニア北部) エンドポイントに指定します。

CloudTrail 内の AWS Organizations 情報

CloudTrail は、アカウント作成時に AWS アカウントで有効になります。AWS Organizations でアクティビティが発生すると、そのアクティビティは [Event history (イベント履歴)] の AWS の他のサービスのイベントとともに CloudTrail イベントに記録されます。最近のイベントは、AWS アカウントで表示、検索、ダウンロードできます。詳細については、「CloudTrail イベント履歴でのイベントの表示」を参照してください。

AWS Organizationsのイベントなど、AWS アカウントのイベントの継続的な記録については、証跡を作成します。証跡により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。AWS アカウントで CloudTrail ログ記録が有効になっている場合、AWS Organizations アクションに対して行われた API 呼び出しは、CloudTrail ログファイルで追跡され、他の AWS サービスレコードとともに書き込まれます。その他の AWS のサービスを設定して、CloudTrail ログで収集されたデータに基づき、詳細な分析やアクティビティを行うことができます。詳細については、以下を参照してください。

すべての AWS Organizations アクションは CloudTrail によってログに記録されます。これらのアクションは AWS Organizations API リファレンス で説明されています。たとえば、CreateAccount (CreateAccountResult イベントを含む)、ListHandshakesForAccountCreatePolicy、および InviteAccountToOrganization に対する呼び出しにより、CloudTrail ログファイルにエントリが生成されます。

各ログエントリには、誰がリクエストを生成したかに関する情報が含まれます。ログエントリのユーザー ID 情報は、次のことを確認するのに役立ちます。

  • リクエストが、ルートと IAM ユーザー認証情報のどちらを使用して送信されたか

  • リクエストが、IAM ロールの一時的なセキュリティ認証情報またはフェデレーティッドユーザーによって行われたかについて

  • リクエストが、別の AWS サービスによって送信されたかどうか

詳細については、「CloudTrail userIdentity 要素」を参照してください。

AWS Organizations ログファイルエントリについて

証跡は、指定した Amazon S3 バケットにイベントをログファイルとして配信できる設定です。CloudTrail ログファイルには、1 つ以上のログエントリが含まれます。イベントは任意の送信元からの単一のリクエストを表し、リクエストされたアクション、アクションの日時、リクエストのパラメータなどに関する情報が含まれます。CloudTrail ログファイルは、パブリック API コールの順序付けられたスタックトレースではないため、特定の順序では表示されません。

ログエントリの例:CreateAccount

API が呼び出されたときに生成されるサンプルの CreateAccount 呼び出しの CloudTrail ログエントリの例を以下に示します。

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDAMVNPBQA3EXAMPLE:my-admin-role", "arn": "arn:aws:sts::111122223333:assumed-role/my-admin-role/my-session-id", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDAMVNPBQA3EXAMPLE", "arn": "arn:aws:iam::111122223333:role/my-admin-role", "accountId": "111122223333", "userName": "my-session-id" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2020-09-16T21:16:45Z" } } }, "eventTime": "2018-06-21T22:06:27Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateAccount", "awsRegion": "us-east-1", "sourceIPAddress": "192.168.0.1", "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)...", "requestParameters": { "tags": [], "email": "****", "accountName": "****" }, "responseElements": { "createAccountStatus": { "accountName": "****", "state": "IN_PROGRESS", "id": "car-examplecreateaccountrequestid111", "requestedTimestamp": "Sep 16, 2020 9:20:50 PM" } }, "requestID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "111111111111" }

サンプルの CreateAccount 呼び出しが成功した後の CloudTrail ログエントリの例を以下に示します。

{ "eventVersion": "1.05", "userIdentity": { "accountId": "111122223333", "invokedBy": "..." }, "eventTime": "2020-09-16T21:20:53Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateAccountResult", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "....", "requestParameters": null, "responseElements": null, "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "readOnly": false, "eventType": "AwsServiceEvent", "recipientAccountId": "111122223333", "serviceEventDetails": { "createAccountStatus": { "id": "car-examplecreateaccountrequestid111", "state": "SUCCEEDED", "accountName": "****", "accountId": "444455556666", "requestedTimestamp": "Sep 16, 2020 9:20:50 PM", "completedTimestamp": "Sep 16, 2020 9:20:53 PM" } } }

CreateAccount 呼び出しが失敗した後に生成される CloudTrail ログエントリの例を以下に示します。

{ "eventVersion": "1.06", "userIdentity": { "accountId": "111122223333", "invokedBy": "AWS Internal" }, "eventTime": "2018-06-21T22:06:27Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateAccountResult", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": null, "responseElements": null, "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "readOnly": false, "eventType": "AwsServiceEvent", "recipientAccountId": "111122223333", "serviceEventDetails": { "createAccountStatus": { "id": "car-examplecreateaccountrequestid111", "state": "FAILED", "accountName": "****", "failureReason": "EMAIL_ALREADY_EXISTS", "requestedTimestamp": Jun 21, 2018 10:06:27 PM, "completedTimestamp": Jun 21, 2018 10:07:15 PM } } }

ログエントリの例:CreateOrganizationalUnit

サンプルの CreateOrganizationalUnit 呼び出しの CloudTrail ログエントリの例を以下に示します。

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDAMVNPBQA3EXAMPLE", "arn": "arn:aws:iam::111111111111:user/diego", "accountId": "111111111111", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "diego" }, "eventTime": "2017-01-18T21:40:11Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateOrganizationalUnit", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36", "requestParameters": { "name": "OU-Developers-1", "parentId": "r-examplerootid111" }, "responseElements": { "organizationalUnit": { "arn": "arn:aws:organizations::111111111111:ou/o-exampleorgid/ou-examplerootid111-exampleouid111", "id": "ou-examplerootid111-exampleouid111", "name": "test-cloud-trail" } }, "requestID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "111111111111" }

ログエントリの例:InviteAccountToOrganization

サンプルの InviteAccountToOrganization 呼び出しの CloudTrail ログエントリの例を以下に示します。

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDAMVNPBQA3EXAMPLE", "arn": "arn:aws:iam::111111111111:user/diego", "accountId": "111111111111", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "diego" }, "eventTime": "2017-01-18T21:41:17Z", "eventSource": "organizations.amazonaws.com", "eventName": "InviteAccountToOrganization", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36", "requestParameters": { "notes": "This is a request for Mary's account to join Diego's organization.", "target": { "type": "ACCOUNT", "id": "111111111111" } }, "responseElements": { "handshake": { "requestedTimestamp": "Jan 18, 2017 9:41:16 PM", "state": "OPEN", "arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111", "id": "h-examplehandshakeid111", "parties": [ { "type": "ORGANIZATION", "id": "o-exampleorgid" }, { "type": "ACCOUNT", "id": "222222222222" } ], "action": "invite", "expirationTimestamp": "Feb 2, 2017 9:41:16 PM", "resources": [ { "resources": [ { "type": "MASTER_EMAIL", "value": "diego@example.com" }, { "type": "MASTER_NAME", "value": "Management account for organization" }, { "type": "ORGANIZATION_FEATURE_SET", "value": "ALL" } ], "type": "ORGANIZATION", "value": "o-exampleorgid" }, { "type": "ACCOUNT", "value": "222222222222" }, { "type": "NOTES", "value": "This is a request for Mary's account to join Diego's organization." } ] } }, "requestID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "111111111111" }

ログエントリの例:AttachPolicy

サンプルの AttachPolicy 呼び出しの CloudTrail ログエントリの例を以下に示します。このレスポンスは、リクエストされたポリシータイプが、アタッチが試行された root で有効でないため、呼び出しが失敗したことを示します。

{ "eventVersion": "1.06", "userIdentity": { "type": "IAMUser", "principalId": "AIDAMVNPBQA3EXAMPLE", "arn": "arn:aws:iam::111111111111:user/diego", "accountId": "111111111111", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "diego" }, "eventTime": "2017-01-18T21:42:44Z", "eventSource": "organizations.amazonaws.com", "eventName": "AttachPolicy", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36", "errorCode": "PolicyTypeNotEnabledException", "errorMessage": "The given policy type ServiceControlPolicy is not enabled on the current view", "requestParameters": { "policyId": "p-examplepolicyid111", "targetId": "ou-examplerootid111-exampleouid111" }, "responseElements": null, "requestID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventID": "EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "111111111111" }

Amazon CloudWatch Events

AWS Organizations では、管理者が指定したアクションが組織内で発生した場合に、CloudWatch イベント を使用してイベントを発生させることができます。たとえば、アクションの重要性のため、ほとんどの管理者は、組織内に誰かが新しいアカウントを作成するたびに、またはメンバーアカウントの管理者が組織を離れようとするたびに警告を受けたいと考えています。これらのアクションを探す CloudWatch イベント ルールを設定し、生成されたイベントを管理者が定義したターゲットに送信できます。ターゲットは、E メールまたはテキストメッセージのサブスクライバーである Amazon SNS トピックにすることができます。また、後で確認するためにアクションの詳細をログに記録する AWS Lambda 関数を作成することもできます。

組織内の主要なアクティビティを監視するための CloudWatch イベント を有効にする方法を示すチュートリアルについては、チュートリアル: による組織の重要な変更のモニタリングCloudWatch イベント を参照してください。

CloudWatch イベント の詳細 (設定して有効にする方法など) については、Amazon CloudWatch Events ユーザーガイド を参照してください。