AWS CLI による組織の証跡の作成
AWS CLI を使用して組織の証跡を作成できます。AWS CLI は定期的に追加の機能とコマンドで更新されています。確実に成功するためには、開始する前に最新の AWS CLI バージョンをインストールまたは更新したことを確認してください。
注記
このセクションの例は、組織の証跡の作成と更新に固有のものです。証跡を管理するための AWS CLI の使用例については、「AWS CLI を使用して証跡を管理する」および「AWS CLI を使用して CloudWatch Logs のモニタリングを設定する」を参照してください。AWS CLI を使用して組織の証跡を作成または更新するときは、十分な許可を持つ管理アカウントまたは委任された管理者アカウントで AWS CLI プロファイルを使用する必要があります。組織の証跡を非組織の証跡に変換する場合は、組織の管理アカウントを使用する必要があります。
組織の証跡に使用する Amazon S3 バケットを十分なアクセス許可で設定する必要があります。
組織の証跡のログファイルを保存するために使用する Amazon S3 バケットを作成または更新する
組織の証跡のログファイルを受信するには、Amazon S3 バケットを指定する必要があります。このバケットには、CloudTrail が組織のログファイルをバケットに入れることを許可するポリシーが必要です。
以下は、組織の管理アカウントが所有する amzn-s3-demo-bucket という名前が付けられた Amazon S3 バケット用ポリシのー例です。amzn-s3-demo-bucket、region、managementAccountID、trailName、o-organizationID を組織の値に置き換える
このバケットには、3 つのステートメントがあります。
-
最初のステートメントで、CloudTrail は Amazon S3 バケット上の Amazon S3
GetBucketAclアクションを呼び出すことができます。 -
2 番目のステートメントでは、証跡が組織の証跡からそのアカウントの証跡にのみ変更された場合にログに記録することを許可します。
-
3 番目のステートメントでは、組織証跡をログに記録することが可能になります。
ポリシー例には、Amazon S3 バケットポリシーの aws:SourceArn 条件キーが含まれています。IAM グローバル条件キー aws:SourceArn は、CloudTrail が特定の 1 つまたは複数の証跡に対してのみ S3 バケットに書き込めるようにするのに役立ちます。組織の証跡の場合、aws:SourceArn の値は管理アカウントで保持され、管理アカウント ID を使用する証跡の ARN である必要があります。
このポリシー例では、メンバーアカウントのユーザーが組織用に作成されたログファイルにアクセスすることを許可していません。デフォルトでは、組織のログファイルは管理アカウントにのみアクセスできます。メンバーアカウントの 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 プロファイルを使用する必要があります。
次の例では、すべてのリージョンから という既存のバケットにログを配信する組織の証跡を作成します。amzn-s3-demo-bucket
aws cloudtrail create-trail --namemy-trail--s3-bucket-nameamzn-s3-demo-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": "amzn-s3-demo-bucket" }
注記
証跡のログ記録を開始するには start-logging コマンドを実行します。詳細については、「証跡のログ記録の停止と開始」を参照してください。
単一リージョンの証跡としての組織の証跡の作成
次のコマンドは、単一リージョンの証跡とも呼ばれる単一の AWS リージョン リージョン内のイベントのみを記録する組織の証跡を作成します。イベントが記録される AWS リージョンは、AWS CLI の設定プロファイルで指定されているリージョンです。
aws cloudtrail create-trail --namemy-trail--s3-bucket-nameamzn-s3-demo-bucket--is-organization-trail
詳細については、「CloudTrail リソース、Amazon S3 バケット、KMS キーの命名要件」を参照してください。
サンプル出力:
{ "IncludeGlobalServiceEvents": true, "Name": "my-trail", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "IsOrganizationTrail": true, "S3BucketName": "amzn-s3-demo-bucket" }
デフォルトでは、create-trail コマンドはログファイルの検証を有効にしない単一リージョンの証跡を作成します。
注記
証跡のログ記録を開始するには start-logging コマンドを実行します。
update-trail を実行して組織証跡を更新する
update-trail コマンドを実行して、組織の証跡の設定を変更したり、単一の AWS アカウントの既存の証跡を組織全体に適用したりできます。update-trail コマンドは、証跡が作成されたリージョンからしか実行できないことに注意してください。
注記
AWS CLI またはいずれかの AWS SDK を使用して証跡を更新する場合は、証跡のバケットポリシーが最新の状態に保たれていることを確認します。詳細については、「AWS CLI による組織の証跡の作成」を参照してください。
AWS CLI を使用して組織の証跡を更新するときは、十分な許可を持つ管理アカウントまたは委任された管理者アカウントで AWS CLI プロファイルを使用する必要があります。組織の証跡を非組織の証跡に変換する場合は、組織の管理アカウントを使用する必要があります。管理アカウントはすべての組織リソースの所有者であるためです。
CloudTrail は、リソースの検証に失敗した場合でも、メンバーアカウントの組織の証跡を更新します。検証の失敗例を次に示します。
-
Amazon S3 バケットポリシーに誤りがある
-
Amazon SNS トピックポリシーに誤りがある
-
CloudWatch Logs ロググループに配信できない
-
KMS キーを使用して暗号化するアクセス許可が不十分
CloudTrail アクセス許可を持つメンバーアカウントは、CloudTrail コンソールで証跡の詳細ページを表示するか、AWS CLI get-trail-status コマンドを実行することで、組織証跡の検証の失敗を確認できます。
既存の証跡を組織に適用する
既存の証跡を単一の AWS アカウントではなく組織にも適用するように変更するには、次の例に示すような --is-organization-trail オプションを追加します。
注記
管理アカウントを使用して、既存の非組織の証跡を組織の証跡に変更します。
aws cloudtrail update-trail --namemy-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": "amzn-s3-demo-bucket" }
前述の例では、証跡はマルチリージョン証跡として構成されています ("IsMultiRegionTrail": true)。単一のリージョンにのみ適用される証跡は、出力には "IsMultiRegionTrail": false と表示されます。
単一リージョン組織の証跡からマルチリージョン組織の証跡への変換
既存の単一リージョン組織の証跡をマルチリージョン組織の証跡に変換するには、次の例に示すように --is-multi-region-trail オプションを追加します。
aws cloudtrail update-trail --namemy-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": "amzn-s3-demo-bucket" }