このページでは、ラテラル ムーブメントの分析情報を管理する方法について説明します。この分析情報では、あるプロジェクトのサービス アカウントに別のプロジェクトのサービス アカウントの権限借用を許可しているロールを特定できます。ラテラル ムーブメントの分析情報の詳細については、ラテラル ムーブメントの分析情報の生成方法をご覧ください。
ラテラル ムーブメントの分析情報は、 ロールの推奨事項とリンクされる場合があります。ロールの推奨事項は、ラテラル ムーブメントの分析情報によって特定された問題を修正するために実行できるアクションを提案します。
始める前に
-
Enable the Recommender API.
- IAM ロールの推奨事項を十分に理解してください。
- Security Command Center のプレミアム ティアが組織レベルで有効になっていることを確認します。詳細については、お支払いについてをご覧ください。
- (省略可)Recommender の分析情報をご覧ください。
必要なロール
ラテラル ムーブメントの分析情報を管理するために必要な権限を取得するには、分析情報を管理するプロジェクト、フォルダ、組織に対して次の IAM ロールを付与するよう管理者に依頼します。
-
ラテラル ムーブメントの分析情報を表示するには:
IAM Recommender 閲覧者(
roles/recommender.iamViewer
) -
ラテラル ムーブメントの分析情報を変更するには:
IAM Recommender 管理者(
roles/recommender.iamAdmin
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
これらの事前定義ロールには、ラテラル ムーブメントの分析情報の管理に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
ラテラル ムーブメントの分析情報を管理するには、次の権限が必要です。
-
ラテラル ムーブメントの分析情報を表示するには:
-
recommender.iamPolicyLateralMovementInsights.get
-
recommender.iamPolicyLateralMovementInsights.list
-
-
ラテラル ムーブメントの分析情報を変更するには:
recommender.iamPolicyLateralMovementInsights.update
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
ラテラル ムーブメントの分析情報を一覧表示する
プロジェクト、フォルダ、または組織のすべてのラテラル ムーブメントの分析情報を一覧表示するには、次のいずれかの方法を使用します。Console
-
Google Cloud コンソールの [IAM] ページに移動します。
- プロジェクト、フォルダ、または組織を選択します。
[セキュリティ分析情報] 列には、ラテラル ムーブメントの分析情報など、プロジェクトに関するすべてのセキュリティ関連の分析情報が表示されます。ラテラル ムーブメントの分析情報は N service account impersonations
の形式です。ここで N
は、ロール バインディング内のサービス アカウントが借用できるサービス アカウントの数です。
gcloud
gcloud recommender
insights list
コマンドを使用して、プロジェクト、フォルダ、または組織のすべてのラテラル ムーブメントの分析情報を表示します。
コマンドを実行する前に、次の値を置き換えます。
-
RESOURCE_TYPE
: 分析情報を表示するリソースタイプ。値project
、folder
、またはorganization
を使用します。 -
RESOURCE_ID
: 分析情報を一覧表示するプロジェクト、フォルダまたは組織の ID。
gcloud recommender insights list --insight-type=google.iam.policy.LateralMovementInsight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global
出力には、プロジェクト、フォルダ、または組織のすべてのラテラル ムーブメントの分析情報が一覧表示されます。次に例を示します。
INSIGHT_ID CATEGORY INSIGHT_STATE LAST_REFRESH_TIME SEVERITY INSIGHT_SUBTYPE DESCRIPTION 046f8b89-bcee-46cd-9ac4-06818ed5273a SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project. 1328df82-5af2-4493-9850-d8ede4e72b27 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-2@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project. 17f50957-333c-4f21-86c1-6a62216b309e SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-3@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project. 187200d2-b42c-48fb-86d7-c2746a87fed2 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-4@another-project.iam.gserviceaccount.com from another project can impersonate 32 service account(s) under this project. 1f1740a4-ff98-4f64-99a4-5ef5df5a2097 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-5@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project.
REST
Recommender API の insights.list
メソッドを使用すると、プロジェクト、フォルダ、または組織のすべてのラテラル ムーブメントの分析情報を一覧表示できます。
リクエストのデータを使用する前に、次のように置き換えます。
-
RESOURCE_TYPE
: 分析情報を表示するリソースタイプ。値projects
、folders
、またはorganizations
を使用します。 -
RESOURCE_ID
: 分析情報を一覧表示するプロジェクト、フォルダまたは組織の ID。 PROJECT_ID
: Google Cloud プロジェクト IDプロジェクト ID は英数字からなる文字列です(例:my-project
)。
HTTP メソッドと URL:
GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_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 sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.", "content": { "impersonator": { "serviceAccount": "sa-1@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:sa-1@another-project.iam.gserviceaccount.com", "condition": { "expression": "", "title": "", "description": "", "location": "" } }, "impersonationPermissionUsage": [ { "permission": "iam.serviceAccounts.actAs" "used": false } ], "hasPermissionUsageData": true }, "lastRefreshTime": "2022-05-24T07: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\"", "severity": "LOW" } ] }
分析情報のコンポーネントの詳細については、このページのラテラル ムーブメントの分析情報を確認するをご覧ください。
ラテラル ムーブメントの分析情報を 1 つ取得する
1 つの分析情報に関する詳細(分析情報の説明、ステータス、推奨事項など)を取得するには、次のいずれかの方法を使用します。
Console
-
Google Cloud コンソールの [IAM] ページに移動します。
- プロジェクト、フォルダ、または組織を選択します。
-
[セキュリティ分析情報] 列で、ラテラル ムーブメントの分析情報をクリックします。ラテラル ムーブメントの分析情報は
N service account impersonations
の形式です。ここでN
は、ロール バインディング内のサービス アカウントが借用できるサービス アカウントの数です。
Google Cloud コンソールでパネルが開き、分析情報の詳細が表示されます。
gcloud
分析情報の ID を指定して gcloud recommender
insights describe
コマンドを使用すると、1 つの分析結果に関する情報を表示できます。
-
INSIGHT_ID
: 表示する分析情報の ID。ID を確認するには、プロジェクト、フォルダ、組織の分析情報を一覧表示します。 -
RESOURCE_TYPE
: 分析情報を管理するリソースタイプ。値project
、folder
、またはorganization
を使用します。 RESOURCE_ID
: 分析情報を管理するプロジェクト、フォルダ、または組織の ID。
gcloud recommender insights describe INSIGHT_ID \ --insight-type=google.iam.policy.LateralMovementInsight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global
出力に分析情報の詳細が表示されます。たとえば、次の分析情報は、プロジェクト 123456789012
の IAM ポリシーで sa-1@another-project.iam.gserviceaccount.com
が target-service-account-1@this-project.iam.gserviceaccount.com
と target-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:sa-1@another-project.iam.gserviceaccount.com resource: //cloudresourcemanager.googleapis.com/projects/123456789012 role: roles/editor impersonator: isGoogleManaged: false serviceAccount: sa-1@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 sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project. etag: '"f48fa6a1b15c7741"' insightSubtype: CROSS_PROJECT_IMPERSONATION lastRefreshTime: '2022-05-24T07:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860 observationPeriod: 7776000s severity: LOW stateInfo: state: ACTIVE targetResources: - //cloudresourcemanager.googleapis.com/projects/123456789012
分析情報のコンポーネントの詳細については、このページのラテラル ムーブメントの分析情報を確認するをご覧ください。
REST
1 つの分析情報を取得するには、Recommender API の insights.get
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
-
RESOURCE_TYPE
: 分析情報を管理するリソースタイプ。値projects
、folders
、またはorganizations
を使用します。 -
RESOURCE_ID
: 分析情報を管理するプロジェクト、フォルダ、または組織の ID。 -
INSIGHT_ID
: 表示する分析情報の ID。分析情報の ID が不明な場合は、プロジェクト、フォルダ、または組織の分析情報を一覧表示することで確認できます。分析情報のname
フィールドのinsights/
より後の部分が分析情報の ID です。 PROJECT_ID
: Google Cloud プロジェクト IDプロジェクト ID は英数字からなる文字列です(例:my-project
)。
HTTP メソッドと URL:
GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID
リクエストを送信するには、次のいずれかのオプションを展開します。
レスポンスに分析情報が含まれます。たとえば、次の分析情報は、プロジェクト 123456789012
の IAM ポリシーで sa-1@another-project.iam.gserviceaccount.com
が target-service-account-1@this-project.iam.gserviceaccount.com
と target-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 sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.", "content": { "impersonator": { "serviceAccount": "sa-1@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:sa-1@another-project.iam.gserviceaccount.com", "condition": { "expression": "", "title": "", "description": "", "location": "" } }, "impersonationPermissionUsage": [ { "permission": "iam.serviceAccounts.actAs" "used": false } ], "hasPermissionUsageData": true }, "lastRefreshTime": "2022-05-24T07: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\"", "severity": "LOW" }
分析情報のコンポーネントの詳細については、このページのラテラル ムーブメントの分析情報を確認するをご覧ください。
ラテラル ムーブメントの分析情報を確認する
1 回の分析情報を取得したら、その内容を確認して、ハイライトされたリソース使用量のパターンを確認できます。
Console
Google Cloud コンソールでラテラル ムーブメントの分析情報をクリックすると、Google Cloud コンソールで分析情報の詳細を表示するペインが開きます。詳細の表示方法は、分析情報が推奨事項に関連付けられているかどうかによって異なります。
分析情報が推奨事項に関連付けられている場合は、パネルに推奨事項の詳細が表示されます。
分析情報が推奨事項に関連付けられていない場合、ペインには次のように表示されます。
-
サービス アカウントの元のプロジェクト: 権限を借用したサービス アカウントが作成されたプロジェクト。
-
このプロジェクトで権限借用されるサービス アカウント: 現在のプロジェクト内で、借用権限を持つサービス アカウントが権限を借用できるサービス アカウントすべてのリスト。
-
プロジェクトでの借用を許可する権限: サービス アカウントに付与されている借用権限のリスト。
-
現在の権限: サービス アカウントのすべての権限のリスト。
gcloud
分析情報のコンテンツはサブタイプによって決まります。ラテラル ムーブメントの分析情報(google.iam.policy.LateralMovementInsight
)の分析情報には、CROSS_PROJECT_IMPERSONATION
サブタイプがあります。
CROSS_PROJECT_IMPERSONATION
の分析情報は次のコンポーネントから構成されます(順番は異なる場合があります)。
-
associatedRecommendations
: 分析情報に関連付けられている推奨事項の ID。分析情報に関連付けられた推奨事項がない場合、このフィールドは空白になります。 category
: IAM 分析情報のカテゴリは常にSECURITY
になります。-
content
: サービス アカウントが、他のプロジェクトのサービス アカウントの権限を借用できるかを報告します。このフィールドには次のコンポーネントが含まれます。hasPermissionUsageData
: このロール バインディングの権限の使用状況データがあるかどうかを示すブール値。権限の使用状況データは、ロール バインディングの権限が使用されているかどうかを示します。このデータは、条件付きロール バインディングでは使用できません。impersonationPermissionUsage
: 借用される権限とその使用状況に関する情報のリスト。過去 90 日間に使用された権限は、使用されたとみなされます。そうでない場合は、未使用と見なされます。hasPermissionUsageData
が false の場合、impersonationPermissionUsage
フィールドは空です。impersonationPolicy
: サービス アカウントの権限借用を許可するロール バインディングに関する情報。impersonator
: プロジェクトのサービス アカウントの権限借用権限を持つサービス アカウントの詳細。以下のものが含まれます。isGoogleManaged
: サービス アカウントが Google によって所有、管理されているかどうか。serviceAccount
: サービス アカウントのメールアドレス。serviceAccountOwner
: サービス アカウントを所有するプロジェクト。Google がサービス アカウントを所有している場合、このフィールドの値はGoogle managed
です。組織外のプロジェクトがサービス アカウントを所有している場合、このフィールドの値はUnknown to your org
です。
targetServiceAccounts
:impersonator
フィールドのサービス アカウントが権限を借用するサービス アカウントのリスト。借用側のアカウントが 1,500 を超えるサービス アカウントを借用できる場合、リストは空になります。アカウントが借用するサービス アカウントの数については、description
フィールドをご覧ください。
description
: 人が読める形式の分析情報の概要。-
etag
: 分析情報の現在の状態の一意の ID。分析情報が変わるたびに、新しいetag
値が割り当てられます。分析情報の状態を変更するには、既存の分析情報の
etag
を指定する必要があります。etag
を使用すると、最後に取得した後に分析情報が変更されていない場合にのみ、オペレーションを実行できます。 -
insightSubtype
: 分析情報のサブタイプ。 -
lastRefreshTime
: 分析情報が最後に更新された日付。分析情報の生成に使用されたデータの鮮度を表します。 -
name
: 分析情報の名前。次の形式になります。RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID
プレースホルダの値は次のとおりです。
-
RESOURCE_TYPE
: 分析情報が生成されたリソースタイプ。 -
RESOURCE_ID
: 分析情報が生成されたプロジェクト、フォルダ、または組織の ID。 INSIGHT_ID
: 分析情報の一意の ID。
-
-
observationPeriod
: 分析情報の期間。分析情報の生成に使用されるソースデータはlastRefreshTime
で終了し、lastRefreshTime
からobservationPeriod
を引いた時間に開始します。 -
severity
: 分析情報の重大度。ラテラル ムーブメントの分析情報の重大度はLOW
です。 -
stateInfo
: 分析情報が提案後、多くの状態遷移が発生します。-
ACTIVE
: 分析情報が生成されていますが、アクションが実行されていません。あるいは、分析情報の状態を更新せずに処理が行われています。アクティブな分析情報は、基になるデータが変更されると更新されます。 -
ACCEPTED
: 分析情報に基づいて一部の操作が行われています。関連する推奨事項がCLAIMED
、SUCCEEDED
、FAILED
のいずれかにマークされるか、もしくは分析情報が直接承認されると、分析情報は承認された状態になります。分析情報がACCEPTED
状態の場合、分析情報のコンテンツは変更できません。承認された分析情報は、承認後 90 日間保持されます。
-
-
targetResources
: 分析情報の対象となる組織、フォルダ、プロジェクト、またはサービス アカウントの完全なリソース名。例://cloudresourcemanager.googleapis.com/projects/123456789012
REST
分析情報のコンテンツはサブタイプによって決まります。ラテラル ムーブメントの分析情報(google.iam.policy.LateralMovementInsight
)の分析情報には、CROSS_PROJECT_IMPERSONATION
サブタイプがあります。
CROSS_PROJECT_IMPERSONATION
の分析情報は次のコンポーネントから構成されます(順番は異なる場合があります)。
-
associatedRecommendations
: 分析情報に関連付けられている推奨事項の ID。分析情報に関連付けられた推奨事項がない場合、このフィールドは空白になります。 category
: IAM 分析情報のカテゴリは常にSECURITY
になります。-
content
: サービス アカウントが、他のプロジェクトのサービス アカウントの権限を借用できるかを報告します。このフィールドには次のコンポーネントが含まれます。hasPermissionUsageData
: このロール バインディングの権限の使用状況データがあるかどうかを示すブール値。権限の使用状況データは、ロール バインディングの権限が使用されているかどうかを示します。このデータは、条件付きロール バインディングでは使用できません。impersonationPermissionUsage
: 借用される権限とその使用状況に関する情報のリスト。過去 90 日間に使用された権限は、使用されたとみなされます。そうでない場合は、未使用と見なされます。hasPermissionUsageData
が false の場合、impersonationPermissionUsage
フィールドは空です。impersonationPolicy
: サービス アカウントの権限借用を許可するロール バインディングに関する情報。impersonator
: プロジェクトのサービス アカウントの権限借用権限を持つサービス アカウントの詳細。以下のものが含まれます。isGoogleManaged
: サービス アカウントが Google によって所有、管理されているかどうか。serviceAccount
: サービス アカウントのメールアドレス。serviceAccountOwner
: サービス アカウントを所有するプロジェクト。Google がサービス アカウントを所有している場合、このフィールドの値はGoogle managed
です。組織外のプロジェクトがサービス アカウントを所有している場合、このフィールドの値はUnknown to your org
です。
targetServiceAccounts
:impersonator
フィールドのサービス アカウントが権限を借用するサービス アカウントのリスト。借用側のアカウントが 1,500 を超えるサービス アカウントを借用できる場合、リストは空になります。アカウントが借用するサービス アカウントの数については、description
フィールドをご覧ください。
description
: 人が読める形式の分析情報の概要。-
etag
: 分析情報の現在の状態の一意の ID。分析情報が変わるたびに、新しいetag
値が割り当てられます。分析情報の状態を変更するには、既存の分析情報の
etag
を指定する必要があります。etag
を使用すると、最後に取得した後に分析情報が変更されていない場合にのみ、オペレーションを実行できます。 -
insightSubtype
: 分析情報のサブタイプ。 -
lastRefreshTime
: 分析情報が最後に更新された日付。分析情報の生成に使用されたデータの鮮度を表します。 -
name
: 分析情報の名前。次の形式になります。RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID
プレースホルダの値は次のとおりです。
-
RESOURCE_TYPE
: 分析情報が生成されたリソースタイプ。 -
RESOURCE_ID
: 分析情報が生成されたプロジェクト、フォルダ、または組織の ID。 INSIGHT_ID
: 分析情報の一意の ID。
-
-
observationPeriod
: 分析情報の期間。分析情報の生成に使用されるソースデータはlastRefreshTime
で終了し、lastRefreshTime
からobservationPeriod
を引いた時間に開始します。 -
severity
: 分析情報の重大度。ラテラル ムーブメントの分析情報の重大度はLOW
です。 -
stateInfo
: 分析情報が提案後、多くの状態遷移が発生します。-
ACTIVE
: 分析情報が生成されていますが、アクションが実行されていません。あるいは、分析情報の状態を更新せずに処理が行われています。アクティブな分析情報は、基になるデータが変更されると更新されます。 -
ACCEPTED
: 分析情報に基づいて一部の操作が行われています。関連する推奨事項がCLAIMED
、SUCCEEDED
、FAILED
のいずれかにマークされるか、もしくは分析情報が直接承認されると、分析情報は承認された状態になります。分析情報がACCEPTED
状態の場合、分析情報のコンテンツは変更できません。承認された分析情報は、承認後 90 日間保持されます。
-
-
targetResources
: 分析情報の対象となる組織、フォルダ、プロジェクト、またはサービス アカウントの完全なリソース名。例://cloudresourcemanager.googleapis.com/projects/123456789012
ラテラル ムーブメントの分析情報を ACCEPTED
とマークする
アクティブな分析情報に基づいてアクションを実行する場合は、その分析情報を ACCEPTED
としてマークします。ACCEPTED
状態は、この分析情報に基づいてアクションを実行したことを Recommender API に通知します。この情報は推奨事項の改善に役立ちます。
承諾された分析情報は、ACCEPTED
とマークされてから 90 日間保持されます。
Console
分析情報が推奨事項に関連付けられている場合、推奨事項を適用すると、分析情報の状態が ACCEPTED
に変更されます。
推奨事項を適用せずに分析情報を ACCEPTED
としてマークするには、gcloud CLI または REST API を使用します。
gcloud
分析情報 ID を指定して gcloud recommender insights mark-accepted
コマンドを使用し、分析情報を ACCEPTED
とマークします。
-
INSIGHT_ID
: 表示する分析情報の ID。ID を確認するには、プロジェクト、フォルダ、組織の分析情報を一覧表示します。 -
RESOURCE_TYPE
: 分析情報を管理するリソースタイプ。値project
、folder
、またはorganization
を使用します。 RESOURCE_ID
: 分析情報を管理するプロジェクト、フォルダ、または組織の ID。-
ETAG
: 分析情報のバージョンの ID。etag
を取得する方法は次のとおりです。gcloud recommender insights describe
コマンドで分析情報を取得します。-
出力から
etag
値を見つけてコピーします(引用符も含む)。例:"d3cdec23cc712bd0"
gcloud recommender insights mark-accepted INSIGHT_ID \ --insight-type=google.iam.policy.LateralMovementInsight \ --RESOURCE_TYPE=RESOURCE_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:sa-1@another-project.iam.gserviceaccount.com resource: //cloudresourcemanager.googleapis.com/projects/123456789012 role: roles/editor impersonator: isGoogleManaged: false serviceAccount: sa-1@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 sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project. etag: '"f48fa6a1b15c7741"' insightSubtype: CROSS_PROJECT_IMPERSONATION lastRefreshTime: '2022-05-24T07:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860 observationPeriod: 7776000s severity: LOW stateInfo: state: ACCEPTED targetResources: - //cloudresourcemanager.googleapis.com/projects/123456789012
分析情報の状態の詳細については、このページのラテラル ムーブメントの分析情報を確認するをご覧ください。
REST
Recommender API の insights.markAccepted
メソッドを使用して、分析情報を ACCEPTED
としてマークします。
リクエストのデータを使用する前に、次のように置き換えます。
-
RESOURCE_TYPE
: 分析情報を管理するリソースタイプ。値projects
、folders
、またはorganizations
を使用します。 -
RESOURCE_ID
: 分析情報を管理するプロジェクト、フォルダ、または組織の ID。 -
INSIGHT_ID
: 表示する分析情報の ID。分析情報の ID が不明な場合は、プロジェクト、フォルダ、または組織の分析情報を一覧表示することで確認できます。分析情報のname
フィールドのinsights/
より後の部分が分析情報の ID です。 -
ETAG
: 分析情報のバージョンの ID。etag
を取得する方法は次のとおりです。insights.get
メソッドで分析情報を取得します。- レスポンスから
etag
値を見つけてコピーします。
PROJECT_ID
: Google Cloud プロジェクト IDプロジェクト ID は英数字からなる文字列です(例:my-project
)。
HTTP メソッドと URL:
POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_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 sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.", "content": { "impersonator": { "serviceAccount": "sa-1@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:sa-1@another-project.iam.gserviceaccount.com", "condition": { "expression": "", "title": "", "description": "", "location": "" } }, "impersonationPermissionUsage": [ { "permission": "iam.serviceAccounts.actAs" "used": false } ], "hasPermissionUsageData": true }, "lastRefreshTime": "2022-05-24T07: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\"", "severity": "LOW" }
分析情報の状態の詳細については、このページのラテラル ムーブメントの分析情報を確認するをご覧ください。
次のステップ
- ポリシーの推奨事項の確認と適用を行う方法を学習する。
- Recommendation Hub を使用して、プロジェクトに対するすべての推奨事項(IAM の推奨事項を含む)を表示し、管理する。