AWSのドキュメントによると、AWS CloudTrail は、AWSインフラストラクチャ全体のアカウントアクティビティを監視および記録するツールであり、ストレージ、分析、および修復処理を管理できます。
AWSアカウントをTrend Cloud Oneに正常に統合するには、AWSアカウントにリソースをデプロイし、Trend Cloud Oneダッシュボードを使用して設定する必要があります。
AWS CloudTrailの統合やTrend Vision Oneテナントへの接続を含むこれらのタスクは、AWS CloudFormationテンプレート を使用して自動化できます。
統合が完了すると、Trend Vision One Workbench の検出モデルをトリガーするAWS CloudTrailイベントに関するアラートの受信が開始されます。
次の図は、統合アーキテクチャを示しています。

機能レベルでは、次の処理が実行されます。
- カスタムリソースは、Trend Cloud OneアカウントIDとTrend Cloud Oneリージョンを取得します。
- カスタムリソースによって、Trend Cloud One OneアカウントとTrend Vision Oneアカウントの統合が完了します。
- Trend Cloud One Workload Securityに必要なIAMリソースがすべて作成されます。
- カスタムリソースにより、AWSアカウントとTrend Cloud One Workload Securityアカウント間の統合が完了します。
- 初期設定のTrend Cloud One CloudFormationスタックがデプロイされます。
- カスタムリソースによって、AWSアカウントとTrend Cloud Oneアカウント間の統合が完了します。
- カスタムリソースは、Trend Cloud OneバックエンドからAWS CloudTrail統合のトークンを取得します。
- デフォルトのAWS CloudTrail CloudFormationスタックがデプロイされます。
要件
統合を開始する前に、次のものが揃っていることを確認してください。
- APIキーはTrend Cloud Oneアカウント用です。
- 管理者権限を持つAWSアカウント。
- Trend Cloud Oneの設定 の手順1を実行して生成できるTrend Vision Oneの登録トークン。
また、AWS CloudFormationスタック名が8文字以下であることを確認してください。例: CloudOne
Trend Cloud Oneアカウントのリージョンに基づいて、次のいずれかのリージョンにAWS CloudFormationスタックをデプロイする必要があります。
Trend Cloud Oneのリージョンコード
|
AWSリージョンコード
|
us-1
|
us-east-1
|
in-1
|
ap-south-1
|
GB-1
|
eu-west-2
|
au-1
|
ap-southeast-2
|
de-1
|
eu-central-1
|
jp-1
|
ap-northeast-1
|
sg-1
|
ap-southeast-1
|
ca-1
|
ca-central-1
|
パラメータ
次のパラメータを定義する必要があります。
CloudOneApiKey
- Trend Cloud One APIキー。詳細については、要件を参照してください。VisionOneServiceToken
- Trend Vision Oneサービス トークン。詳細については、要件を参照してください。CreateNewTrail
- 新しいAWS CloudTrailを作成するかどうかを定義します。デフォルトはfalse
であるため、ExistingCloudtrailBucketName
パラメータにAWS S3バケット名を入力する必要があります。true
に設定すると、新しい証跡とバケットが作成されるため、追加コストが発生します。ExistingCloudtrailBucketName
- Trend Cloud Oneへの転送に使用する既存のバケットの名前を指定します。CreateNewTrail
がfalse
に設定されている場合にのみ使用されます。
テンプレートを自分でホストする場合を除き、デフォルト値を受け入れる必要があるパラメータが多数あります。その場合、
QSS3BucketName
はこれらのテンプレートをホストする AWS S3バケットを定義し、QSS3KeyPrefix
はキー プレフィックスまたはルート フォルダのパスを定義する必要があります。たとえば、ファイルが trendmicro/onboarding
フォルダー内の my-bucket という名前のバケットでホストされている場合、QSS3BucketName
値は my-bucket
、QSS3KeyPrefix
値は trendmicro/onboarding
である必要があります。QSS3BucketName
- デプロイアセットのAWS S3バケット名。値には、数字、小文字の英字、大文字の英字、ハイフン (-
) を使用できます。デフォルト値はcloudone-community
です。QSS3KeyPrefix
- デプロイアセットのAWS S3キープレフィックス。値には、数字、小文字の英字、大文字の英字、ハイフン (-
)、ドット (.
)、スラッシュ (/
) を使用できます。初期設定値は""
です。
インストール/アンインストール
ダッシュボードからデプロイするには、AWS CloudFormationスタックを起動します。
CLI経由でデプロイするには、次のコマンドを実行します。
#!/bin/bash export BUCKET="your-cloudtrail-bucket" export APIKEY="your-cloudone-apikey" export TOKEN="your-visionone-enrollment-token" aws cloudformation create-stack --stack-name common-onboard-test -- template-url https://aws-abi-pilot.s3.us-east-1.amazonaws.com/latest/cfnabi- trend-cloudone/templates/trend-cloudone-onboard/main.template.yaml -- capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND --parameters ParameterKey=ExistingCloudtrailBucketName,ParameterValue=$BUCKET ParameterKey=CloudOneApiKey,ParameterValue=$APIKEY ParameterKey=VisionOneServiceToken,ParameterValue=$TOKEN ParameterKey=QSS3KeyPrefix,ParameterValue=$HASH/
デプロイが失敗した場合、またはスタックを削除することにした場合は、アカウントの統合を含むすべての変更がデプロイ前の状態に戻ります。
必要なAWS権限とリソース
カスタムリソースとしてトリガーされるLambda関数には、次の権限が必要です。
secretsmanager:GetSecretValue
- このスタックの一部として作成されたシークレットに固有です。kms:Decrypt
- このスタックの一部として作成されたキーに固有です。- 管理ポリシー -
AWSLambdaBasicExecutionRole
。
さらに、多くの製品固有のリソースが必要です。
スタックをデプロイするには、次の権限が必要です。
-
AWS CloudFormationスタックを作成、更新、削除、および説明する権限。
cloudformation:CreateStack
cloudformation:UpdateStack
cloudformation:DeleteStack
cloudformation:DescribeStacks
-
Lambda関数の設定を作成、更新、および取得するための権限。
lambda:CreateFunction
lambda:UpdateFunctionCode
lambda:GetFunctionConfiguration
-
Lambda関数のIAMロールを作成する権限、およびポリシーをロールにアタッチおよびデタッチする権限。
iam:ListAccountAliases
iam:CreateRole
iam:DeleteRole
iam:CreatePolicy
iam:PassRole
iam:AttachRolePolicy
iam:DetachRolePolicy
iam:DeleteRolePolicy
iam:PutRolePolicy
iam:GetRole
iam:GetRolePolicy
-
Amazon CloudWatchのロググループとストリームを作成する権限、およびLambda関数からAmazon CloudWatchのログにログを書き込む権限。
logs:CreateLogGroup
logs:CreateLogStream
logs:PutLogEvents
-
AWS S3バケットからコードをダウンロードする権限。
s3:GetObject
s3:GetBucketLocation
-
カスタムリソースを作成およびトリガする権限。
lambda:InvokeFunction
lambda:CreateFunction
lambda:DeleteFunction
lambda:GetFunction
lambda:GetFunctionConfiguration
lambda:AddPermission
lambda:RemovePermission
lambda:UpdateFunctionCode
lambda:UpdateFunctionConfiguration
lambda:InvokeFunction