AWS に接続して脆弱性の検出とリスク評価を行う

Security Command Center のエンタープライズ ティアをアマゾン ウェブ サービス(AWS)環境に接続することで、次のことが可能になります。

  • AWS 環境でソフトウェアの脆弱性と構成ミスを検出して修正する
  • AWS のセキュリティ ポスチャーを作成、管理する
  • 公共のインターネットから価値の高い AWS アセットに対する潜在的な攻撃パスを特定する
  • AWS リソースのコンプライアンスをさまざまな標準とベンチマークにマッピングする

Security Command Center を AWS に接続すると、セキュリティ運用チームが Google Cloud と AWS 全体の脅威と脆弱性を 1 か所で管理して修正できるようになります。

Security Command Center で AWS 組織をモニタリングするには、Google Cloud サービス エージェントと、モニタリングするリソースにアクセスできる AWS アカウントを使用して接続を構成する必要があります。Security Command Center は、この接続を使用して、定義したすべての AWS アカウントとリージョンでデータを定期的に収集します。

Google Cloud 組織ごとに 1 つの AWS 接続を作成できます。このコネクタは、API 呼び出しを使用して AWS アセットデータを収集します。これらの API 呼び出しにより、AWS の料金が発生する場合があります。

このドキュメントでは、AWS との接続を設定する方法について説明します。接続を設定する際には、以下の構成を行います。

  • モニタリングする AWS リソースに直接アクセスできる AWS 内の一連のアカウント。これらのアカウントは、Google Cloud コンソールでコレクタ アカウントと呼ばれます。
  • コレクタ アカウントの認証を許可する適切なポリシーとロールを持つ AWS のアカウント。Google Cloud コンソールでは、このアカウントは委任されたアカウントと呼ばれます。委任アカウントとコレクタ アカウントは、同じ AWS 組織に存在しなければなりません。
  • 認証のために委任されたアカウントに接続する Google Cloud のサービス エージェント。
  • AWS リソースからアセットデータを収集するパイプライン。
  • (省略可)Sensitive Data Protection が AWS コンテンツをプロファイリングするための権限。

この接続は、脅威検出のために AWS ログを取り込むことができる Security Command Center の SIEM 機能には適用されません。

以下の図に、この構成を示します。 テナント プロジェクトは、アセットデータ収集パイプライン インスタンスを含む、自動作成されるプロジェクトです。

AWS と Security Command Center の構成。

始める前に

以下のタスクを完了してから、このページの残りのタスクを完了してください。

Security Command Center のエンタープライズ ティアを有効にする

設定ガイドのステップ 1 とステップ 2 を完了して、Security Command Center Enterprise ティアを有効にします。

権限を設定する

AWS コネクタを使用するために必要な権限を取得するには、Cloud Asset オーナー roles/cloudasset.owner)IAM ロールの付与を管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

AWS アカウントを作成する

以下の AWS リソースが作成されていることを確認します。

