AWS Control Tower のライフサイクルイベント - AWS Control Tower

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

AWS Control Tower のライフサイクルイベント

AWS Control Tower でログに記録するイベントには、ライフサイクルイベント。ライフサイクルイベントの目的は、完了リソースの状態を変更する特定の AWS Control Tower アクションの ライフサイクルイベントは、AWS Control Tower が組織単位 (OU)、アカウント、ガードレールなど、が作成または管理するリソースに適用されます。

AWS Control Tower のライフサイクルイベントの特徴

  • イベントログは、ライフサイクルイベントごとに生成元の Control Tower アクションが正常に完了したか失敗したかを示します。

  • AWS CloudTrail は、各ライフサイクルイベントを API 以外の AWS のサービスイベントとして自動的に記録します。詳細については、AWS CloudTrail ユーザーガイドを参照してください。

  • 各ライフサイクルイベントは、Amazon EventBridge サービスと Amazon CloudWatch Events サービスにも配信されます。

AWS Control Tower のライフサイクルイベントには、主に次の 2 つの利点があります。

  • ライフサイクルイベントは AWS Control Tower アクションの完了を記録するため、ライフサイクルイベントの状態に基づいて、オートメーションワークフローの次のステップをトリガーできる Amazon EventBridge ルールや Amazon CloudWatch Events ルールを作成できます。

  • ログの詳細を参照することで、管理者や監査人は組織内の特定のタイプのアクティビティを確認できます。

ライフサイクルイベントの仕組み

AWS Control Tower は、そのアクションを実行するために複数のサービスに依存します。したがって、各ライフサイクルイベントは、一連のアクションが完了した後にのみ記録されます。たとえば、OU のガードレールを有効にすると、AWS Control Tower は、リクエストを実行する一連のサブステップを起動します。この一連のサブステップ全体の最終結果が、ライフサイクルイベントの状態としてログに記録されます。

  • 基となるサブステップのすべてが正常に完了すると、ライフサイクルイベントの状態は Succeeded として記録されます。

  • 基となるサブステップのいずれかが正常に完了しなかった場合、ライフサイクルイベントの状態は Failed として記録されます。

各ライフサイクルイベントには、AWS Control Tower アクションが開始された日時を示すログ記録されたタイムスタンプと、ライフサイクルイベントの完了日時を示す別のタイムスタンプが含まれます。

Control Tower でのライフサイクルイベントの表示

ライフサイクルイベントを表示するには、アクティビティページには、AWS Control Tower ダッシュボードが含まれます。

  • [Activities] ページに移動するには、左側のナビゲーションペインから [Activities] を選択します。

  • 特定のイベントの詳細を表示するには、イベントを選択し、右上にある [View details] ボタンを選択します。

