目次

Trend Cloud OneとAWS SecurityHubの統合

AWS Security Hub は、AWSアカウント、サービス、およびサポートされているサードパーティパートナー製品からセキュリティデータを収集し、セキュリティの傾向を分析し、最も重大なセキュリティ問題を特定するのに役立ちます。 Trend Cloud Oneと統合すると、コンテナのセキュリティ結果の統合をAWS SecurityHub内で使用できるようになります。

次の図は、統合アーキテクチャを示しています。

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-bucketQSS3KeyPrefix 値は 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