Security Command Center を構成する

  1. Google Cloud コンソールで、Security Command Center の [設定ガイド] ページに移動します。

    設定ガイドを開く

  2. Security Command Center Enterprise ティアを有効にした組織を選択します。[設定ガイド] ページが開きます。

  3. [ステップ 3: アマゾン ウェブ サービス(AWS)コネクタを設定する] をクリックします。

  4. [委任アカウント ID] に、委任アカウントとして使用できる AWS アカウントの AWS アカウント ID を入力します。

  5. Sensitive Data Protection で AWS データをプロファイリングできるようにするには、[機密データの保護の検出に権限を付与する] を選択したままにします。このオプションを使用すると、コレクタロールの CloudFormation テンプレートに AWS IAM 権限が追加されます。

    このオプションによって付与される AWS IAM 権限

    • s3:GetBucketLocation
    • s3:ListAllMyBuckets
    • s3:GetBucketPolicyStatus
    • s3:ListBucket
    • s3:GetObject
    • s3:GetObjectVersion
    • s3:GetBucketPublicAccessBlock
    • s3:GetBucketOwnershipControls
    • s3:GetBucketTagging
    • iam:ListAttachedRolePolicies
    • iam:GetPolicy
    • iam:GetPolicyVersion
    • iam:ListRolePolicies
    • iam:GetRolePolicy
    • ce:GetCostAndUsage
    • dynamodb:DescribeTableReplicaAutoScaling
    • identitystore:ListGroupMemberships
    • identitystore:ListGroups
    • identitystore:ListUsers
    • lambda:GetFunction
    • lambda:GetFunctionConcurrency
    • logs:ListTagsForResource
    • s3express:CreateSession
    • s3express:GetBucketPolicy
    • s3express:ListAllMyDirectoryBuckets
    • wafv2:GetIPSet
  6. 必要に応じて、[詳細オプション] を確認して編集します。追加のオプションについては、AWS コネクタ構成のカスタマイズをご覧ください。

  7. [続行] をクリックします。[AWS に接続] ページが開きます。

  8. 次のいずれかを行います。

    • 委任ロールとコレクタロールの CloudFormation テンプレートをダウンロードして確認します。
    • 詳細オプションを構成した場合や、デフォルトの AWS ロール名(aws-delegated-roleaws-collector-roleaws-sensitive-data-protection-role など)を変更する必要がある場合は、[AWS アカウントを手動で構成する] を選択します。サービス エージェント ID、委任されたロール名、コレクタロール名、Sensitive Data Protection コレクタロール名をコピーします。

    接続の作成後にロール名を変更することはできません。

[作成] はクリックしないでください。代わりに、AWS 環境を構成します

AWS 環境を構成する

AWS 環境は、次のいずれかの方法で設定できます。

CloudFormation テンプレートを使用して AWS 環境を設定する

CloudFormation テンプレートをダウンロードした場合は、次の手順で AWS 環境を設定します。

  1. AWS 委任アカウント コンソールにログインします。他のコレクタの AWS アカウントの権限を借用するために使用される委任アカウント(AWS 管理アカウントまたは委任管理者として登録されているメンバー アカウント)にログインしていることを確認します。
  2. AWS CloudFormation テンプレート コンソールに移動します。
  3. 委任ロールをプロビジョニングするスタックを作成します。

    1. [Stacks] ページで、[Create stack] > [With new resources (standard)] をクリックします。
    2. テンプレートを指定する場合は、委任ロール テンプレート ファイルをアップロードします。
    3. スタックの詳細を指定するときは、スタック名を入力します。
    4. 委任ロール、コレクタロール、Sensitive Data Protection ロールのロール名を変更した場合は、それに応じてパラメータを更新します。入力するパラメータは、Google Cloud コンソールの [AWS に接続] ページに表示されているパラメータと一致していなければなりません。

    5. 組織で必要に応じて、スタック オプションを更新します。

    6. [確認して作成] ページで、[AWS CloudFormation がカスタム名で IAM リソースを作成することを確認します] を選択します。

    7. [送信] をクリックしてスタックを作成します。

    クラスタが作成されるまで待ちます。問題が発生した場合は、トラブルシューティングをご覧ください。詳細については、AWS ドキュメントの AWS CloudFormation コンソールでスタックを作成するをご覧ください。

  4. コレクタロールをプロビジョニングするスタックセットを作成します。

    1. [StackSets] ページで、[StackSet を作成] をクリックします。
    2. [サービスが管理する権限] をクリックします。

    3. テンプレートを指定する場合は、コレクタロール テンプレート ファイルをアップロードします。

    4. StackSet の詳細を指定するときに、スタックセットの名前と説明を入力します。

    5. 委任アカウント ID を入力します。

    6. 委任ロール、コレクタロール、Sensitive Data Protection ロールのロール名を変更した場合は、それに応じてパラメータを更新します。入力するパラメータは、Google Cloud コンソールの [AWS に接続] ページに表示されているパラメータと一致していなければなりません。

    7. 組織で必要な場合は、スタックセット オプションを構成します。

    8. デプロイ オプションを指定するときに、デプロイ ターゲットを選択します。AWS 組織全体にデプロイすることも、データの収集元となるすべての AWS アカウントを含む組織部門(OU)にデプロイすることもできます。

    9. ロールとポリシーを作成する AWS リージョンを指定します。ロールはグローバル リソースであるため、複数のリージョンを指定する必要はありません。

    10. 必要に応じて他の設定を変更します。

    11. 変更を確認し、[送信] をクリックしてスタックセットを作成します。エラーが発生した場合は、トラブルシューティングをご覧ください。詳細については、AWS のドキュメントでサービス管理の権限を使用してスタックセットを作成するをご覧ください。

  5. 管理アカウントからデータを収集する必要がある場合は、管理アカウントにログインして、別のスタックをデプロイしてコレクタロールをプロビジョニングします。テンプレートを指定する場合は、コレクタロール テンプレート ファイルをアップロードします。

    この手順は、AWS CloudFormation スタックセットが管理アカウントにスタック インスタンスを作成しないため必要です。詳細については、AWS ドキュメントの DeploymentTargets をご覧ください。

