AWS CloudTrail を使用した AWS Control Tower アクションのログ記録
AWS Control Tower は、AWS Control Tower のユーザー、ロール、または AWS サービスによって実行されたアクションを記録するサービスである AWS CloudTrail と統合されています。CloudTrail は、AWS Control Tower のアクションをイベントとしてキャプチャします。追跡を作成する場合は、AWS Control Tower のイベントを含めた CloudTrail イベントの Simple Storage Service (Amazon S3) バケットへの継続的な配信を有効にすることができます。
追跡を設定しない場合でも、CloudTrail コンソールの [Event history] (イベント履歴) で最新のイベントを表示できます。CloudTrail によって収集された情報を使用して、AWS Control Tower に対して行われたリクエスト、リクエスト元の IP アドレス、リクエスト者、リクエストが行われた日時、および追加の詳細を確認できます。
設定や有効化の方法など、CloudTrail の詳細については、「AWS CloudTrail ユーザーガイド」を参照してください。
CloudTrail での AWS Control Tower 情報
AWS アカウントを作成すると、そのアカウントに対して CloudTrail が有効になります。AWS Control Tower でサポートされているイベントアクティビティが発生すると、そのアクティビティは [Event history] (イベント履歴) で AWS のその他サービスのイベントと共に CloudTrail イベントに記録されます。AWS アカウントで最近のイベントを表示、検索、ダウンロードできます。詳細については、 「CloudTrail イベント履歴でのイベントの表示」を参照してください。
注記
ランディングゾーンバージョン 3.0 より前の AWS Control Tower リリースでは、AWS Control Tower でメンバーアカウントの証跡が作成されていました。リリース 3.0 に更新すると、CloudTrail 証跡が更新されて組織証跡になります。証跡を移行する際のベストプラクティスについては、「CloudTrail ユーザーガイド」の「メンバーアカウントの証跡から組織の証跡への移行に関するベストプラクティス」を参照してください。
推奨: 証跡の作成
AWS Control Tower のイベントなど AWS アカウントのイベントの継続的な記録については、追跡を作成します。証跡により、ログファイルを CloudTrail で Amazon S3 バケットに配信できます。デフォルトでは、コンソールで証跡を作成すると、すべての AWS リージョンに証跡が適用されます。証跡は、AWSパーティションのすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、CloudTrail ログで収集したイベントデータをより詳細に分析し、それに基づいて対応するため、他の AWS サービスを構成できます。詳細については、次を参照してください:
AWS Control Tower は、以下のアクションをイベントとして CloudTrail ログファイルに記録します。
パブリック API
-
AWS Control Tower パブリック API の一覧と各 API の詳細については、「AWS Control Tower API Reference」を参照してください。これらのパブリック API のコールは、AWS CloudTrail によってログに記録されます。
その他の API
-
SetupLandingZone -
UpdateAccountFactoryConfig -
ManageOrganizationalUnit -
CreateManagedAccount -
GetLandingZoneStatus -
GetHomeRegion -
ListManagedAccounts -
DescribeManagedAccount -
DescribeAccountFactoryConfig -
DescribeGuardrailForTarget -
DescribeManagedOrganizationalUnit -
ListEnabledGuardrails -
ListGuardrailViolations -
ListGuardrails -
ListGuardrailsForTarget -
ListManagedAccountsForGuardrail -
ListManagedAccountsForParent -
ListManagedOrganizationalUnits -
ListManagedOrganizationalUnitsForGuardrail -
GetGuardrailComplianceStatus -
DescribeGuardrail -
ListDirectoryGroups -
DescribeSingleSignOn -
DescribeCoreService -
GetAvailableUpdates
各イベントまたはログエントリには、リクエストの生成者に関する情報が含まれます。アイデンティティ情報は、以下を判別するのに役立ちます:
-
リクエストが、ルート認証情報と AWS Identity and Access Management (IAM) ユーザー認証情報のどちらを使用して送信されたか。
-
リクエストがロールまたはフェデレーションユーザーのテンポラリなセキュリティ認証情報を使用して行われたかどうか。
-
リクエストが別の AWS サービスによって行われたかどうか。
-
リクエストがアクセス拒否として拒否されたか、正常に処理されたか。
詳細については、「CloudTrail userIdentity 要素」を参照してください。
例: AWS Control Tower ログファイルのエントリ
追跡は、指定した Simple Storage Service (Amazon S3) バケットにイベントをログファイルとして配信するように設定できるものです。CloudTrail のログファイルは、単一か複数のログエントリを含みます。イベントはあらゆるソースからの単一のリクエストを表し、リクエストされたアクション、アクションの日時、リクエストのパラメータなどの情報があります。ログファイルに CloudTrail イベントが特定の順序で表示されるわけではありません。
次の例は、アクションを開始したユーザーの ID のレコードなど、SetupLandingZone AWS Control Tower イベントの一般的なログファイルエントリの構造を示す CloudTrail ログエントリを示しています。
{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "AIDACKCEVSQ6C2EXAMPLE:backend-test-assume-role-session", "arn": "arn:aws:sts::76543EXAMPLE;:assumed-role/AWSControlTowerTestAdmin/backend-test-assume-role-session", "accountId": "76543EXAMPLE", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-11-20T19:36:11Z" }, "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::AKIAIOSFODNN7EXAMPLE:role/AWSControlTowerTestAdmin", "accountId": "AIDACKCEVSQ6C2EXAMPLE", "userName": "AWSControlTowerTestAdmin" } } }, "eventTime": "2018-11-20T19:36:15Z", "eventSource": "controltower.amazonaws.com", "eventName": "SetupLandingZone", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "Coral/Netty4", "errorCode": "InvalidParametersException", "errorMessage": "Home region EU_CENTRAL_1 is unsupported", "requestParameters": { "homeRegion": "EU_CENTRAL_1", "logAccountEmail": "HIDDEN_DUE_TO_SECURITY_REASONS", "sharedServiceAccountEmail": "HIDDEN_DUE_TO_SECURITY_REASONS", "securityAccountEmail": "HIDDEN_DUE_TO_SECURITY_REASONS", "securityNotificationEmail": "HIDDEN_DUE_TO_SECURITY_REASONS" }, "responseElements": null, "requestID": "96f47b68-ed5f-4268-931c-807cd1f89a96", "eventID": "4ef5cf08-39e5-4fdf-9ea2-b07ced506851", "eventType": "AwsApiCall", "recipientAccountId": "76543EXAMPLE" }