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

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

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

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

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

  • AWS CloudTrail は、各ライフサイクルイベントを API 以外AWSの 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] (アクティビティ) ページに移動するには、左側のナビゲーションペインから [Activities] (アクティビティ) を選択します。

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

AWS Control Tower ライフサイクルイベントをワークフローに統合する方法の詳細については、こちらのブログ記事「Using lifecycle events to track AWS Control Tower actions and trigger automated workflows」 (ライフサイクルイベントを使用して AWS Control Tower アクションを追跡し、自動化されたワークフローをトリガーする) を参照してください。

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

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

アカウントが存在するため、AWS Control Tower は再試行リクエストの終了時に CreateManagedAccount ライフサイクルイベントではなく UpdateManagedAccount ライフサイクルイベントを記録します。エラーが原因で、別の CreateManagedAccount イベントが表示されると予想されるかもしれませんが、UpdateManagedAccount ライフサイクルイベントが期待される望ましい動作です。

自動化されたメソッドを使用して AWS Control Tower にアカウントを作成または登録する場合は、Lambda 関数をプログラムして UpdateManagedAccount ライフサイクルイベントに加えて CreateManagedAccount ライフサイクルイベントも検索します。

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

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

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

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

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

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

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

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

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

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

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

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

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

  • PrecheckOrganizationalUnit: この ログには、AWS Control Tower がガバナンスの拡張操作の正常な完了を妨げるリソースを検出したかどうかが記録されます。

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

CreateManagedAccount

このライフサイクルイベントは、AWS Control Tower が Account Factory を使用して新しいアカウントを正常に作成およびプロビジョニングしたかどうかを記録します。このイベントは、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 が Account Factory を使用して以前に作成したアカウントに関連付けられているプロビジョニング済み製品を正常に更新したかどうかを記録します。このイベントは、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 が正常に有効化したかどうかを記録します。このイベントは、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 が正常に無効化したかどうかを記録します。このイベントは、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 がランディングゾーンを正常に設定したかどうかを記録します。このイベントは、AWS Control Tower SetupLandingZone CloudTrail イベントに対応します。ライフサイクルイベントログには、AWS Control Tower が管理アカウントから作成した組織の ID である rootOrganizationalId が含まれます。ログエントリには、AWS Control Tower がランディングゾーンの設定時に作成した、各 OU の organizationalUnitNameorganizationalUnitId、各アカウントの accountNameaccountId が含まれます。

{ "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 が既存のランディングゾーンを正常に更新したかどうかを記録します。このイベントは、AWS Control Tower UpdateLandingZone CloudTrail イベントに対応します。ライフサイクルイベントログには、AWS Control Tower が管理する (更新された) 組織の ID である rootOrganizationalId が含まれます。ログエントリには、AWS Control Tower が最初のランディングゾーンの設定時に作成した各 OU の organizationalUnitNameorganizationalUnitId、各アカウントの accountNameaccountId が含まれます。

{ "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 イベントに対応します。ライフサイクルイベントログには、AWS Control Tower がそのガバナンス機能を有効にした OU の organizationalUnitNameorganizationalUnitId が含まれます。

{ "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 イベントに対応します。ライフサイクルイベントログには、AWS Control Tower がそのガバナンス機能を無効にした 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": "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" } } } }

PrecheckOrganizationalUnit

このライフサイクルイベントは、AWS Control Tower が OU に対して正常に事前チェックを実行したかどうかを記録します。このイベントは、AWS Control Tower PrecheckOrganizationalUnit CloudTrail イベントに対応します。ライフサイクルイベントログには、OU 登録プロセス中に AWS Control Tower が事前チェックを実行した各リソースの IdName、および failedPrechecks の値のフィールドが含まれます。

イベントログには、accountNameaccountId、および failedPrechecks フィールドを含む、事前チェックが実行されたネストされたアカウントに関する情報も含まれます。

failedPrechecks の値が空の場合、そのリソースのすべての事前チェックが正常に終了したことを意味します。

  • このイベントは、事前チェックに失敗した場合にのみ発生します。

  • 空の OU を登録している場合、このイベントは発生しません。

イベントの例:

{ "eventVersion": "1.08", "userIdentity": { "accountId": "XXXXXXXXXXXX", "invokedBy": "AWS Internal" }, "eventTime": "2021-09-20T22:45:43Z", "eventSource": "controltower.amazonaws.com", "eventName": "PrecheckOrganizationalUnit", "awsRegion": "us-west-2", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "eventID": "b41a9d67-0da4-4dc5-a87a-25fa19dc5305", "readOnly": false, "eventType": "AwsServiceEvent", "managementEvent": true, "recipientAccountId": "XXXXXXXXXXXX", "serviceEventDetails": { "precheckOrganizationalUnitStatus": { "organizationalUnit": { "organizationalUnitName": "Ou-123", "organizationalUnitId": "ou-abcd-123456", "failedPrechecks": [ "SCP_CONFLICT" ] }, "accounts": [ { "accountName": "Child Account 1", "accountId": "XXXXXXXXXXXX", "failedPrechecks": [ "FAILED_TO_ASSUME_ROLE" ] }, { "accountName": "Child Account 2", "accountId": "XXXXXXXXXXXX", "failedPrechecks": [ "FAILED_TO_ASSUME_ROLE" ] }, { "accountName": "Management Account", "accountId": "XXXXXXXXXXXX", "failedPrechecks": [ "MISSING_PERMISSIONS_AF_PRODUCT" ] }, { "accountName": "Child Account 3", "accountId": "XXXXXXXXXXXX", "failedPrechecks": [] }, ... ], "state": "FAILED", "message": "AWS Control Tower failed to register an organizational unit due to pre-check failures. Go to the OU details page to download a list of failed pre-checks for the OU and accounts within.", "requestedTimestamp": "2021-09-20T22:44:02+0000", "completedTimestamp": "2021-09-20T22:45:43+0000" } }, "eventCategory": "Management" }