インテグレーション プロセスを完了するには、インテグレーション プロセスを完了するをご覧ください。

AWS アカウントを手動で構成する

CloudFormation テンプレートを使用できない場合(たとえば、別のロール名を使用している場合や、インテグレーションをカスタマイズしている場合)、必要な AWS IAM ポリシーと AWS IAM のロールを手動で作成できます。

委任されたアカウントとコレクタ アカウントの AWS IAM ポリシーと AWS IAM のロールを作成する必要があります。

委任されたロールの AWS IAM ポリシーを作成する

委任ロールの AWS IAM ポリシー(委任ポリシー)を作成するには、次の操作を行います。

  1. AWS 委任アカウント コンソールにログインします。

  2. [ポリシー] > [ポリシーを作成] をクリックします。

  3. [JSON] をクリックし、[Security Command Center を構成する] で [機密データ保護の検出に対する権限を付与する] チェックボックスをオンにしたかどうかに応じて、次のいずれかを貼り付けます。

    Sensitive Data Protection 検出に対する権限を付与する: cleared

    {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Action": "sts:AssumeRole",
              "Resource": "arn:aws:iam::*:role/COLLECTOR_ROLE_NAME",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "organizations:List*",
                  "organizations:Describe*"
              ],
              "Resource": "*",
              "Effect": "Allow"
          }
      ]
    }
    

    COLLECTOR_ROLE_NAME は、Security Command Center の構成時にコピーしたコレクタロールの名前に置き換えます(デフォルトは aws-collector-role です)。

    Sensitive Data Protection 検出に対する権限を付与する: selected

        {
          "Version": "2012-10-17",
          "Statement": [
            {
              "Action": "sts:AssumeRole",
              "Resource": [
                "arn:aws:iam::*:role/COLLECTOR_ROLE_NAME",
                "arn:aws:iam::*:role/SCAN_SENSITIVE_DATA_COLLECTOR_ROLE_NAME"
              ],
              "Effect": "Allow"
            },
            {
              "Action": [
                "organizations:List*",
                "organizations:Describe*"
              ],
              "Resource": "*",
              "Effect": "Allow"
            }
          ]
        }
        

    以下を置き換えます。

    • COLLECTOR_ROLE_NAME: Security Command Center の構成時にコピーした構成データ コレクタのロールの名前(デフォルトは aws-collector-role
    • SCAN_SENSITIVE_DATA_COLLECTOR_ROLE_NAME: Security Command Center の構成時にコピーした Sensitive Data Protection コレクタロールの名前(デフォルトは aws-sensitive-data-protection-role
  4. [次へ] をクリックします。

  5. [ポリシーの詳細] セクションで、ポリシーの名前と説明を入力します。

  6. [ポリシーの作成] をクリックします。

AWS と Google Cloud 間の信頼関係用の AWS IAM ロールを作成する

AWS と Google Cloud 間の信頼できる関係を設定する委任ロールを作成します。このロールは、委任されたロールの AWS IAM ポリシーを作成するで作成した委任ポリシーを使用します。

  1. IAM ロールとポリシーを作成できる AWS ユーザーとして、AWS 委任アカウント コンソールにログインします。

  2. [Roles] > [Create role] をクリックします。

  3. [Trusted entity type] で [Web Identity] をクリックします。

  4. [Identity Provider] で [Google] をクリックします。

  5. [Audience] には、Security Command Center の構成時にコピーしたサービス エージェント ID を入力します。[次へ] をクリックします。

  6. 委任されたロールにコレクタロールへのアクセス権を付与するには、権限ポリシーをロールに接続します。委任されたロールの AWS IAM ポリシーを作成するで作成した委任ポリシーを検索して選択します。

  7. [ロールの詳細] セクションで、Security Command Center の構成時にコピーした委任されたロール名を入力します(デフォルト名は aws-delegated-role です)。

  8. [ロールを作成] をクリックします。

アセット構成データの収集用の AWS IAM ポリシーを作成する

アセット構成データの収集(コレクタ ポリシー)用の AWS IAM ポリシーを作成するには、次の手順を実行します。

  1. AWS コレクタ アカウント コンソールにログインします。

  2. [ポリシー] > [ポリシーを作成] をクリックします。

  3. [JSON] をクリックして、次の内容を貼り付けます。

    {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "ce:GetCostAndUsage",
                  "dynamodb:DescribeTableReplicaAutoScaling",
                  "identitystore:ListGroupMemberships",
                  "identitystore:ListGroups",
                  "identitystore:ListUsers",
                  "lambda:GetFunction",
                  "lambda:GetFunctionConcurrency",
                  "logs:ListTagsForResource",
                  "s3express:GetBucketPolicy",
                  "s3express:ListAllMyDirectoryBuckets",
                  "wafv2:GetIPSet"
              ],
              "Resource": [
                  "*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "apigateway:GET"
              ],
              "Resource": [
                  "arn:aws:apigateway:*::/usageplans",
                  "arn:aws:apigateway:*::/usageplans/*/keys",
                  "arn:aws:apigateway:*::/vpclinks/*"
              ]
          }
      ]
    
    }
    
  4. [次へ] をクリックします。

  5. [ポリシーの詳細] セクションで、ポリシーの名前と説明を入力します。

  6. [ポリシーの作成] をクリックします。

  7. コレクタ アカウントごとに、この手順を繰り返します。

