このページのトピック
Trend Cloud OneとAWS SecurityHubの統合
AWS Security Hub は、AWSアカウント、サービス、およびサポートされているサードパーティパートナー製品からセキュリティデータを収集し、セキュリティの傾向を分析し、最も重大なセキュリティ問題を特定するのに役立ちます。 Trend Cloud Oneと統合すると、コンテナのセキュリティ結果の統合をAWS SecurityHub内で使用できるようになります。
次の図は、統合アーキテクチャを示しています。
{.zoom}
機能レベルでは、次の処理が実行されます。
- Lambda関数がデプロイされます。
- Trend Cloud One Workload Securityに必要なIAMリソースがすべて作成されました。
- カスタムリソースは、 Lambda関数を実行して統合を完了します。
- デフォルトのAWS CloudTrail CloudFormationスタックがデプロイされます。
要件
統合を開始する前に、次のものが揃っていることを確認してください。
- Trend Cloud OneアカウントのAPIキー 。
- 管理者権限を持つAWSアカウント。
また、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キー。詳細については、「Requirements」を参照してください。EnableSecurityHubIntegration
-true
に設定すると、AWS SecurityHubの統合が有効になります。false
に設定されている場合は、すでに実行済みであることが想定されます。デフォルト値はfalse
です。
テンプレートを自分でホストする場合を除き、デフォルト値を受け入れる必要があるパラメータが多数あります。その場合、QSS3BucketName
はこれらのテンプレートをホストする AWS S3バケットを定義し、 QSS3KeyPrefix
はキー プレフィックスまたはルート フォルダのパスを定義する必要があります。テンプレート。たとえば、ファイルが trend-cloudone-securityhub
フォルダー内の my-bucket という名前のバケットでホストされている場合、QSS3BucketName
値は my-bucket
、QSS3KeyPrefix
値は trend-cloudone-securityhub
である必要があります。
QSS3BucketName
- デプロイアセットのAWS S3バケット名。値には、数字、小文字の英字、大文字の英字、ハイフン (-
) を使用できます。デフォルト値はcloudone-community
です。QSS3KeyPrefix
- デプロイアセットのAWS S3キープレフィックス。値には、数字、小文字の英字、大文字の英字、ハイフン (-
)、ドット (.
)、スラッシュ (/
) を使用できます。初期設定値は""
です。
配置
ダッシュボードからデプロイするには、AWS CloudFormationスタックを起動してください。
CLI経由でデプロイするには、次のコマンドを実行します。
#!/bin/bash
export STACK_NAME=ABI-TM-SECHUB
export TEMPLATE_URL=https://immersionday-workshopstrendmicro.
s3.amazonaws.com/abi/main.template.yaml
export CLOUDONE_API_KEY=<cloudone-api-key>
export CLOUDONE_REGION_ENDPOINT=<cloudone-ws-region-endpoint>
export DEPLOYSECURITYHUBINTEGRATION=<true|false>
aws cloudformation create-stack \
--stack-name $STACK_NAME \
--template-url $TEMPLATE_URL \
--parameters
ParameterKey=CloudOneAPIKey,ParameterValue=$CLOUDONE_API_KEY \
ParameterKey=CloudOneRegionEndpoint,ParameterValue=$CLOUDONE_REGION_ENDPOI
NT \
ParameterKey=DeploySecurityHubIntegration,ParameterValue=$DEPLOYSECURITYHU
BINTEGRATION \
ParameterKey=EnableSecurityHub,ParameterValue=$DEPLOYSECURITYHUBINTEGRATIO
N \
--capabilities CAPABILITY_NAMED_IAM
デプロイが失敗した場合、またはスタックを削除することにした場合は、アカウントの統合を含むすべての変更がデプロイ前の状態に戻ります。
必要なAWS権限とリソース
スタックをデプロイするには、次の権限が必要です。
-
シークレットマネージャからシークレットを取得する権限:
cloudformation:GetSecretValue
-
KMSキーを使用してシークレットマネージャからシークレットを復号する権限:
kms:Decrypt
-
AWS SecurityHubで製品と検出結果を有効化、無効化、および一覧表示する権限:
securityhub:ListEnabledProductsForImport
securityhub:EnableImportFindingsForProduct
securityhub:DisableImportFindingsForProduct
-
AWS CloudFormationスタックを作成、更新、削除、および説明する権限:
cloudformation:CreateStack
cloudformation:UpdateStack
cloudformation:DeleteStack
cloudformation:DescribeStacks
- AWS CloudFormation StacksSet、StackInstanceを作成、更新、削除、および説明するためのアクセス許可:
cloudformation:CreateStackSet
cloudformation:CreateStackInstances
cloudformation:DescribeStackSet
cloudformation:UpdateStackSet
cloudformation:UpdateStackInstances
cloudformation:DeleteStackSet
cloudformation:DeleteStackInstances
cloudformation:ListStackInstances
- 組織内のすべての組織部門IDを取得する権限:
organizations:ListRoots
organizations:ListOrganizationalUnitsForParent
- Lambda関数の設定を作成、更新、および取得するための権限:
lambda:CreateFunction
lambda:UpdateFunctionCode
lambda:GetFunctionConfiguration
lambda:CreateAlias
lambda:UpdateFunctionConfiguration
- Amazon CloudWatchのロググループとストリームを作成する権限、およびLambda関数からAmazon CloudWatchのログにログを書き込む権限:
logs:CreateLogGroup
logs:CreateLogStream
logs:PutLogEvents
- AWS S3バケットからコードをダウンロードする権限:
s3:GetObject