ラテラル ムーブメントの分析情報の管理

Recommender は推奨事項を提案するだけでなく、機械学習(ML)を使用して詳細な分析情報も提供します。この分析情報により、リソースで特徴的な使用パターンを確認できます。たとえば、プロジェクトの権限の使用状況に関する追加情報を収集できます。また、未使用のサービス アカウントを特定することもできます。一部の分析情報は、関連付けられた推奨事項の根拠を示すため、推奨事項にリンクされています。

IAM により、さまざまな種類の分析情報が提供されます。このページでは、ラテラル ムーブメントの分析情報(google.iam.policy.LateralMovementInsight)を管理する方法について説明します。この分析情報では、あるプロジェクトのサービス アカウントに別のプロジェクトのサービス アカウントの権限借用を許可しているロールを特定できます。ラテラル ムーブメントの分析情報の詳細については、ラテラル ムーブメントの分析情報の生成方法をご覧ください。

始める前に

必要な権限

ラテラル ムーブメントの分析情報に必要な権限は、実行する操作によって異なります。

分析情報の表示権限

ラテラル ムーブメントの分析情報を表示するには、次の権限を含むロールが必要です。

  • recommender.iamPolicyLateralMovementInsights.get
  • recommender.iamPolicyLateralMovementInsights.list