各アカウントでアセット構成データを収集するための AWS IAM ロールを作成する

Security Command Center が AWS からアセット構成データを取得できるように、コレクタロールを作成します。このロールでは、アセット構成データ収集用の AWS IAM ポリシーを作成するで作成したコレクタ ポリシーを使用します。

  1. コレクタ アカウントの IAM ロールを作成できるユーザーとして AWS コレクタ アカウント コンソールにログインします。

  2. [Roles] > [Create role] をクリックします。

  3. [Trusted entity type] で、[Custom trust policy] をクリックします。

  4. [Custom trust policy] セクションに、次のように貼り付けます。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::DELEGATE_ACCOUNT_ID:role/DELEGATE_ACCOUNT_ROLE"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    

    以下を置き換えます。

    • DELEGATE_ACCOUNT_ID: 委任アカウントの AWS アカウント ID
    • DELEGATE_ACCOUNT_ROLE: Security Command Center の構成時にコピーした委任ロール名
  5. このコレクタロールに AWS アセット構成データへのアクセス権を付与するには、権限ポリシーをロールに接続します。アセット構成データ収集用の AWS IAM ポリシーを作成するで作成したカスタム コレクタ ポリシーを検索して選択します。

  6. 次の管理ポリシーを検索して選択します。

    • arn:aws:iam::aws:policy/job-function/ViewOnlyAccess
    • arn:aws:iam::aws:policy/SecurityAudit
  7. [ロールの詳細] セクションで、Security Command Center の構成時にコピーした構成データ コレクタ ロールの名前を入力します。

  8. [ロールを作成] をクリックします。

  9. コレクタ アカウントごとに、この手順を繰り返します。

[Security Command Center を構成する] で [機密データ保護の検出に権限を付与する] チェックボックスをオンにした場合は、次のセクションに進みます。

