ビュー:

スタックテンプレートを使用できない場合にAWSアカウントをCloud Accountsに接続する方法。

一部のAWSアカウントでは、スタックテンプレートを使用してクラウド環境内にリソースをデプロイできません。これは通常、スタックテンプレート内のデプロイスクリプトで必要なIAMポリシーとロールの自動作成をセキュリティポリシーが妨げていることが原因です。
AWSアカウントを手動で接続するには、自動化センター
重要
重要
  • Trend Vision One APIを使用するために割り当てられたユーザ役割には、Cloud Accountsを追加、削除、および編集するための完全な権限が必要です。ユーザの役割の詳細については、を参照してください。User Roles(Foundation Servicesリリース)
  • この方法を使用した配置では、コア機能のみがサポートされます。追加のクラウドセキュリティ機能を有効にすることはできません。
  • この手順は、2024年2月現在のAWSコンソールで有効です。

手順

  1. Trend Vision One コンソールから、またはAPIを呼び出して、Cloud Accountsからスタックテンプレートを生成してダウンロードします。
    • Trend Vision One コンソールにアクセスし、テンプレートを作成します。
      1. Trend Vision One コンソールで、[Service Management][Cloud Accounts][AWS]
      2. [アカウントを追加]をクリックします。
      3. [クラウドアカウントを追加] 画面で、 [単一アカウント]を選択します。
      4. [テンプレートをダウンロードして確認]をクリックします。
      注意
      注意
      [アカウント名] および [説明] フィールドはレビューテンプレートにエクスポートされません。 Connect Account APIを呼び出すときに、これらのパラメータを指定できます。
    • APIを呼び出してテンプレートを取得します。
      1. オートメーションセンターで [Get AWS CloudFormation template] APIを見つけます。
      2. query_params文字列を探します。
      3. awsRegionに、スタックテンプレートとコア機能をデプロイするAWSリージョンを指定します。初期設定のリージョンは、 Trend Vision One リージョンに基づいています。
      4. featuresそしてfeatureAwsREgionsの場合は、パラメータを空白のままにします。
      5. 変更を保存してAPIを呼び出します。
        APIは次の値を返します。
        • templateUrl: テンプレートをダウンロードするためのURL。
        • visionOneOidcProviderUrl: テンプレートを配信するための必須パラメータです。
        • createStackUrl: Trend Vision OneのCloudFormationテンプレートを指すAWS CloudFormationコンソールのURL。
      6. テンプレートをダウンロードします。
  2. AWSコンソールにアクセスします。
  3. IDプロバイダとして Trend Vision One を追加します。
    1. AWSコンソールで、 Identity and Access Management (IAM) サービスを開きます。
    2. に移動[Access management][Identity providers]
    3. [Add provider]をクリックします。
      [Add an Identity provider screen] が開きます。
    4. [Configure provider] セクションで、 [OpenID Connect]を選択します。
    5. [プロバイダのURL] に、 [Provider URL]を入力するか貼り付けます。
      • APIを使用してテンプレートを呼び出した場合は、 visionOneOidcProviderUrl APIが返すパラメータをコピーして貼り付けます。
      • テンプレートをダウンロードした場合は、次のように入力します。 cloudaccounts-{region}.xdr.trendmicro.comどこで{region}Trend Vision One リージョン ( us, eu, au, sg, in,またはjp )
        たとえば、 Trend Vision One 地域が米国の場合、 visionOneOidcProviderUrlcloudaccounts-jp.xdr.trendmicro.com
    6. [Audience]の場合arn:aws:iam::${AWSAccountId}:rootと入力します。
      ${AWSAccountId}をAWSアカウントIDで置き換えます。
      CAM-AWSManual_Provider=GUID-06b9b214-6b7f-44b0-be1f-886d95805770.png
    7. [Get thumbprint]をクリックします。
    8. [Add provider]をクリックします。
      プロバイダが [Identity providers] リストに追加されます。
    9. 作成したプロバイダの名前をクリックします。
      プロバイダの詳細画面が開きます。
    10. 後の手順でロールを作成するときに使用するために、プロバイダのARNをコピーします。
    11. [Thumbprints] セクションを見つけて、 [管理]をクリックします。
    12. プロバイダの作成時に生成された拇印を削除し、次の拇印を貼り付けます。
      新しい各行を追加するには、 [Add thumbprint] をクリックします。
      • 9e99a48a9960b14926bb7f3b02e22da2b0ab7280
      • 9565AD13689C2C4B4F018BE31767084D197F2692
      • 8CF427FD790C3AD166068DE81E57EFBB932272D4
      • F21C12F46CDB6B2E16F09F9419CDFF328437B2D7
      CAM-AWSManual_Thumbprint=GUID-f74acdc4-fa0c-4439-aadd-267a117fbb20.png
    13. [Save changes]をクリックします。
  4. Trend Vision One ポリシーを追加します。
    1. [IDとアクセス管理] サービスで、[Access management][ポリシー]
    2. [ポリシーを作成]をクリックします。
    3. [Policy editor]で、 [JSON]を選択します。
    4. ダウンロードしたテンプレートファイル内のVisionOnePolicyPart1から同じパラメータを使用してStatementパラメータをコピーして置き換えます。
      次のこともできます。このリンクをクリックをクリックしてJSONコードを直接表示およびコピーします。
      重要
      重要
      コードの2行目は"Version": "2012-10-17"のままにします。この行を削除すると、ポリシーが正しく機能しなくなる可能性があります。
    5. [次へ] をクリックします。
    6. [ポリシー名]の場合は、次のように入力します。 VisionOnePolicyPart1
    7. [ポリシーを作成]をクリックします。
      ポリシーが作成され、 [ポリシー] 画面が表示されます。
    8. ポリシーが作成されたら、 [ポリシー] 画面で [ポリシーを作成] をクリックします。
    9. [Policy editor]で、 [JSON]を選択します。
    10. ダウンロードしたテンプレートファイル内のVisionOnePolicyPart2から同じパラメータを使用してStatementパラメータをコピーして置き換えます。
      次のこともできます。このリンクをクリックをクリックしてJSONコードを直接表示およびコピーします。
      重要
      重要
      コードの2行目は"Version": "2012-10-17"のままにします。この行を削除すると、ポリシーが正しく機能しなくなる可能性があります。
    11. [次へ] をクリックします。
    12. [ポリシー名]の場合は、次のように入力します。 VisionOnePolicyPart2
    13. [ポリシーを作成]をクリックします。
      ポリシーが作成され、 [ポリシー] 画面が表示されます。
  5. Trend Vision One の役割を追加します。
    1. [IDとアクセス管理] サービスで、[Access management][Roles]
    2. [Create role]をクリックします。
    3. [Trusted entity type]で、 [Custom trust policy]を選択します。
      [Custom trust policy] JSONエディタが表示されます。
    4. プレースホルダコードを次のJSONコードに置き換えます。
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "${visionOneOIDCProvider}" }, "Action": [ "sts:AssumeRoleWithWebIdentity", "sts:SetSourceIdentity" ], "Condition": { "StringEquals": { "${visionOneOIDCProviderURL}:aud": "arn:aws:iam::${AWSAccountId}:root", "${visionOneOIDCProviderURL}:sub": [ "urn:visionone:identity:${visionOneRegion}:${visionOneAccountID}:account/${visionOneAccountID}" ] } } } ] }
    5. 次のパラメータの文字列を置き換えます。
      パラメータ
      説明
      "Federated"
      "${visionOneOIDCProvider}"作成したプロバイダのプロバイダARNで置換します。
      たとえば、 Trend Vision One リージョンが米国の場合、ARNは次の形式に従います。 "arn:aws:iam::1xxxxxxxxxx1:oidc-provider/cloudaccounts-us.xdr.trendmicro.com"
      "StringEquals"
      "${visionOneOIDCProviderURL}"の両方のインスタンスをプロバイダの作成時に使用した値で置換します。
      たとえば、 Trend Vision One 地域が米国の場合は、次のように指定します。 cloudaccounts-jp.xdr.trendmicro.com
      "arn:aws:iam::${AWSAccountID}:root"文字列の場合、${AWS::AccountID}をAWSアカウントIDで置き換えます。
      文字列は次の形式に従う必要があります。 "arn:aws:iam::1xxxxxxxxxx1:root"
      "urn:visionone:identity:..."で始まる文字列内で、次のパラメータを置き換えます。
      • ${visionOneRegion} : Trend Vision Oneリージョン ( us, eu, au, sg, in,またはjp)
      • ${visionOneAccountID} Trend Vision Oneのビジネス ID。必ず両方のインスタンスを置き換えてください。
      Trend Vision One 地域が米国の場合、文字列は次のようになります。 "urn:visionone:identity:us:1#####1:account/1#####1"
    6. [次へ] をクリックします。
    7. [Add permissions] 画面で、作成したポリシーを検索し、両方を選択します。
      CAM-AWSManual_Policies=GUID-54c2c4b9-3745-48cb-8e71-9f93ff3f502f.png
    8. [次へ] をクリックします。
    9. [Name, review, and create] 画面で、次のように入力します。 VisionOneRole [役割名]の場合。
    10. [Step 3: Add tags]で、次のタグを追加します。
      キー
      VisionOneFeatures
      Base
      VisionOneFormationStackName
      Vision-One-Cloud-Account-Management
      VisionOneFormationStackRegion
      リソースをデプロイするAWSリージョンを入力します。たとえば、 us-east-1
      CAM-AWSManual_Tags=GUID-40740a18-cc31-4564-a265-ff1c55a20d37.png
    11. [Create role]をクリックします。
    12. 作成が完了したら、作成した役割の役割名をクリックします。
    13. ロールの詳細画面で、ARNをコピーして、後の手順でアカウント追加APIで使用します。
  6. アカウントの追加APIを使用して、AWSアカウントをCloud Accountsアプリに接続します。
    1. からAPIにアクセスします。自動化センター、または次のコードをコピーしてカスタマイズします。
      import requests import json url_base = 'https://api.xdr.trendmicro.com' url_path = '/beta/xdr/cam/awsAccounts' token = 'API Keys' query_params = {} headers = { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json;charset=utf-8' } body = { 'roleArn': 'YOUR_ROLEARN (string)', 'name': 'YOUR_NAME (string)', 'description': 'YOUR_DESCRIPTION (string)', 'features': 'YOUR_FEATURES (array)', 'connectedSecurityServices': [ { 'name': 'YOUR_NAME2 (string)', 'instanceIds': 'YOUR_INSTANCEIDS (array)' } ] } r = requests.post(url_base + url_path, params=query_params, headers=headers, json=body) print(r.status_code) for k, v in r.headers.items(): print(f'{k}: {v}') print('') if 'application/json' in r.headers.get('Content-Type', '') and len(r.content): print(json.dumps(r.json(), indent=4)) else: print(r.text)
    2. APIコードの次のパラメータに値を指定します。
      パラメータ
      roleArn
      name
      Cloud Accountsアプリに表示されるアカウントの名前
      名前はCloud Accountsアプリ内で一意である必要があります。
      description
      Cloud Accountsアプリに表示されるアカウントの説明
      features
      この値は空白のままにします
      Server & Workload Protectionインスタンスを1つ以上プロビジョニングしている場合は、次のパラメータを指定する必要があります。 connectedSecurityServices
      パラメータ
      name
      workload
      instanceIds
      接続されたAWSアカウントに関連付けるServer & Workload Protectionインスタンスの [インスタンスID]
      インスタンスIDは、 Trend Vision One コンソールで確認できます。[Service Management][Product Instance]
      重要
      重要
      1つのAWSアカウント接続に関連付けることができるServer & Workload Protectionインスタンスは1つのみです。
    3. アカウントの追加APIを呼び出します。
    Cloud AccountsアプリがAWSアカウントに接続します。接続は、Cloud Accountsアプリで確認するか、Get Connected Accounts APIを呼び出して確認できます。