AWS Control Tower ライフサイクルイベントをワークフローに統合する方法の詳細については、こちらのブログ記事 (ライフサイクルイベントを使用して AWS Control Tower のアクションを追跡し、自動化されたワークフローをトリガーする

CreateManagedAccount およびUpdateManagedAccount ライフサイクルイベントの予想される動作

アカウントを作成するか、AWS Control Tower にアカウントを登録すると、これらの 2 つのアクションは同じ内部 API を呼び出します。処理中にエラーが発生した場合は、通常、アカウントの作成後に発生しますが、完全にプロビジョニングされていません。エラーの発生後にアカウントの作成を再試行するか、プロビジョニングされた製品を更新しようとすると、AWS Control Tower はアカウントがすでに存在することを認識します。

アカウントが存在するため、AWS Control Tower はUpdateManagedAccountライフサイクルイベントの代わりにCreateManagedAccountライフサイクルイベントを、再試行リクエストの最後に実行します。あなたは別のものを見ることを期待しているかもしれませんCreateManagedAccountイベントが発生します。ただし、UpdateManagedAccountライフサイクルイベントは、期待され、望ましい動作です。

自動化されたメソッドを使用して AWS Control Tower にアカウントを作成または登録する場合は、Lambda 関数をUpdateManagedAccountライフサイクルイベントとアカウント作成管理ライフサイクルイベント

ライフサイクルイベント名

各ライフサイクルイベントには、生成元の AWS Control Tower アクション (AWS CloudTrail にも記録される) に対応する名前が付けられます。たとえば、AWS Control Tower によって発生したライフサイクルイベントには、CreateManagedAccountCloudTrail イベントには、CreateManagedAccount

次の一覧に示す名前は、それぞれが JSON 形式でログに記録された詳細の例にリンクされています。これらの例で示す追加の詳細は、Amazon CloudWatch イベントログから取得したものです。

JSON はコメントをサポートしていませんが、例には説明の目的でいくつかのコメントを追加しています。コメントは先頭に「//」を付けて、例の右側に表示しています。

これらの例では、一部のアカウント名と組織名が隠されています。accountId は常に 12 桁の数字であり、例では「xxxxxxxxxxxx」に置き換えられています。organizationalUnitID は、文字と数字の一意の文字列です。例では、その形式を保持しています。

  • CreateManagedAccount: このログには、AWS Control Tower が、アカウントファクトリを使用して新しいアカウントを作成およびプロビジョニングするためのすべてのアクションをが正常に完了したかどうかが記録されます。

  • UpdateManagedAccount: このログには、アカウントファクトリを使用して以前に作成したアカウントに関連付けられているプロビジョニング済み製品を更新するためのすべてのアクションを AWS Control Tower が正常に完了したかどうかが記録されます。

  • EnableGuardrail: このログには、AWS Control Tower によって作成された OU のガードレールを有効にするためのすべてのアクションをが正常に完了したかどうかが記録されます。

  • DisableGuardrail: このログには、AWS Control Tower によって作成された OU のガードレールを無効にするためのすべてのアクションをが正常に完了したかどうかが記録されます。

  • SetupLandingZone: このログには、AWS Control Tower がlanding zone を設定するためのすべてのアクションをが正常に完了したかどうかが記録されます。

  • UpdateLandingZone: このログには、AWS Control Tower が既存のlanding zone を更新するためのすべてのアクションをが正常に完了したかどうかが記録されます。

  • RegisterOrganizationalUnit: このログには、AWS Control Tower が OU に対してガバナンス機能を有効にするためのすべてのアクションをが正常に完了したかどうかが記録されます。

  • DeregisterOrganizationalUnit: このログには、AWS Control Tower が OU に対してガバナンス機能を無効にするためのすべてのアクションをが正常に完了したかどうかが記録されます。

以下のセクションでは、AWS Control Tower ライフサイクルイベントのリストと、ライフサイクルイベントのタイプごとに記録される詳細の例を示します。

CreateManagedAccount

このライフサイクルイベントは、AWS Control Tower が、アカウントファクトリを使用して新しいアカウントをが正常に作成およびプロビジョニングしたかどうかを記録します。このイベントは、AWS Control Tower CreateManagedAccount CloudTrail イベントに対応します。ライフサイクルイベントログには、新しく作成されたアカウントの accountNameaccountId、アカウントの配置先である OU の organizationalUnitNameorganizationalUnitId が含まれます。

{ "version": "0", "id": "999cccaa-eaaa-0000-1111-123456789012", "detail-type": "AWS Service Event via CloudTrail", "source": "aws.controltower", "account": "XXXXXXXXXXXX", // Management account ID. "time": "2018-08-30T21:42:18Z", // Format: yyyy-MM-dd'T'hh:mm:ssZ "region": "us-east-1", // AWS Control Tower home region. "resources": [ ], "detail": { "eventVersion": "1.05", "userIdentity": { "accountId": "XXXXXXXXXXXX", "invokedBy": "AWS Internal" }, "eventTime": "2018-08-30T21:42:18Z", // Timestamp when call was made. Format: yyyy-MM-dd'T'hh:mm:ssZ. "eventSource": "controltower.amazonaws.com", "eventName": "CreateManagedAccount", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "eventID": "0000000-0000-0000-1111-123456789012", "readOnly": false, "eventType": "AwsServiceEvent", "serviceEventDetails": { "createManagedAccountStatus": { "organizationalUnit":{ "organizationalUnitName":"Custom", "organizationalUnitId":"ou-XXXX-l3zc8b3h" }, "account":{ "accountName":"LifeCycle1", "accountId":"XXXXXXXXXXXX" }, "state":"SUCCEEDED", "message":"AWS Control Tower successfully created a managed account.", "requestedTimestamp":"2019-11-15T11:45:18+0000", "completedTimestamp":"2019-11-16T12:09:32+0000"} } } }

UpdateManagedAccount

このライフサイクルイベントは、AWS Control Tower が、アカウントファクトリを使用して以前に作成したアカウントに関連付けられたプロビジョニング済み製品をが正常に更新したかどうかを記録します。このイベントは、AWS Control Tower UpdateManagedAccount CloudTrail イベントに対応します。ライフサイクルイベントログには、関連するアカウントの accountNameaccountId、更新されたアカウントの配置先である OU の organizationalUnitNameorganizationalUnitId が含まれます。

{ "version": "0", "id": "999cccaa-eaaa-0000-1111-123456789012", "detail-type": "AWS Service Event via CloudTrail", "source": "aws.controltower", "account": "XXXXXXXXXXXX", // AWS Control Tower organization management account. "time": "2018-08-30T21:42:18Z", // Format: yyyy-MM-dd'T'hh:mm:ssZ "region": "us-east-1", // AWS Control Tower home region. "resources": [], "detail": { "eventVersion": "1.05", "userIdentity": { "accountId": "XXXXXXXXX", "invokedBy": "AWS Internal" }, "eventTime": "2018-08-30T21:42:18Z", // Timestamp when call was made. Format: yyyy-MM-dd'T'hh:mm:ssZ. "eventSource": "controltower.amazonaws.com", "eventName": "UpdateManagedAccount", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "eventID": "0000000-0000-0000-1111-123456789012", "readOnly": false, "eventType": "AwsServiceEvent", "serviceEventDetails": { "updateManagedAccountStatus": { "organizationalUnit":{ "organizationalUnitName":"Custom", "organizationalUnitId":"ou-XXXX-l3zc8b3h" }, "account":{ "accountName":"LifeCycle1", "accountId":"624281831893" }, "state":"SUCCEEDED", "message":"AWS Control Tower successfully updated a managed account.", "requestedTimestamp":"2019-11-15T11:45:18+0000", "completedTimestamp":"2019-11-16T12:09:32+0000"} } } }

EnableGuardrail

このライフサイクルイベントは、AWS Control Tower が管理している OU のガードレールをが正常に有効化したかどうかを記録します。このイベントは、AWS Control Tower EnableGuardrail CloudTrail イベントに対応します。ライフサイクルイベントログには、ガードレールの guardrailIdguardrailBehavior、ガードレールを有効にした OU の organizationalUnitNameorganizationalUnitId が含まれます。

{ "version": "0", "id": "999cccaa-eaaa-0000-1111-123456789012", "detail-type": "AWS Service Event via CloudTrail", "source": "aws.controltower", "account": "XXXXXXXXXXXX", "time": "2018-08-30T21:42:18Z", // End-time of action. Format: yyyy-MM-dd'T'hh:mm:ssZ "region": "us-east-1", // AWS Control Tower home region. "resources": [ ], "detail": { "eventVersion": "1.05", "userIdentity": { "accountId": "XXXXXXXXXXXX", "invokedBy": "AWS Internal" }, "eventTime": "2018-08-30T21:42:18Z", "eventSource": "controltower.amazonaws.com", "eventName": "EnableGuardrail", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "eventID": "0000000-0000-0000-1111-123456789012", "readOnly": false, "eventType": "AwsServiceEvent", "serviceEventDetails": { "enableGuardrailStatus": { "organizationalUnits": [ { "organizationalUnitName": "Custom", "organizationalUnitId": "ou-vwxy-18vy4yro" } ], "guardrails": [ { "guardrailId": "AWS-GR_RDS_INSTANCE_PUBLIC_ACCESS_CHECK", "guardrailBehavior": "DETECTIVE" } ], "state": "SUCCEEDED", "message": "AWS Control Tower successfully enabled a guardrail on an organizational unit.", "requestTimestamp": "2019-11-12T09:01:07+0000", "completedTimestamp": "2019-11-12T09:01:54+0000" } } } }

DisableGuardrail

このライフサイクルイベントは、AWS Control Tower が管理している OU のガードレールをが正常に無効化したかどうかを記録します。このイベントは、AWS Control Tower DisableGuardrail CloudTrail イベントに対応します。ライフサイクルイベントログには、ガードレールの guardrailIdguardrailBehavior、ガードレールを無効にした OU の organizationalUnitNameorganizationalUnitId が含まれます。

{ "version": "0", "id": "999cccaa-eaaa-0000-1111-123456789012", "detail-type": "AWS Service Event via CloudTrail", "source": "aws.controltower", "account": "XXXXXXXXXXXX", "time": "2018-08-30T21:42:18Z", "region": "us-east-1", "resources": [ ], "detail": { "eventVersion": "1.05", "userIdentity": { "accountId": "XXXXXXXXXXXX", "invokedBy": "AWS Internal" }, "eventTime": "2018-08-30T21:42:18Z", "eventSource": "controltower.amazonaws.com", "eventName": "DisableGuardrail", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "eventID": "0000000-0000-0000-1111-123456789012", "readOnly": false, "eventType": "AwsServiceEvent", "serviceEventDetails": { "disableGuardrailStatus": { "organizationalUnits": [ { "organizationalUnitName": "Custom", "organizationalUnitId": "ou-vwxy-18vy4yro" } ], "guardrails": [ { "guardrailId": "AWS-GR_RDS_INSTANCE_PUBLIC_ACCESS_CHECK", "guardrailBehavior": "DETECTIVE" } ], "state": "SUCCEEDED", "message": "AWS Control Tower successfully disabled a guardrail on an organizational unit.", "requestTimestamp": "2019-11-12T09:01:07+0000", "completedTimestamp": "2019-11-12T09:01:54+0000" } } } } }

SetupLandingZone

このライフサイクルイベントは、AWS Control Tower がlanding zone を正常に設定したかどうかを記録します。このイベントは、AWS Control Tower SetupLandingZone CloudTrail イベントに対応します。ライフサイクルイベントログには、rootOrganizationalId(AWS Control Tower がマネジメントアカウントから作成した組織の ID です)。ログエントリには、organizationalUnitNameおよびorganizationalUnitIdを、各 OU に対してaccountNameおよびaccountIdは、AWS Control Tower がlanding zone を設定するときに作成されます。

{ "version": "0", "id": "999cccaa-eaaa-0000-1111-123456789012", // Request ID. "detail-type": "AWS Service Event via CloudTrail", "source": "aws.controltower", "account": "XXXXXXXXXXXX", // Management account ID. "time": "2018-08-30T21:42:18Z", // Event time from CloudTrail. "region": "us-east-1", // Management account CloudTrail region. "resources": [ ], "detail": { "eventVersion": "1.05", "userIdentity": { "accountId": "XXXXXXXXXXXX", // Management-account ID. "invokedBy": "AWS Internal" }, "eventTime": "2018-08-30T21:42:18Z", // Timestamp when call was made. Format: yyyy-MM-dd'T'hh:mm:ssZ. "eventSource": "controltower.amazonaws.com", "eventName": "SetupLandingZone", "awsRegion": "us-east-1", // AWS Control Tower home region. "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "eventID": "CloudTrail_event_ID", // This value is generated by CloudTrail. "readOnly": false, "eventType": "AwsServiceEvent", "serviceEventDetails": { "setupLandingZoneStatus": { "state": "SUCCEEDED", // Status of entire lifecycle operation. "message": "AWS Control Tower successfully set up a new landing zone.", "rootOrganizationalId" : "r-1234" "organizationalUnits" : [ // Use a list. { "organizationalUnitName": "Security", // Security OU name. "organizationalUnitId": "ou-adpf-302pk332" // Security OU ID. }, { "organizationalUnitName": "Custom", // Custom OU name. "organizationalUnitId": "ou-adpf-302pk332" // Custom OU ID. }, ], "accounts": [ // All created accounts are here. Use a list of "account" objects. { "accountName": "Audit", "accountId": "XXXXXXXXXXXX" }, { "accountName": "Log archive", "accountId": "XXXXXXXXXXXX" } ], "requestedTimestamp": "2018-08-30T21:42:18Z", "completedTimestamp": "2018-08-30T21:42:18Z" } } } }

UpdateLandingZone

このライフサイクルイベントは、AWS Control Tower が既存のlanding zone を正常に更新したかどうかを記録します。このイベントは、AWS Control Tower UpdateLandingZone CloudTrail イベントに対応します。ライフサイクルイベントログには、rootOrganizationalId(AWS Control Tower が管理する (更新された) 組織の ID です。ログエントリには、organizationalUnitNameおよびorganizationalUnitIdを、各 OU に対してaccountNameおよびaccountIdは、AWS Control Tower が最初のlanding zone を設定したときに作成した各アカウントの 1 つです。

{ "version": "0", "id": "999cccaa-eaaa-0000-1111-123456789012", // Request ID. "detail-type": "AWS Service Event via CloudTrail", "source": "aws.controltower", "account": "XXXXXXXXXXXX", // Management account ID. "time": "2018-08-30T21:42:18Z", // Event time from CloudTrail. "region": "us-east-1", // Management account CloudTrail region. "resources": [ ], "detail": { "eventVersion": "1.05", "userIdentity": { "accountId": "XXXXXXXXXXXX", // Management account ID. "invokedBy": "AWS Internal" }, "eventTime": "2018-08-30T21:42:18Z", // Timestamp when call was made. Format: yyyy-MM-dd'T'hh:mm:ssZ. "eventSource": "controltower.amazonaws.com", "eventName": "UpdateLandingZone", "awsRegion": "us-east-1", // AWS Control Tower home region. "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "eventID": "CloudTrail_event_ID", // This value is generated by CloudTrail. "readOnly": false, "eventType": "AwsServiceEvent", "serviceEventDetails": { "updateLandingZoneStatus": { "state": "SUCCEEDED", // Status of entire operation. "message": "AWS Control Tower successfully updated a landing zone.", "rootOrganizationalId" : "r-1234" "organizationalUnits" : [ // Use a list. { "organizationalUnitName": "Security", // Security OU name. "organizationalUnitId": "ou-adpf-302pk332" // Security OU ID. }, { "organizationalUnitName": "Custom", // Custom OU name. "organizationalUnitId": "ou-adpf-302pk332" // Custom OU ID. }, ], "accounts": [ // All created accounts are here. Use a list of "account" objects. { "accountName": "Audit", "accountId": "XXXXXXXXXXXX" }, { "accountName": "Log archive", "accountId": "XXXXXXXXXX" } ], "requestedTimestamp": "2018-08-30T21:42:18Z", "completedTimestamp": "2018-08-30T21:42:18Z" } } } }

RegisterOrganizationalUnit

このライフサイクルイベントは、AWS Control Tower が OU に対してガバナンス機能をが正常に有効化したかどうかを記録します。このイベントは、AWS Control Tower RegisterOrganizationalUnit CloudTrail イベントに対応します。ライフサイクルイベントログには、organizationalUnitNameおよびorganizationalUnitIdAWS Control Tower がそのガバナンス機能を有効にした OU の OU です。

{ "version": "0", "id": "999cccaa-eaaa-0000-1111-123456789012", "detail-type": "AWS Service Event via CloudTrail", "source": "aws.controltower", "account": "123456789012", "time": "2018-08-30T21:42:18Z", "region": "us-east-1", "resources": [ ], "detail": { "eventVersion": "1.05", "userIdentity": { "accountId": "XXXXXXXXXXXX", "invokedBy": "AWS Internal" }, "eventTime": "2018-08-30T21:42:18Z", "eventSource": "controltower.amazonaws.com", "eventName": "RegisterOrganizationalUnit", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "eventID": "0000000-0000-0000-1111-123456789012", "readOnly": false, "eventType": "AwsServiceEvent", "serviceEventDetails": { "registerOrganizationalUnitStatus": { "state": "SUCCEEDED", "message": "AWS Control Tower successfully registered an organizational unit." "organizationalUnit" : { "organizationalUnitName": "Test", "organizationalUnitId": "ou-adpf-302pk332" } "requestedTimestamp": "2018-08-30T21:42:18Z", "completedTimestamp": "2018-08-30T21:42:18Z" } } } }

DeregisterOrganizationalUnit

このライフサイクルイベントは、AWS Control Tower がガバナンス機能を OU に対して正常に無効化したかどうかを記録します。このイベントは、AWS Control Tower DeregisterOrganizationalUnit CloudTrail イベントに対応します。ライフサイクルイベントログには、organizationalUnitNameおよびorganizationalUnitIdAWS Control Tower がそのガバナンス機能を無効にしました。

{ "version": "0", "id": "999cccaa-eaaa-0000-1111-123456789012", "detail-type": "AWS Service Event via CloudTrail", "source": "aws.controltower", "account": "XXXXXXXXXXXX", "time": "2018-08-30T21:42:18Z", "region": "us-east-1", "resources": [ ], "detail": { "eventVersion": "1.05", "userIdentity": { "accountId": "XXXXXXXXXXXX", "invokedBy": "AWS Internal" }, "eventTime": "2018-08-30T21:42:18Z", "eventSource": "controltower.amazonaws.com", "eventName": "DeregisterOrganizationalUnit", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "eventID": "0000000-0000-0000-1111-123456789012", "readOnly": false, "eventType": "AwsServiceEvent", "serviceEventDetails": { "deregisterOrganizationalUnitStatus": { "state": "SUCCEEDED", "message": "AWS Control Tower successfully deregistered an organizational unit, and enabled mandatory guardrails on the new organizational unit." "organizationalUnit" : { "organizationalUnitName": "Test", // Foundational OU name. "organizationalUnitId": "ou-adpf-302pk332" // Foundational OU ID. } "requestedTimestamp": "2018-08-30T21:42:18Z", "completedTimestamp": "2018-08-30T21:42:18Z" } } } } }