[機密データの保護の検出の権限を付与する] チェックボックスを有効にしていない場合は、インテグレーション プロセスを完了します。

機密データ保護の AWS IAM ポリシーを作成する

Security Command Center の構成で [Sensitive Data Protection の検出に権限を付与する] チェックボックスをオンにした場合は、これらの手順を行います。

機密データの保護用の AWS IAM ポリシー(コレクタ ポリシー)を作成するには、次の手順を実行します。

  1. AWS コレクタ アカウント コンソールにログインします。

  2. [ポリシー] > [ポリシーを作成] をクリックします。

  3. [JSON] をクリックして、次の内容を貼り付けます。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "s3:GetBucketLocation",
            "s3:ListAllMyBuckets",
            "s3:GetBucketPolicyStatus",
            "s3:ListBucket",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:GetBucketPublicAccessBlock",
            "s3:GetBucketOwnershipControls",
            "s3:GetBucketTagging"
          ],
          "Resource": ["arn:aws:s3:::*"]
        },
        {
          "Effect": "Allow",
          "Action": [
            "iam:ListAttachedRolePolicies",
            "iam:GetPolicy",
            "iam:GetPolicyVersion",
            "iam:ListRolePolicies",
            "iam:GetRolePolicy",
            "ce:GetCostAndUsage",
            "dynamodb:DescribeTableReplicaAutoScaling",
            "identitystore:ListGroupMemberships",
            "identitystore:ListGroups",
            "identitystore:ListUsers",
            "lambda:GetFunction",
            "lambda:GetFunctionConcurrency",
            "logs:ListTagsForResource",
            "s3express:GetBucketPolicy",
            "s3express:ListAllMyDirectoryBuckets",
            "wafv2:GetIPSet"
          ],
          "Resource": ["*"]
        },
        {
          "Effect": "Allow",
          "Action": [
              "s3express:CreateSession"
          ],
          "Resource": ["arn:aws:s3express:*:*:bucket/*"]
        }
      ]
    }
    
  4. [次へ] をクリックします。

  5. [ポリシーの詳細] セクションで、ポリシーの名前と説明を入力します。

  6. [ポリシーの作成] をクリックします。

  7. コレクタ アカウントごとに、この手順を繰り返します。

各アカウントで Sensitive Data Protection の AWS IAM ロールを作成する

Security Command Center の構成で [Sensitive Data Protection の検出に権限を付与する] チェックボックスをオンにした場合は、これらの手順を行います。

Sensitive Data Protection が AWS リソースのコンテンツをプロファイリングできるようにするコレクタロールを作成します。このロールは、Sensitive Data Protection の AWS IAM ポリシーを作成するで作成したコレクタ ポリシーを使用します。

  1. コレクタ アカウントの IAM ロールを作成できるユーザーとして、AWS コレクタ アカウント コンソールにログインします。

  2. [Roles] > [Create role] をクリックします。

  3. [Trusted entity type] で、[Custom trust policy] をクリックします。

  4. [Custom trust policy] セクションに、次のように貼り付けます。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::DELEGATE_ACCOUNT_ID:role/DELEGATE_ACCOUNT_ROLE"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    

    以下を置き換えます。

    • DELEGATE_ACCOUNT_ID: 委任アカウントの AWS アカウント ID
    • DELEGATE_ACCOUNT_ROLE: Security Command Center の構成時にコピーした委任されたロール名
  5. このコレクタロールに AWS リソースのコンテンツへのアクセス権を付与するには、権限ポリシーをロールに接続します。機密データの保護の AWS IAM ポリシーを作成するで作成したカスタム コレクタ ポリシーを検索して選択します。

  6. [ロールの詳細] セクションで、Security Command Center の構成時にコピーした機密データの保護のロールの名前を入力します。

  7. [ロールを作成] をクリックします。

  8. コレクタ アカウントごとに、この手順を繰り返します。

インテグレーション プロセスを完了するには、インテグレーション プロセスを完了するをご覧ください。

