このページでは、リソースの構成と使用状況に関する分析結果である、組織のポリシー分析情報を管理する方法について説明します。組織のポリシーの分析情報を使用すると、組織のポリシーで保護されていないリソースを特定できます。
組織のポリシーの分析情報は、 組織のポリシーの推奨事項に関連付けられている場合があります。組織のポリシーの推奨事項は、組織のポリシーの分析情報によって特定された問題を修正するために実行できるアクションを提案します。
始める前に
-
Enable the Recommender API.
- 組織のポリシーの推奨事項を理解します。
- (省略可)Recommender の分析情報をご覧ください。
必要なロール
組織のポリシーの分析情報を表示および変更するために必要な権限を取得するには、分析情報を管理するリソース(プロジェクト、フォルダ、または組織)に対して 組織のポリシー Recommender 管理者 (roles/recommender.orgPolicyAdmin
)IAM ロールを付与するよう管理者に依頼します。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
この事前定義ロールには、組織のポリシーの分析情報を表示および変更するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
組織のポリシーの分析情報を表示および変更するには、次の権限が必要です。
-
recommender.orgPolicyInsights.get
-
recommender.orgPolicyInsights.list
-
recommender.orgPolicyInsights.update
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
組織のポリシーの分析情報を一覧表示する
プロジェクト、フォルダ、または組織の組織のポリシーに関する分析情報をすべて一覧表示するには、次のいずれかの方法を使用します。gcloud
gcloud recommender
insights list
コマンドを使用して、プロジェクト、フォルダ、または組織のすべての組織のポリシーの分析情報を表示します。
コマンドを実行する前に、次の値を置き換えます。
-
RESOURCE_TYPE
: 分析情報を表示するリソースタイプ。値project
、folder
、またはorganization
を使用します。 -
RESOURCE_ID
: 分析情報を一覧表示するプロジェクト、フォルダまたは組織の ID。
gcloud recommender insights list --insight-type=google.orgpolicy.policy.Insight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global
出力には、プロジェクト、フォルダ、または組織のすべての組織のポリシーの分析情報が一覧表示されます。次に例を示します。
INSIGHT_ID CATEGORY INSIGHT_STATE LAST_REFRESH_TIME SEVERITY INSIGHT_SUBTYPE DESCRIPTION 66d543f3-845d-49d6-a26b-80d84804d8a8 SECURITY ACTIVE 2024-12-10T08:00:00Z HIGH RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.
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.orgpolicy.policy.Insight/insights
リクエストを送信するには、次のいずれかのオプションを展開します。
レスポンスには、プロジェクト、フォルダ、または組織の組織のポリシーの分析情報がすべて一覧表示されます。次に例を示します。
[ { "associatedRecommendations": [ { "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f" } ], "category": "SECURITY", "content": { "consolidatedPolicy": { "inheritFromParent": false, "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation", "policyRules": { "rules": [ { "enforce": false } ] }, "reset": false }, "constraint": { "id": "constraints/iam.managed.disableServiceAccountKeyCreation", "name": "Disable service account key creation" }, "evaluatedResources": [ { "numOfResources": "2", "resourceType": "iam.googleapis.com/ServiceAccountKey" }, { "numOfResources": "1", "resourceType": "cloudresourcemanager.googleapis.com/Project" } ], "violations": [ { "numOfResources": "0", "resourceType": "iam.googleapis.com/ServiceAccountKey" }, { "numOfResources": "0", "resourceType": "cloudresourcemanager.googleapis.com/Project" } ] }, "description": "Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.", "etag": "\"9a1ad019022f9f56\"", "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION", "lastRefreshTime": "2024-12-07T08:00:00Z", "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8", "observationPeriod": "86400s", "severity": "HIGH", "stateInfo": { "state": "ACTIVE", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ] } ]
分析情報のコンポーネントの詳細については、このページの組織のポリシー分析情報を確認するをご覧ください。
1 つの組織のポリシーに関する分析情報を取得する
1 つの分析情報に関する詳細(分析情報の説明、ステータス、推奨事項など)を取得するには、次のいずれかの方法を使用します。
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.orgpolicy.policy.Insight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global
出力に分析情報の詳細が表示されます。たとえば、2 つのリソースが外部サービス アカウント キーについて分析され、違反は検出されません。
associatedRecommendations: - recommendation: projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f category: SECURITY content: consolidatedPolicy: inheritFromParent: false name: 'projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation' policyRules: rules: [ "enforce": false ] reset: false constraint: { id: constraints/iam.managed.disableServiceAccountKeyCreation name: Disable service account key creation } evaluatedResources: - numOfResources: '1' resourceType: cloudresourcemanager.googleapis.com/Project - numOfResources: '2' resourceType: iam.googleapis.com/ServiceAccountKey violations: - numOfResources: '0' resourceType: iam.googleapis.com/ServiceAccountKey - numOfResources: '0' resourceType: cloudresourcemanager.googleapis.com/Project description: Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation. etag: '"34ddfdcefd214fd7"' insightSubtype: RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION lastRefreshTime: '2024-12-10T08:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8 observationPeriod: 86400s severity: HIGH 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.orgpolicy.policy.Insight/insights/INSIGHT_ID
リクエストを送信するには、次のいずれかのオプションを展開します。
レスポンスに分析情報が含まれます。たとえば、2 つのリソースが外部サービス アカウント キーについて分析され、違反は検出されません。
[ { "associatedRecommendations": [ { "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f" } ], "category": "SECURITY", "content": { "consolidatedPolicy": { "inheritFromParent": false, "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation", "policyRules": { "rules": [ { "enforce": false } ] }, "reset": false }, "constraint": { "id": "constraints/iam.managed.disableServiceAccountKeyCreation", "name": "Disable service account key creation" }, "evaluatedResources": [ { "numOfResources": "1", "resourceType": "cloudresourcemanager.googleapis.com/Project" }, { "numOfResources": "2", "resourceType": "iam.googleapis.com/ServiceAccountKey" } ], "violations": [ { "numOfResources": "0", "resourceType": "iam.googleapis.com/ServiceAccountKey" }, { "numOfResources": "0", "resourceType": "cloudresourcemanager.googleapis.com/Project" } ] }, "description": "Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.", "etag": "\"9a1ad019022f9f56\"", "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION", "lastRefreshTime": "2024-12-03T08:00:00Z", "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8", "observationPeriod": "86400s", "severity": "HIGH", "stateInfo": { "state": "ACTIVE", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ] } ]
分析情報のコンポーネントの詳細については、このページの組織のポリシー分析情報を確認するをご覧ください。
組織のポリシーの分析情報を確認する
1 つの分析情報を取得したら、その内容を確認して、リソースに対する組織のポリシーの構成(違反など)を把握できます。
組織のポリシー分析情報(google.orgpolicy.policy.Insight
)の分析情報は次のコンポーネントから構成されます(順序は異なる場合があります)。
-
associatedRecommendations
: 分析情報に関連付けられている推奨事項の ID。分析情報に関連付けられた推奨事項がない場合、このフィールドは空白になります。 -
category
: 組織のポリシー分析情報のカテゴリは常にSECURITY
です。 -
content
: 分析されたリソースと組織のポリシーの詳細を取得します。このフィールドには次のコンポーネントが含まれます。-
constraint
: 分析された制約。 -
consolidatedPolicy
: 分析対象のリソースの組織のポリシー。 -
evaluatedResources
: 分析情報を生成するために評価されたリソース。 -
violations
: 組織のポリシーに違反しているリソースの数とタイプ。
-
-
description
: 人が読める形式の分析情報の概要。 -
etag
: 分析情報の現在の状態の一意の ID。分析情報が変わるたびに、新しいetag
値が割り当てられます。分析情報の状態を変更するには、既存の分析情報の
etag
を指定する必要があります。etag
を使用すると、最後に取得した後に分析情報が変更されていない場合にのみ、オペレーションを実行できます。 -
insightSubtype
: 分析情報のサブタイプ。 -
lastRefreshTime
: 分析情報が最後に更新された日付。分析情報の生成に使用されたデータの鮮度を表します。 -
name
: 分析情報の名前。次の形式になります。RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID
プレースホルダの値は次のとおりです。
-
RESOURCE_TYPE
: 分析情報が生成されたリソースタイプ。 -
RESOURCE_ID
: 分析情報が生成されたプロジェクト、フォルダ、または組織の ID。 INSIGHT_ID
: 分析情報の一意の ID。
-
-
observationPeriod
: 分析情報の期間。分析情報の生成に使用されるソースデータはlastRefreshTime
で終了し、lastRefreshTime
からobservationPeriod
を引いた時間に開始します。 -
severity
: 分析情報の重大度。組織のポリシーの分析情報の重大度はHIGH
です。 -
stateInfo
: 分析情報が提案後、多くの状態遷移が発生します。-
ACTIVE
: 分析情報が生成されていますが、アクションが実行されていません。あるいは、分析情報の状態を更新せずに処理が行われています。アクティブな分析情報は、基になるデータが変更されると更新されます。 -
ACCEPTED
: 分析情報に基づいて一部の操作が行われています。関連する推奨事項がCLAIMED
、SUCCEEDED
、FAILED
のいずれかにマークされるか、もしくは分析情報が直接承認されると、分析情報は承認された状態になります。分析情報がACCEPTED
状態の場合、分析情報のコンテンツは変更できません。承認された分析情報は、承認後 90 日間保持されます。
-
-
targetResources
: 分析情報の対象となるプロジェクト、フォルダ、または組織の完全なリソース名 。例://cloudresourcemanager.googleapis.com/projects/1234567890
組織のポリシー分析情報を ACCEPTED
としてマークする
アクティブな分析情報に基づいてアクションを実行する場合は、その分析情報を ACCEPTED
としてマークします。ACCEPTED
状態は、この分析情報に基づいてアクションを実行したことを Recommender API に通知します。この情報は推奨事項の改善に役立ちます。
承諾された分析情報は、ACCEPTED
とマークされてから 90 日間保持されます。
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.orgpolicy.policy.Insight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global \ --etag=ETAG
出力に、ACCEPTED
状態の分析情報が表示されます。
associatedRecommendations: - recommendation: folders/234567890123/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f category: SECURITY content: consolidatedPolicy: inheritFromParent: false name: 'projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation' policyRules: rules: [ "enforce": false ] reset: false constraint: { id: constraints/iam.managed.disableServiceAccountKeyCreation name: Disable service account key creation } evaluatedResources: - numOfResources: '0' resourceType: iam.googleapis.com/ServiceAccountKey - numOfResources: '1' resourceType: cloudresourcemanager.googleapis.com/Folder - numOfResources: '1' resourceType: cloudresourcemanager.googleapis.com/Project violations: - numOfResources: '0' resourceType: iam.googleapis.com/ServiceAccountKey - numOfResources: '0' resourceType: cloudresourcemanager.googleapis.com/Folder - numOfResources: '0' resourceType: cloudresourcemanager.googleapis.com/Project description: Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyUpload. etag: '"2cbb89b22fe2dab7"' insightSubtype: RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_UPLOAD lastRefreshTime: '2024-12-10T08:00:00Z' name: folders/234567890123/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8 observationPeriod: 86400s severity: HIGH stateInfo: state: ACCEPTED targetResources: - //cloudresourcemanager.googleapis.com/folders/234567890123
分析情報の状態の詳細については、このページの組織のポリシー分析情報の確認をご覧ください。
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.orgpolicy.policy.Insight/insights/INSIGHT_ID:markAccepted
リクエストの本文(JSON):
{ "etag": "ETAG" }
リクエストを送信するには、次のいずれかのオプションを展開します。
レスポンスには、状態が ACCEPTED
の分析情報が含まれます。
[ { "associatedRecommendations": [ { "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f" } ], "category": "SECURITY", "content": { "consolidatedPolicy": { "inheritFromParent": false, "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation", "policyRules": { "rules": [ { "enforce": false } ] }, "reset": false }, "constraint": { "id": "constraints/iam.managed.disableServiceAccountKeyCreation", "name": "Disable service account key creation" }, "evaluatedResources": [ { "numOfResources": "1", "resourceType": "cloudresourcemanager.googleapis.com/Project" }, { "numOfResources": "2", "resourceType": "iam.googleapis.com/ServiceAccountKey" } ], "violations": [ { "numOfResources": "0", "resourceType": "iam.googleapis.com/ServiceAccountKey" }, { "numOfResources": "0", "resourceType": "cloudresourcemanager.googleapis.com/Project" } ] }, "description": "Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.", "etag": "\"9a1ad019022f9f56\"", "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION", "lastRefreshTime": "2024-12-03T08:00:00Z", "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8", "observationPeriod": "86400s", "severity": "HIGH", "stateInfo": { "state": "ACCEPTED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ] } ]
分析情報の状態の詳細については、このページの組織のポリシー分析情報の確認をご覧ください。
次のステップ
- 組織のポリシーの推奨事項を表示して適用する方法を確認する。
- Recommendation Hub を使用して、プロジェクトに対するすべての推奨事項(IAM の推奨事項を含む)を表示し、管理する。