これらの権限を最小権限の原則に従って取得するには、管理者に次のロールのいずれかを付与するよう依頼してください。

  • IAM Recommender 閲覧者(roles/recommender.iamViewer
  • IAM セキュリティ審査担当者(roles/iam.securityReviewer

あるいは、必要な権限を含む別のロールを管理者に付与してもらうこともできます。たとえば、カスタムロールや、許容範囲がより広い事前定義ロールなどです。

分析情報の変更権限

ラテラル ムーブメントの分析情報を変更するには、次の権限を含むロールが必要です。

  • recommender.iamPolicyLateralMovementInsights.get
  • recommender.iamPolicyLateralMovementInsights.list
  • recommender.iamPolicyLateralMovementInsights.update

最小権限の原則に従ってこれらの権限を取得するには、管理者に IAM Recommender 管理者ロール(roles/recommender.iamAdmin)を付与するよう依頼してください。

あるいは、必要な権限を含む別のロールを管理者に付与してもらうこともできます。たとえば、カスタムロールや、許容範囲がより広い事前定義ロールなどです。

ラテラル ムーブメントの分析情報の一覧表示

プロジェクトのラテラル ムーブメントのすべての分析情報を一覧表示するには、次のいずれかの方法を使用します。

Console

  1. Cloud Console で [IAM] ページに移動します。

    IAM に移動

  2. プロジェクトを選択します。

[セキュリティ分析情報] 列には、ラテラル ムーブメントの分析情報など、プロジェクトに関するすべてのセキュリティ関連の分析情報が表示されます。ラテラル ムーブメントの分析情報は N service account impersonations の形式です。ここで N は、ロール バインディング内のサービス アカウントが借用できるサービス アカウントの数です。

gcloud

gcloud recommender insights list コマンドを使用して、プロジェクトのラテラル ムーブメントの分析情報をすべて表示します。

コマンドを実行する前に、次の値を置き換えます。

  • PROJECT_ID: 分析情報を一覧表示するプロジェクトの ID。このリストには、プロジェクト内のサービス アカウント レベルのロール バインディングのラテラル ムーブメントの分析情報も含まれます。
gcloud recommender insights list --insight-type=google.iam.policy.LateralMovementInsight \
    --project=PROJECT_ID \
    --location=global

出力には、プロジェクトのすべてのラテラル ムーブメントの分析情報が一覧表示されます。次に例を示します。

INSIGHT_ID                            LOCATION  INSIGHT_TYPE                              CATEGORY  INSIGHT_STATE  LAST_REFRESH_TIME
0bd428af-d16c-4ac0-83eb-826dbce8c9bb  global    google.iam.policy.LateralMovementInsight  SECURITY  ACTIVE         2021-03-13T08:00:00Z
13088eec-9573-415f-81a7-46e1a260e860  global    google.iam.policy.LateralMovementInsight  SECURITY  ACTIVE         2021-03-13T08:00:00Z
1343077a-c1fe-409f-a7d5-3d01349e7651  global    google.iam.policy.LateralMovementInsight  SECURITY  ACTIVE         2021-03-13T08:00:00Z
31cc14c0-8c9d-4713-a6e5-de6976b0d778  global    google.iam.policy.LateralMovementInsight  SECURITY  ACTIVE         2021-03-13T08:00:00Z
4f0fd42b-5637-47af-9200-e0e55adbf321  global    google.iam.policy.LateralMovementInsight  SECURITY  ACTIVE         2021-03-13T08:00:00Z

REST

Recommender API の insights.list メソッドを使用すると、プロジェクトのラテラル ムーブメントの分析情報がすべて一覧表示されます。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 分析情報を一覧表示するプロジェクトの ID。

HTTP メソッドと URL:

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights

リクエストを送信するには、次のいずれかのオプションを展開します。

レスポンスには、プロジェクトのラテラル ムーブメントの分析情報がすべて一覧表示されます。次に例を示します。

{
  "insights": [
    {
      "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860",
      "description": "Service account service-account@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.",
      "content": {
        "impersonator": {
          "serviceAccount": "service-account@another-project.iam.gserviceaccount.com",
          "serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098",
          "isGoogleManaged": false
        },
        "targetServiceAccounts": [
          "target-service-account-1@this-project.iam.gserviceaccount.com",
          "target-service-account-2@this-project.iam.gserviceaccount.com"
        ],
        "impersonationPolicy": {
          "resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
          "role": "roles/editor",
          "member": "serviceAccount:service-account@another-project.iam.gserviceaccount.com",
          "condition": {
            "expression": "",
            "title": "",
            "description": "",
            "location": ""
          }
        },
        "impersonationPermissionUsage": [
          {
            "permission": "iam.serviceAccounts.actAs"
            "used": false
          }
        ],
        "hasPermissionUsageData": true
      },
      "lastRefreshTime": "2021-03-13T08:00:00Z",
      "observationPeriod": "7776000s",
      "stateInfo": {
        "state": "ACTIVE"
      },
      "category": "SECURITY",
      "associatedRecommendations": [
        {
          "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f"
        }
      ],
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ],
      "insightSubtype": "CROSS_PROJECT_IMPERSONATION",
      "etag": "\"f48fa6a1b15c7741\""
    }
  ]
}

分析情報のコンポーネントの詳細については、このページのラテラル ムーブメントの分析情報を確認するをご覧ください。

ラテラル ムーブメントの分析情報を 1 つ取得する

1 つの分析情報に関する詳細(分析情報の説明、ステータス、推奨事項など)を取得するには、次のいずれかの方法を使用します。

Console

  1. Cloud Console で [IAM] ページに移動します。

    IAM に移動

  2. プロジェクトを選択します。
  3. [セキュリティ分析情報] 列で、ラテラル ムーブメントの分析情報をクリックします。ラテラル ムーブメントの分析情報は N service account impersonations の形式です。ここで N は、ロール バインディング内のサービス アカウントが借用できるサービス アカウントの数です。

Cloud Console でパネルが開き、分析情報の詳細が表示されます。

gcloud

分析情報の ID を指定して gcloud recommender insights describe コマンドを使用すると、1 つの分析結果に関する情報を表示できます。

  • INSIGHT_ID: 表示する分析情報の ID。ID を確認するには、プロジェクトの分析情報の一覧を表示します。
  • PROJECT_ID: 分析情報を管理するプロジェクトの ID。
gcloud recommender insights describe INSIGHT_ID \
    --insight-type=google.iam.policy.LateralMovementInsight \
    --project=PROJECT_ID \
    --location=global

出力に分析情報の詳細が表示されます。たとえば、次の分析情報は、プロジェクト 123456789012 の IAM ポリシーで service-account@another-project.iam.gserviceaccount.comtarget-service-account-1@this-project.iam.gserviceaccount.comtarget-service-account-2@this-project.iam.gserviceaccount.com の権限を借用できることを示しています。

associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f
category: SECURITY
content:
  hasPermissionUsageData: true
  impersonationPermissionUsage:
  - permission: iam.serviceAccounts.actAs
    used: false
  impersonationPolicy:
    condition:
      description: ''
      expression: ''
      location: ''
      title: ''
    member: serviceAccount:service-account@another-project.iam.gserviceaccount.com
    resource: //cloudresourcemanager.googleapis.com/projects/123456789012
    role: roles/editor
  impersonator:
    isGoogleManaged: false
    serviceAccount: service-account@another-project.iam.gserviceaccount.com
    serviceAccountOwner: //cloudresourcemanager.googleapis.com/projects/987654321098
  targetServiceAccounts:
  - target-service-account-1@this-project.iam.gserviceaccount.com
  - target-service-account-2@this-project.iam.gserviceaccount.com
description: Service account service-account@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.
etag: '"f48fa6a1b15c7741"'
insightSubtype: CROSS_PROJECT_IMPERSONATION
lastRefreshTime: '2021-03-13T08:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860
observationPeriod: 7776000s
stateInfo:
  state: ACTIVE
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012

分析情報のコンポーネントの詳細については、このページのラテラル ムーブメントの分析情報を確認するをご覧ください。

REST

1 つの分析情報を取得するには、Recommender API の insights.get メソッドを使用します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 分析情報を管理するプロジェクトの ID。
  • INSIGHT_ID: 表示する分析情報の ID。分析情報 ID が不明な場合は、プロジェクト内で分析情報を一覧表示することにより確認できます。分析情報の name フィールドの insights/ より後の部分が分析情報の ID です。

HTTP メソッドと URL:

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID

リクエストを送信するには、次のいずれかのオプションを展開します。

レスポンスに分析情報が含まれます。たとえば、次の分析情報は、プロジェクト 123456789012 の IAM ポリシーで service-account@another-project.iam.gserviceaccount.comtarget-service-account-1@this-project.iam.gserviceaccount.comtarget-service-account-2@this-project.iam.gserviceaccount.com の権限を借用できることを示しています。

{
  "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860",
  "description": "Service account service-account@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.",
  "content": {
    "impersonator": {
      "serviceAccount": "service-account@another-project.iam.gserviceaccount.com",
      "serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098",
      "isGoogleManaged": false
    },
    "targetServiceAccounts": [
      "target-service-account-1@this-project.iam.gserviceaccount.com",
      "target-service-account-2@this-project.iam.gserviceaccount.com"
    ],
    "impersonationPolicy": {
      "resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
      "role": "roles/editor",
      "member": "serviceAccount:service-account@another-project.iam.gserviceaccount.com",
      "condition": {
        "expression": "",
        "title": "",
        "description": "",
        "location": ""
      }
    },
    "impersonationPermissionUsage": [
      {
        "permission": "iam.serviceAccounts.actAs"
        "used": false
      }
    ],
    "hasPermissionUsageData": true
  },
  "lastRefreshTime": "2021-03-13T08:00:00Z",
  "observationPeriod": "7776000s",
  "stateInfo": {
    "state": "ACTIVE"
  },
  "category": "SECURITY",
  "associatedRecommendations": [
    {
      "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f"
    }
  ],
  "targetResources": [
    "//cloudresourcemanager.googleapis.com/projects/123456789012"
  ],
  "insightSubtype": "CROSS_PROJECT_IMPERSONATION",
  "etag": "\"f48fa6a1b15c7741\""
}

分析情報のコンポーネントの詳細については、このページのラテラル ムーブメントの分析情報を確認するをご覧ください。

ラテラル ムーブメントの分析情報を確認する

1 回の分析情報を取得したら、その内容を確認して、ハイライトされたリソース使用量のパターンを確認できます。

Console

Cloud Console でラテラル ムーブメントの分析情報をクリックすると、Cloud Console で分析情報の詳細を表示するペインが開きます。詳細の表示方法は、分析情報が推奨事項に関連付けられているかどうかによって異なります。

分析情報が推奨事項に関連付けられている場合は、パネルに推奨事項の詳細が表示されます。

分析情報が推奨事項に関連付けられていない場合、ペインには次のように表示されます。

  • サービス アカウントの元のプロジェクト: 権限を借用したサービス アカウントが作成されたプロジェクト。

  • このプロジェクトで権限借用されるサービス アカウント: 現在のプロジェクト内で、借用権限を持つサービス アカウントが権限を借用できるサービス アカウントすべてのリスト。

  • プロジェクトでの借用を許可する権限: サービス アカウントに付与されている借用権限のリスト。

  • 現在の権限: サービス アカウントのすべての権限のリスト。

gcloud

分析情報のコンテンツはサブタイプによって決まります。ラテラル ムーブメントの分析情報(google.iam.policy.LateralMovementInsight)は、CROSS_PROJECT_IMPERSONATION サブタイプの分析情報に対応しています。

CROSS_PROJECT_IMPERSONATION の分析情報は次のコンポーネントから構成されます(順番は異なる場合があります)。

  • associatedRecommendations: 分析情報に関連付けられている推奨事項の ID。分析情報に関連付けられた推奨事項がない場合、このフィールドは空白になります。
  • category: IAM 分析情報のカテゴリは常に SECURITY になります。
  • content: サービス アカウントが、他のプロジェクトのサービス アカウントの権限を借用できるかを報告します。このフィールドには次のコンポーネントが含まれます。

    • hasPermissionUsageData: このロール バインディングの権限の使用状況データがあるかどうかを示すブール値。権限の使用状況データは、ロール バインディングの権限が使用されているかどうかを示します。このデータは、条件付きロール バインディングでは使用できません。
    • impersonationPermissionUsage: 借用される権限とその使用状況に関する情報のリスト。hasPermissionUsageData が false の場合、このフィールドは空です。
    • impersonationPolicy: サービス アカウントの権限借用を許可するロール バインディングに関する情報。
    • impersonator: プロジェクトで他のサービス アカウントの権限を借用できるサービス アカウント。
    • targetServiceAccounts: impersonator フィールドのサービス アカウントが権限を借用するサービス アカウントのリスト。借用側のアカウントが 1,500 を超えるサービス アカウントを借用できる場合、リストは空になります。アカウントが借用するサービス アカウントの数については、description フィールドをご覧ください。
  • description: 人が読める形式の分析情報の概要。
  • etag: 分析情報の現在の状態の一意の ID。分析情報が変わるたびに、新しい etag 値が割り当てられます。

    分析情報の状態を変更するには、既存の分析情報の etag を指定する必要があります。etag を使用すると、最後に取得した後に分析情報が変更されていない場合にのみ、オペレーションを実行できます。

  • insightSubtype: 分析情報のサブタイプ。
  • lastRefreshTime: 分析情報が最後に更新された日付。分析情報の生成に使用されたデータの鮮度を表します。
  • name: 分析情報の名前。次の形式になります。

    projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID

    プレースホルダの値は次のとおりです。

    • PROJECT_ID: 分析情報が生成されたプロジェクトの ID。
    • INSIGHT_ID: 分析情報の一意の ID。
  • observationPeriod: 分析情報の期間。分析情報の生成に使用されるソースデータは lastRefreshTime で終了し、lastRefreshTime から observationPeriod を引いた時間に開始します。
  • severity: 分析情報の重大度。ラテラル ムーブメントの分析情報の重大度は LOW です。
  • stateInfo: 分析情報が提案後、多くの状態遷移が発生します。

    • ACTIVE: 分析情報が生成されていますが、アクションが実行されていません。あるいは、分析情報の状態を更新せずに処理が行われています。アクティブな分析情報は、基になるデータが変更されると更新されます。
    • ACCEPTED: 分析情報に基づいて一部の操作が行われています。関連する推奨事項が CLAIMEDSUCCEEDEDFAILED のいずれかにマークされるか、もしくは分析情報が直接承認されると、分析情報は承認された状態になります。分析情報が ACCEPTED 状態の場合、分析情報のコンテンツは変更できません。承認された分析情報は、承認後 90 日間保持されます。
  • targetResources: 分析情報の対象となるプロジェクトまたはサービス アカウントの完全なリソース名。例: //cloudresourcemanager.googleapis.com/projects/1234567890

REST

分析情報のコンテンツはサブタイプによって決まります。ラテラル ムーブメントの分析情報(google.iam.policy.LateralMovementInsight)は、CROSS_PROJECT_IMPERSONATION サブタイプの分析情報に対応しています。

CROSS_PROJECT_IMPERSONATION の分析情報は次のコンポーネントから構成されます(順番は異なる場合があります)。

  • associatedRecommendations: 分析情報に関連付けられている推奨事項の ID。分析情報に関連付けられた推奨事項がない場合、このフィールドは空白になります。
  • category: IAM 分析情報のカテゴリは常に SECURITY になります。
  • content: サービス アカウントが、他のプロジェクトのサービス アカウントの権限を借用できるかを報告します。このフィールドには次のコンポーネントが含まれます。

    • hasPermissionUsageData: このロール バインディングの権限の使用状況データがあるかどうかを示すブール値。権限の使用状況データは、ロール バインディングの権限が使用されているかどうかを示します。このデータは、条件付きロール バインディングでは使用できません。
    • impersonationPermissionUsage: 借用される権限とその使用状況に関する情報のリスト。hasPermissionUsageData が false の場合、このフィールドは空です。
    • impersonationPolicy: サービス アカウントの権限借用を許可するロール バインディングに関する情報。
    • impersonator: プロジェクトで他のサービス アカウントの権限を借用できるサービス アカウント。
    • targetServiceAccounts: impersonator フィールドのサービス アカウントが権限を借用するサービス アカウントのリスト。借用側のアカウントが 1,500 を超えるサービス アカウントを借用できる場合、リストは空になります。アカウントが借用するサービス アカウントの数については、description フィールドをご覧ください。
  • description: 人が読める形式の分析情報の概要。
  • etag: 分析情報の現在の状態の一意の ID。分析情報が変わるたびに、新しい etag 値が割り当てられます。

    分析情報の状態を変更するには、既存の分析情報の etag を指定する必要があります。etag を使用すると、最後に取得した後に分析情報が変更されていない場合にのみ、オペレーションを実行できます。

  • insightSubtype: 分析情報のサブタイプ。
  • lastRefreshTime: 分析情報が最後に更新された日付。分析情報の生成に使用されたデータの鮮度を表します。
  • name: 分析情報の名前。次の形式になります。

    projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID

    プレースホルダの値は次のとおりです。

    • PROJECT_ID: 分析情報が生成されたプロジェクトの ID。
    • INSIGHT_ID: 分析情報の一意の ID。
  • observationPeriod: 分析情報の期間。分析情報の生成に使用されるソースデータは lastRefreshTime で終了し、lastRefreshTime から observationPeriod を引いた時間に開始します。
  • severity: 分析情報の重大度。ラテラル ムーブメントの分析情報の重大度は LOW です。
  • stateInfo: 分析情報が提案後、多くの状態遷移が発生します。

    • ACTIVE: 分析情報が生成されていますが、アクションが実行されていません。あるいは、分析情報の状態を更新せずに処理が行われています。アクティブな分析情報は、基になるデータが変更されると更新されます。
    • ACCEPTED: 分析情報に基づいて一部の操作が行われています。関連する推奨事項が CLAIMEDSUCCEEDEDFAILED のいずれかにマークされるか、もしくは分析情報が直接承認されると、分析情報は承認された状態になります。分析情報が ACCEPTED 状態の場合、分析情報のコンテンツは変更できません。承認された分析情報は、承認後 90 日間保持されます。
  • targetResources: 分析情報の対象となるプロジェクトまたはサービス アカウントの完全なリソース名。例: //cloudresourcemanager.googleapis.com/projects/1234567890

ラテラル ムーブメントの分析情報を ACCEPTED とマークする

アクティブな分析情報に基づいてアクションを実行する場合は、その分析情報を ACCEPTED としてマークします。ACCEPTED 状態は、この分析情報に基づいてアクションを実行したことを Recommender API に通知します。この情報は推奨事項の改善に役立ちます。

承諾された分析情報は、ACCEPTED とマークされてから 90 日間保持されます。

Console

分析情報が推奨事項に関連付けられている場合、推奨事項を適用すると、分析情報の状態が ACCEPTED に変更されます。

推奨事項を適用せずに分析情報を ACCEPTED としてマークするには、gcloud ツールまたは REST API を使用します。

gcloud

分析情報 ID を指定して gcloud recommender insights mark-accepted コマンドを使用し、分析情報を ACCEPTED とマークします。

  • INSIGHT_ID: 表示する分析情報の ID。ID を確認するには、プロジェクトの分析情報の一覧を表示します。
  • PROJECT_ID: 分析情報を管理するプロジェクトの ID。
  • ETAG: 分析情報のバージョンの ID。etag を取得する方法は次のとおりです。

    1. gcloud recommender insights describe コマンドで分析情報を取得します。
    2. 出力から etag 値を見つけてコピーします(引用符も含む)。例: "d3cdec23cc712bd0"
gcloud recommender insights mark-accepted INSIGHT_ID \
    --insight-type=google.iam.policy.LateralMovementInsight \
    --project=PROJECT_ID \
    --location=global \
    --etag=ETAG

出力に、ACCEPTED 状態の分析情報が表示されます。

associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f
category: SECURITY
content:
  hasPermissionUsageData: true
  impersonationPermissionUsage:
  - permission: iam.serviceAccounts.actAs
    used: false
  impersonationPolicy:
    condition:
      description: ''
      expression: ''
      location: ''
      title: ''
    member: serviceAccount:service-account@another-project.iam.gserviceaccount.com
    resource: //cloudresourcemanager.googleapis.com/projects/123456789012
    role: roles/editor
  impersonator:
    isGoogleManaged: false
    serviceAccount: service-account@another-project.iam.gserviceaccount.com
    serviceAccountOwner: //cloudresourcemanager.googleapis.com/projects/987654321098
  targetServiceAccounts:
  - target-service-account-1@this-project.iam.gserviceaccount.com
  - target-service-account-2@this-project.iam.gserviceaccount.com
description: Service account service-account@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.
etag: '"f48fa6a1b15c7741"'
insightSubtype: CROSS_PROJECT_IMPERSONATION
lastRefreshTime: '2021-03-13T08:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860
observationPeriod: 7776000s
stateInfo:
  state: ACCEPTED
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012

分析情報の状態の詳細については、このページのラテラル ムーブメントの分析情報を確認するをご覧ください。

REST

Recommender API の insights.markAccepted メソッドを使用して、分析情報を ACCEPTED としてマークします。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 分析情報を管理するプロジェクトの ID。
  • INSIGHT_ID: 表示する分析情報の ID。分析情報 ID が不明な場合は、プロジェクト内で分析情報を一覧表示することにより確認できます。分析情報の name フィールドの insights/ より後の部分が分析情報の ID です。
  • ETAG: 分析情報のバージョンの ID。etag を取得する方法は次のとおりです。
    1. insights.get メソッドで分析情報を取得します。
    2. レスポンスから etag 値を見つけてコピーします。

HTTP メソッドと URL:

POST https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID:markAccepted

JSON 本文のリクエスト:

{
  "etag": "ETAG"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

レスポンスには、状態が ACCEPTED の分析情報が含まれます。

{
  "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860",
  "description": "Service account service-account@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.",
  "content": {
    "impersonator": {
      "serviceAccount": "service-account@another-project.iam.gserviceaccount.com",
      "serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098",
      "isGoogleManaged": false
    },
    "targetServiceAccounts": [
      "target-service-account-1@this-project.iam.gserviceaccount.com",
      "target-service-account-2@this-project.iam.gserviceaccount.com"
    ],
    "impersonationPolicy": {
      "resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
      "role": "roles/editor",
      "member": "serviceAccount:service-account@another-project.iam.gserviceaccount.com",
      "condition": {
        "expression": "",
        "title": "",
        "description": "",
        "location": ""
      }
    },
    "impersonationPermissionUsage": [
      {
        "permission": "iam.serviceAccounts.actAs"
        "used": false
      }
    ],
    "hasPermissionUsageData": true
  },
  "lastRefreshTime": "2021-03-13T08:00:00Z",
  "observationPeriod": "7776000s",
  "stateInfo": {
    "state": "ACCEPTED"
  },
  "category": "SECURITY",
  "associatedRecommendations": [
    {
      "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f"
    }
  ],
  "targetResources": [
    "//cloudresourcemanager.googleapis.com/projects/123456789012"
  ],
  "insightSubtype": "CROSS_PROJECT_IMPERSONATION",
  "etag": "\"f48fa6a1b15c7741\""
}

分析情報の状態の詳細については、このページのラテラル ムーブメントの分析情報を確認するをご覧ください。

次のステップ