# AWS Control Tower との統合 [In English](controltower.md) | [READMEに戻る](../README_ja.md) ![Control Tower Architecture](images/controltower-arch-log.svg) AWS Control Tower の Log Archive アカウントにあるログバケットのデータをそのまま SIEM on OpenSearch に取り込むことができます。デフォルトで作成される AWS CloudTrail と AWS Config 用の S3 バケットのデータ、及び、独自に作成した S3 バケットのデータも対応しているフォーマットであれば取り込めます。 ## ログの取り込み ### SIEM on OpenSearch Service のデプロイ [README](../README_ja.md) を参照して SIEM on OpenSearch をデプロイしてください。 アカウントは、メンバーアカウントに Security Tooling アカウントを作成するか(推奨)、Audit アカウント等を活用してください。 リージョンは、Control Tower と統合するためには、Log Archive アカウントのログバケットがあるリージョンを選択してください。 CDK / CloudFormation 実行時の Control Tower 関連のパラメーターは無視してください。 デプロイ後に Lambda 関数の aes-siem-es-loader で使われている IAM Role の ARN を確認してください。 例) `arn:aws:iam::123456789012:role/aes-siem-LambdaEsLoaderServiceRoleXXXXXXXX-XXXXXXXXXXXX` 次のステップの CloudFormation のパラメーターに使用します。 ### Log Archive アカウントでの準備 Log Archive アカウントで Amazon SQS と IAM Role を作成します。下記の CloudFormation Template を利用して作成してください。CDK / CloudFormation のパラメーターに上記の IAM Role の ARN が必要です。リソースは新規に作成され、既存のリソースを変更することはありません。 [![core resource](./images/cloudformation-launch-stack-button.png)](https://console.aws.amazon.com/cloudformation/home#/stacks/create/template?stackName=siem-integration-with-control-tower&templateURL=https://aes-siem.s3.ap-northeast-1.amazonaws.com/log-exporter/siem-integration-with-control-tower.template) [Direct Link](https://aes-siem.s3.ap-northeast-1.amazonaws.com/log-exporter/siem-integration-with-control-tower.template) 作成されるリソース |タイプ|リソース ARN| |------|----------| |AWS::IAM::Role|arn:aws:iam::999999999999:role/ct-role-for-siem| |AWS::SQS::Queue|arn:aws:sqs:ap-northeast-1:999999999999:aes-siem-ct| |AWS::SQS::Queue|arn:aws:sqs:ap-northeast-1:999999999999:aes-siem-ct-dlq| 次に、ログを取り込みたい S3 バケットにイベント通知を設定します。 * 対象の S3 バケット例 * aws-controltower-logs-999999999999-ap-northeast-1 * aws-controltower-s3-access-logs-999999999999-ap-northeast-1 * イベントタイプ: すべてのオブジェクト作成イベント ( s3:ObjectCreated:* ) * 送信先: SQS の aes-siem-ct 以上で、Log Archive アカウントでの設定は完了です。 次のステップで必要な情報をメモします。SIEM の CloudFormation Stack のパラメーターに使います。 例) * ログを取り込みたい S3 バケット名: `aws-controltower-logs-999999999999-ap-northeast-1, aws-controltower-s3-access-logs-999999999999-ap-northeast-1` * SQS ARN: `arn:aws:sqs:ap-northeast-1:999999999999:aes-siem-ct` * IAM Role: `arn:aws:iam::999999999999:role/ct-role-for-siem` ### 管理者アカウントでの準備 (オプション) ログバケットを暗号化している場合は手動で管理者アカウントの KMS のキーポリシーをアップデートしてください。 許可するプリンシパルは **Log Archie アカウント**になります。SIEM のアカウントではありません。 設定例) ```json { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::999999999999:role/ct-role-for-siem" }, "Action": "kms:Decrypt", "Resource": "*" }, ``` 参考: [AWS KMS keysの設定 (任意)](https://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/configure-kms-keys.html#kms-key-policy-update) ### SIEM アカウント CloudFormation の aes-siem または siem スタックをアップデートして、Control Tower 関連のパラメーターを入力してください。 Control Tower Integration パラメータ例 |Parameter|入力値| |------|----------| |ControlTowerLogBucketNameList|aws-controltower-logs-999999999999-ap-northeast-1, aws-controltower-s3-access-logs-999999999999-ap-northeast-1| |ControlTowerSqsForLogBuckets|arn:aws:sqs:ap-northeast-1:999999999999:aes-siem-ct| |ControlTowerRoleArnForEsLoader|arn:aws:iam::999999999999:role/ct-role-for-siem| 設定直後はログの取り込み失敗になる可能性がありますが、新しい Lambda 関数 (es-loader) のインスタンスが作成されると、取り込みが成功します。または、手動で es-loader を deploy し、強制的に新しいインスタンスを起動させることでエラーが解消します。 以上で Log Archive アカウントのログ取り込み設定は完了です