AWS Command Line Interface による組織の証跡の作成 - AWS CloudTrail

AWS Command Line Interface による組織の証跡の作成

AWS CLI を使用して組織の証跡を作成できます。AWS CLI は定期的に追加の機能とコマンドで更新されています。確実に成功するためには、開始する前に最新の AWS CLI バージョンをインストールまたは更新したことを確認してください。

注記

このセクションの例は、組織の証跡の作成と更新に固有のものです。証跡を管理するための AWS CLI の使用例については、「AWS CLI を使用して証跡を管理する」を参照してください。AWS CLI を使用して組織の証跡を作成または更新するときは、十分なアクセス許可を持つ管理アカウントで AWS CLI プロファイルを使用する必要があります。

組織の証跡に使用する Amazon S3 バケットを十分なアクセス許可で設定する必要があります。

組織の証跡のログファイルを保存するために使用する Amazon S3 バケットを作成または更新する

組織の証跡のログファイルを受信するには、Amazon S3 バケットを指定する必要があります。このバケットには、CloudTrail が組織のログファイルをバケットに入れることを許可するポリシーが必要です。

以下は、my-organization-bucket という名前の Amazon S3 バケットのポリシーの例です。このバケットは ID 1111111111 を持つ AWS アカウントで、組織の証跡のログ記録を可能にする ID o-exampleorgid を持つ組織の管理アカウントです。また、証跡が組織の証跡からそのアカウントの証跡のみに変更された場合に、アカウント 111111111111 のログを記録することもできます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::my-organization-bucket" }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-organization-bucket/AWSLogs/111111111111/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } }, { "Sid": "AWSCloudTrailWrite20150319", "Effect": "Allow", "Principal": { "Service": [ "cloudtrail.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-organization-bucket/AWSLogs/o-exampleorgid/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }

このポリシー例では、メンバーアカウントのユーザーが組織用に作成されたログファイルにアクセスすることを許可していません。デフォルトでは、組織のログファイルは管理アカウントにのみアクセスできます。メンバーアカウントの IAM ユーザーに対して Amazon S3 バケットへの読み取りアクセスを許可する方法については、「AWS アカウント間での CloudTrail ログファイルを共有する」を参照してください。

AWS Organizations で信頼済みサービスとして CloudTrail を有効にする

組織の証跡を作成する前に、まず Organizations のすべての機能を有効化する必要があります。詳細については、「自分の組織のすべての機能を有効化する」を参照してください。または、管理アカウントで十分なアクセス許可を持つプロファイルを使用して、次のコマンドを実行します。

aws organizations enable-all-features

すべての機能を有効化したら、CloudTrail を信頼できるサービスとして信頼するように Organizations を設定する必要があります。

AWS Organizations と CloudTrail の間に信頼できるサービスの関係を作成するには、端末またはコマンドラインを開き、管理アカウントのプロファイルを使用します。以下の例のように、aws organizations enable-aws-service-access コマンドを実行します。

aws organizations enable-aws-service-access --service-principal cloudtrail.amazonaws.com

create-trail の使用

すべてのリージョンに適用される組織の証跡の作成

すべてのリージョンに適用される組織の証跡を作成するには、--is-organization-trail および --is-multi-region-trail オプションを追加します。

注記

AWS CLI を使用して組織の証跡を作成または更新するときは、十分なアクセス許可を持つ管理アカウントで AWS CLI プロファイルを使用する必要があります。

次の例では、すべてのリージョンから my-bucket という既存のバケットにログを配信する組織の証跡を作成します。

aws cloudtrail create-trail --name my-trail --s3-bucket-name my-bucket --is-organization-trail --is-multi-region-trail

証跡がすべてのリージョンに存在することを確認するために、出力の IsOrganizationTrail および IsMultiRegionTrail パラメータは両方とも true に設定されます。

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "IsOrganizationTrail": true, "S3BucketName": "my-bucket" }
注記

証跡のログ記録を開始するには start-logging コマンドを実行します。詳細については、「証跡のログ記録の停止と開始」を参照してください。

単一リージョンの証跡としての組織の証跡の作成

次のコマンドは、単一リージョンの証跡とも呼ばれる単一の AWS リージョン内のイベントのみを記録する組織の証跡を作成します。イベントが記録される AWS リージョンは、AWS CLI の設定プロファイルで指定されているリージョンです。

aws cloudtrail create-trail --name my-trail --s3-bucket-name my-bucket --is-organization-trail

詳細については、「CloudTrail 証跡の命名要件」を参照してください。

サンプル出力:

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "IsOrganizationTrail": true, "S3BucketName": "my-bucket" }

デフォルトでは、create-trail コマンドはログファイルの検証を有効にしない単一リージョンの証跡を作成します。

注記

証跡のログ記録を開始するには start-logging コマンドを実行します。

update-trail を実行して組織証跡を更新する

update-trail コマンドを実行して、組織の証跡の設定を変更したり、単一の AWS アカウントの既存の証跡を組織全体に適用したりできます。update-trail コマンドは、証跡が作成されたリージョンからのみ実行できることをご留意ください。

注記

AWS CLI またはいずれかの AWS SDK を使用して証跡を更新する場合は、証跡のバケットポリシーが最新の状態に保たれていることを確認します。詳細については、「AWS Command Line Interface による組織の証跡の作成」を参照してください。

AWS CLI を使用して組織の証跡を作成または更新するときは、十分なアクセス許可を持つ管理アカウントで AWS CLI プロファイルを使用する必要があります。

既存の証跡を組織に適用する

既存の証跡を単一の AWS アカウントではなく組織にも適用するように変更するには、次の例に示すような --is-organization-trail オプションを追加します。

aws cloudtrail update-trail --name my-trail --is-organization-trail

証跡が組織に適用されるようになったことを確認するために、出力の IsOrganizationTrail パラメータは true の値を持ちます。

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "IsOrganizationTrail": true, "S3BucketName": "my-bucket" }

前述の例では、証跡はすべてのリージョンに適用されるように構成されています ("IsMultiRegionTrail": true)。単一のリージョンにのみ適用される証跡は、出力には "IsMultiRegionTrail": false と表示されます。

1 つのリージョンに適用される組織の証跡を変換してすべてのリージョンに適用

既存の組織証跡を変更してすべてのリージョンに適用されるようにするには、次の例に示すような --is-multi-region-trail オプションを追加します。

aws cloudtrail update-trail --name my-trail --is-multi-region-trail

証跡がすべてのリージョンに適用されるようになったことを確認するために、出力の IsMultiRegionTrail パラメータは true の値を持ちます。

{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "IsOrganizationTrail": true, "S3BucketName": "my-bucket" }