インテグレーション プロセスを完了する

  1. Google Cloud コンソールの [コネクタをテスト] ページで、[コネクタをテスト] をクリックし、Security Command Center が AWS 環境に接続できることを確認します。接続に成功すると、テストでは、委任されたロールにコレクタロールを想定するために必要なすべての権限が付与されていると判断されます。接続に失敗した場合は、接続テスト時のエラーのトラブルシューティングをご覧ください。

  2. [作成] をクリックします。

AWS コネクタの構成をカスタマイズする

このセクションでは、Security Command Center と AWS 間の接続をカスタマイズする方法について説明します。これらのオプションは、[Amazon Web Services コネクタを追加する] ページの [詳細オプション(省略可)] セクションで使用できます(Google Cloud コンソール)。

デフォルトでは、Security Command Center はすべての AWS リージョンの AWS アカウントを自動的に検出します。接続では、AWS Security Token Service のデフォルトのグローバル エンドポイントと、モニタリングする AWS サービスのデフォルトの秒間クエリ数(QPS)が使用されます。これらの詳細オプションを使用すると、デフォルトをカスタマイズできます。

オプション 説明
AWS コネクタ アカウントの追加 [アカウントを自動的に追加(推奨)] フィールドを選択して、Security Command Center に AWS アカウントを自動的に検出させるか、[アカウントを個別に追加] を選択して Security Command Center がリソースの検索に使用できる AWS アカウントのリストを指定します。
AWS コネクタ アカウントを除外する [AWS コネクタ アカウントの追加] セクションで [アカウントを個別に追加] フィールドを選択した場合は、Security Command Center がリソースの検索で使用しない AWS アカウントのリストを指定します。
データを収集するリージョンを選択する データを収集する Security Command Center の AWS リージョンを 1 つ以上選択します。すべてのリージョンからデータを収集するには、[AWS リージョン] フィールドを空白のままにします。
AWS サービスの最大秒間クエリ数(QPS) QPS を変更して、Security Command Center の割り当て上限を制御できます。オーバーライドを、そのサービスのデフォルト値よりも小さい、1 以上の値に設定します。デフォルト値は最大値です。QPS を変更すると、Security Command Center でのデータ取得で問題が発生することがあります。そのため、この値は変更しないことをおすすめします。
AWS Security Token Service のエンドポイント AWS Security Token Service には、特定のエンドポイントを指定できます(例: https://sts.us-east-2.amazonaws.com)。デフォルトのグローバル エンドポイント(https://sts.amazonaws.com)を使用するには、[AWS Security Token Service] フィールドを空のままにします。

既存の AWS コネクタに機密データ検出の権限を付与する

AWS コンテンツで機密データの検出を行うには、必要な AWS IAM 権限を持つ AWS コネクタが必要です。

このセクションでは、既存の AWS コネクタにこれらの権限を付与する方法について説明します。必要な手順は、AWS 環境の構成に CloudFormation テンプレートを使用したか、手動で行ったかによって異なります。

CloudFormation テンプレートを使用して既存のコネクタを更新する

CloudFormation テンプレートを使用して AWS 環境を設定している場合は、次の手順に沿って、既存の AWS コネクタの機密データ検出権限を付与します。

  1. Google Cloud コンソールで、Security Command Center の [設定ガイド] ページに移動します。

    設定ガイドを開く

  2. Security Command Center Enterprise ティアを有効にした組織を選択します。[設定ガイド] ページが開きます。

  3. ステップ 3: アマゾン ウェブ サービス(AWS)インテグレーションをクリックします。[コネクタ] ページが開きます。

  4. AWS コネクタで、 詳細 > [編集] をクリックします。

  5. [データ型の確認] セクションで、[Sensitive Data Protection 検出の権限を付与する] を選択します。

  6. [続行] をクリックします。[AWS に接続] ページが開きます。

  7. [委任ロールのテンプレートをダウンロード] をクリックします。テンプレートがパソコンにダウンロードされます。

  8. [Download collector role template] をクリックします。テンプレートがパソコンにダウンロードされます。

  9. [続行] をクリックします。[コネクタをテスト] ページが開きます。コネクタはまだテストしないでください。

  10. CloudFormation コンソールで、委任されたロールのスタック テンプレートを更新します。

    1. AWS 委任アカウント コンソールにログインします。他のコレクタ AWS アカウントを使用するための委任アカウントにログインしていることを確認します。
    2. AWS CloudFormation コンソールに移動します。
    3. 委任ロールのスタック テンプレートを、ダウンロードした更新された委任ロール テンプレートに置き換えます。

      詳細については、AWS のドキュメントのスタックのテンプレートを更新する(コンソール)をご覧ください。

  11. コレクタロールのスタックセットを更新します。

    1. AWS 管理アカウントまたは委任管理者として登録されているメンバー アカウントを使用して、AWS CloudFormation コンソールに移動します。
    2. コレクタロールのスタックセット テンプレートを、ダウンロードした更新されたコレクタロール テンプレートに置き換えます。

      詳細については、AWS ドキュメントの AWS CloudFormation コンソールを使用してスタックセットを更新するをご覧ください。

  12. 管理アカウントからデータを収集する必要がある場合は、管理アカウントにログインし、コレクタ スタック内のテンプレートを、ダウンロードした更新されたコレクタロール テンプレートに置き換えます。

    この手順は、AWS CloudFormation スタックセットが管理アカウントにスタック インスタンスを作成しないため必要です。詳細については、AWS ドキュメントの DeploymentTargets をご覧ください。

  13. Google Cloud コンソールの [コネクタのテスト] ページで、[コネクタをテスト] をクリックします。接続に成功すると、テストでは、委任されたロールにコレクタロールを想定するために必要なすべての権限が付与されていると判断されます。接続に失敗した場合は、接続テスト時のエラーのトラブルシューティングをご覧ください。

  14. [保存] をクリックします。

既存のコネクタを手動で更新する

AWS コネクタの作成時に AWS アカウントを手動で構成した場合は、次の手順で既存の AWS コネクタに機密データ検出の権限を付与します。

  1. Google Cloud コンソールで、Security Command Center の [設定ガイド] ページに移動します。

    設定ガイドを開く

  2. Security Command Center Enterprise ティアを有効にした組織を選択します。[設定ガイド] ページが開きます。

  3. ステップ 3: アマゾン ウェブ サービス(AWS)インテグレーションをクリックします。[コネクタ] ページが開きます。

  4. AWS コネクタで、 詳細 > [編集] をクリックします。

  5. [データ型の確認] セクションで、[Sensitive Data Protection 検出の権限を付与する] を選択します。

  6. [続行] をクリックします。[AWS に接続] ページが開きます。

  7. [AWS アカウントを手動で構成する(高度な設定またはカスタマイズしたロール名を使用する場合に推奨)] をクリックします。

  8. 次のフィールドの値をコピーします。

    • 委任ロールの名前
    • コレクタロールの名前
    • Sensitive Data Protection コレクタロールの名前
  9. [続行] をクリックします。[コネクタをテスト] ページが開きます。コネクタはまだテストしないでください。

  10. AWS 委任アカウント コンソールで、次の JSON を使用するように委任されたロールの AWS IAM ポリシーを更新します。

        {
          "Version": "2012-10-17",
          "Statement": [
            {
              "Action": "sts:AssumeRole",
              "Resource": [
                "arn:aws:iam::*:role/COLLECTOR_ROLE_NAME",
                "arn:aws:iam::*:role/SCAN_SENSITIVE_DATA_COLLECTOR_ROLE_NAME"
              ],
              "Effect": "Allow"
            },
            {
              "Action": [
                "organizations:List*",
                "organizations:Describe*"
              ],
              "Resource": "*",
              "Effect": "Allow"
            }
          ]
        }
        

    以下を置き換えます。

    • COLLECTOR_ROLE_NAME: コピーした構成データ コレクタ ロールの名前(デフォルトは aws-collector-role
    • SCAN_SENSITIVE_DATA_COLLECTOR_ROLE_NAME: コピーした Sensitive Data Protection コレクタロールの名前(デフォルトは aws-sensitive-data-protection-role

    詳細については、AWS ドキュメントのカスタマー マネージド ポリシーの編集(コンソール)をご覧ください。

  11. コレクタ アカウントごとに、次の手順を行います。

    1. 機密データの保護の AWS IAM ポリシーを作成します

    2. 各アカウントで機密データの保護の AWS IAM ロールを作成します

  12. Google Cloud コンソールの [コネクタのテスト] ページで、[コネクタをテスト] をクリックします。接続に成功すると、テストでは、委任されたロールにコレクタロールを想定するために必要なすべての権限が付与されていると判断されます。接続に失敗した場合は、接続テスト時のエラーのトラブルシューティングをご覧ください。

  13. [保存] をクリックします。

トラブルシューティング

このセクションでは、Security Command Center を AWS と統合するときに発生する可能性がある一般的な問題について説明します。

リソースがすでに存在する

このエラーは、AWS IAM ポリシーと AWS IAM ロールを作成しようとすると、AWS 環境で発生します。この問題は、AWS アカウントにロールがすでに存在し、そのロールを再度作成しようとした場合に発生します。

この問題を解決するには、次の操作を行います。

  • 作成するロールまたはポリシーがすでに存在し、このガイドに記載されている要件を満たしているかどうかを確認します。
  • 必要に応じて、競合を回避するためにロール名を変更します。

ポリシー内のプリンシパルが無効

このエラーは、AWS 環境でコレクタロールを作成したものの、委任ロールがまだ存在しない場合に発生する可能性があります。

この問題を解決するには、委任ロールの AWS IAM ポリシーを作成するの手順を完了し、委任ロールが作成されるまで待ってから続行します。

AWS のスロットリングの制限

AWS は、アカウント単位またはリージョン単位で各 AWS アカウントに対する API リクエストをスロットルします。Security Command Center が AWS からアセット構成データを収集するときに、これらの上限を超えないようにするため、Security Command Center は、AWS の API ドキュメントで説明されているように、各 AWS サービスの固定の最大 QPS でデータを収集します。

消費される QPS が原因で AWS 環境でリクエストの抑制が発生した場合は、次の操作を行うことで問題を軽減できます。

  • [AWS コネクタの設定ページ] で、リクエストのスロットリングの問題が発生している AWS サービスにカスタム QPS を設定します。

  • AWS コレクタロールの権限を制限して、その特定のサービスのデータが収集されないようにします。この緩和策により、AWS で攻撃パス シミュレーションが正しく動作しなくなります。

AWS ですべての権限を取り消すと、データ コレクタ プロセスは直ちに停止します。AWS コネクタを削除しても、データ コレクタのプロセスはすぐに停止しませんが、完了後に再開されることはありません。

接続テスト時のエラーのトラブルシューティング

これらのエラーは、Security Command Center と AWS 間の接続をテストするときに発生することがあります。

AWS_FAILED_TO_ASSUME_DELEGATED_ROLE

Google Cloud サービス エージェントは委任ロールを想定できないため、接続は無効です。

この問題を解決するには、次の点を考慮してください。

AWS_FAILED_TO_LIST_ACCOUNTS

自動検出が有効になっており、委任ロールが組織内のすべての AWS アカウントを取得できないため、接続は無効です。

この問題は、委任されたロールに対する organizations:ListAccounts アクションを許可するポリシーが特定のリソースにないことを示しています。この問題を解決するには、不足しているリソースを確認します。委任ポリシーの設定を確認するには、委任ロールの AWS IAM ポリシーを作成するをご覧ください。

AWS_INVALID_COLLECTOR_ACCOUNTS

無効なコレクタ アカウントがあるため、接続は無効です。エラー メッセージには、考えられる原因に関する詳細情報が含まれます。考えられる原因は次のとおりです。

AWS_FAILED_TO_ASSUME_COLLECTOR_ROLE

委任ロールはコレクタ アカウントのコレクタロールを想定できないため、コレクタ アカウントは無効です。

この問題を解決するには、次の点を考慮してください。

AWS_COLLECTOR_ROLE_POLICY_MISSING_REQUIRED_PERMISSION

コレクタ ポリシーに必要な権限設定の一部がないため、接続が無効です。

この問題を解決するには、次の原因が考えられます。

次のステップ