このページでは、組織のポリシーに関する推奨事項を表示、確認、適用する方法について説明します。組織のポリシーの推奨事項は、システムを中断することなく適切な組織のポリシーを設定するために役立ちます。
始める前に
Enable the Organization Policy and Recommender APIs.
認証を設定する。
Select the tab for how you plan to use the samples on this page:
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
組織のポリシーに関する推奨事項について理解する。
必要な IAM のロール
このセクションでは、組織のポリシーの推奨事項を操作するために必要な IAM ロールと権限について説明します。
組織のポリシーの推奨事項を管理するために必要な権限を取得するには、推奨事項を管理するリソース(プロジェクト、フォルダ、または組織)に対して次の IAM ロールを付与するよう管理者に依頼してください。
-
組織のポリシーの推奨事項を表示するには: 組織のポリシーの Recommender 閲覧者 (
roles/recommender.orgPolicyViewer
) -
組織のポリシーの推奨事項を適用または破棄する: 組織のポリシーの Recommender 管理者 (
roles/recommender.orgPolicyAdmin
) -
組織のポリシーを管理する: 組織のポリシー管理者 (
roles/orgpolicy.policyAdmin
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
これらの事前定義ロールには、組織のポリシーの推奨事項の管理に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
組織のポリシーの推奨事項を管理するには、次の権限が必要です。
-
組織のポリシーの推奨事項を表示するには:
-
recommender.orgPolicyRecommendations.get
-
recommender.orgPolicyRecommendations.list
-
-
組織のポリシーの推奨事項を適用、拒否するには:
-
recommender.orgPolicyRecommendations.get
-
recommender.orgPolicyRecommendations.list
-
recommender.orgPolicyRecommendations.update
-
-
組織のポリシーを管理するには:
-
orgpolicy.policy.get
-
orgpolicy.policy.set
-
orgpolicy.constraints.list
-
orgpolicy.policies.create
-
orgpolicy.policies.delete
-
orgpolicy.policies.list
-
orgpolicy.policies.update
-
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
制限事項
組織のポリシー Recommender のプレビュー版には次の制限があります。
分析情報は、推奨事項があるプロジェクト、フォルダ、組織でのみ使用できます。
推奨事項は、特定のリソースまたはその子リソースで構成されていない制約に対してのみ行われます。
サポートされている制約
推奨事項は、次の組織のポリシーの制約でのみ使用できます。
サービス アカウント キーの作成(
iam.managed.disableServiceAccountKeyCreation
)サービス アカウント キーのアップロード(
iam.managed.disableServiceAccountKeyUpload
)
推奨事項の確認と適用
組織のポリシーの推奨事項を確認して適用するには、Google Cloud CLI と Recommender API を使用します。
gcloud
推奨事項を確認する:
推奨事項を表示するには、
gcloud recommender recommendations list
コマンドを実行します。gcloud recommender recommendations list \ --location=global \ --recommender=google.orgpolicy.policy.Recommender \ --RESOURCE_TYPE=RESOURCE_ID \ --filter="recommenderSubtype:RECOMMENDER_SUBTYPE" \ --format=FORMAT
次の値を置き換えてください。
RESOURCE_TYPE
: 推奨事項を一覧表示する対象のリソースタイプ。値project
、folder
、またはorganization
を使用します。RESOURCE_ID
: 推奨事項を一覧表示する Google Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。RECOMMENDER_SUBTYPE
: 省略可。推奨事項を表示するサブタイプの ID。有効なサブタイプは次のとおりです。ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION
は、iam.managed.disableServiceAccountKeyCreation
制約に関する推奨事項を提供します。ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_UPLOAD
は、iam.managed.disableServiceAccountKeyUpload
制約の推奨事項を提供します。
FORMAT
: レスポンスの形式。値json
またはyaml
を使用します。
レスポンスは次の例のようになります。この例では、2 つのリソースが外部サービス アカウント キーについて分析され、違反は検出されませんでした。そのため、今後違反が発生しないように
iam.managed.disableServiceAccountKeyCreation
を設定することをおすすめします。[ { "associatedInsights": [ { "insight": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/fb927dc1-9695-4436-0000-f0f285007c0f" } ], "content": { "operationGroups": [ { "operations": [ { "action": "add", "path": "/", "resource": "//orgpolicy.googleapis.com/projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation", "resourceType": "orgpolicy.googleapis.com/Policy", "value": { "etag": "", "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation", "spec": { "etag": "", "inheritFromParent": false, "reset": false, "rules": [ { "enforce": true } ] } } } ] } ], "overview": { "constraint": { "id": "constraints/iam.managed.disableServiceAccountKeyCreation", "name": "Disable service account key creation" }, "enforcedResources": [ { "numOfResources": "2", "resourceType": "iam.googleapis.com/ServiceAccountKey" }, { "numOfResources": "1", "resourceType": "cloudresourcemanager.googleapis.com/Project" } ] } }, "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.", "etag": "\"826e992a0f9793ff\"", "lastRefreshTime": "2024-12-07T08:00:00Z", "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f", "primaryImpact": { "category": "SECURITY" }, "priority": "P1", "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION", "stateInfo": { "state": "ACTIVE", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ] } ]
推奨事項のコンポーネントの詳細については、推奨事項についてをご覧ください。
推奨事項を適用するには、次の手順を行います。
gcloud recommender recommendations mark-claimed
コマンドを使用して、推奨事項の状態をCLAIMED
に変更します。これにより、推奨事項を適用している間は変更できなくなります。gcloud recommender recommendations mark-claimed \ RECOMMENDATION_ID \ --location=global \ --recommender=google.orgpolicy.policy.Recommender \ --RESOURCE_TYPE=RESOURCE_ID \ --format=FORMAT \ --etag=ETAG \ --state-metadata=STATE_METADATA
次の値を置き換えます。
-
RECOMMENDATION_ID
: レコメンデーションの一意の識別子。この値は、レコメンデーションのname
フィールドの最後に表示されます。上の例では、ID はfb927dc1-9695-4436-0000-f0f285007c0f
です。 -
RESOURCE_TYPE
: 推奨事項を管理する対象のリソースタイプ。値project
、folder
、またはorganization
を使用します。 -
RESOURCE_ID
: 推奨事項を一覧表示する Google Cloudプロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。 -
FORMAT
: レスポンスの形式。値json
またはyaml
を使用します。 -
ETAG
: 推奨事項のバージョンの ID("7caf4103d7669e12"
など)。この値には引用符を含めることができます。 -
STATE_METADATA
: 省略可。レコメンデーションに関する任意のメタデータを含むカンマで区切られた Key-Value ペア。たとえば、--state-metadata=reviewedBy=alice,priority=high
です。メタデータにより、レコメンデーションのstateInfo.stateMetadata
フィールドが置き換わります。
コマンドが成功した場合、レスポンスは次の例のように
CLAIMED
ステータスにレコメンデーションを表示します。この例では、わかりやすくするためにほとんどのフィールドを省略しています。{ "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.", "etag": "\"826e992a0f9793ff\"", "lastRefreshTime": "2024-12-07T08:00:00Z", "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f", "primaryImpact": { "category": "SECURITY" }, "priority": "P1", "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION", "stateInfo": { "state": "CLAIMED", "stateMetadata": {\ "reviewedBy": "alice", "priority": "high" } }, "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ] }
-
RESOURCE_TYPE
とRESOURCE_ID
で指定されたプロジェクト、フォルダ、または組織の組織のポリシーを更新して適用し、推奨事項を反映します。推奨事項を適用できた場合は推奨事項のステータスを
SUCCEEDED
に更新し、推奨事項を適用できない場合はFAILED
に更新します。gcloud recommender recommendations COMMAND \ RECOMMENDATION_ID \ --location=global \ --recommender=google.iam.policy.Recommender \ --RESOURCE_TYPE=RESOURCE_ID \ --format=FORMAT \ --etag=ETAG \ --state-metadata=STATE_METADATA
次の値を置き換えます。
-
COMMAND
: 推奨事項を適用できた場合はmark-succeeded
を使用し、推奨事項を適用できなかった場合はmark-failed
を使用します。 -
RECOMMENDATION_ID
: レコメンデーションの一意の識別子。この値は、レコメンデーションのname
フィールドの最後に表示されます。上の例では、ID はfb927dc1-9695-4436-0000-f0f285007c0f
です。 -
RESOURCE_TYPE
: 推奨事項を管理する対象のリソースタイプ。値project
、folder
、またはorganization
を使用します。 -
RESOURCE_ID
: 推奨事項を一覧表示する Google Cloudプロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。 -
FORMAT
: レスポンスの形式。値json
またはyaml
を使用します。 -
ETAG
: 推奨事項のバージョンの ID("7caf4103d7669e12"
など)。この値には引用符を含めることができます。 -
STATE_METADATA
: 省略可。レコメンデーションに関する任意のメタデータを含むカンマで区切られた Key-Value ペア。たとえば、--state-metadata=reviewedBy=alice,priority=high
です。メタデータにより、レコメンデーションのstateInfo.stateMetadata
フィールドが置き換わります。
たとえば、レコメンデーションを「完了」に設定した場合、レスポンスにより
SUCCEEDED
ステータスにレコメンデーションが表示されます。この例では、わかりやすくするためにほとんどのフィールドを省略しています。{ "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.", "etag": "\"826e992a0f9793ff\"", "lastRefreshTime": "2024-12-07T08:00:00Z", "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f", "primaryImpact": { "category": "SECURITY" }, "priority": "P1", "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION", "stateInfo": { "state": "SUCCEEDED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ] }
組織のポリシーに加えた変更を元に戻すには、関連する分析情報の
configuredPolicy
フィールドに指定されている元の構成に組織のポリシーを設定します。-
REST
推奨事項を確認する:
プロジェクト、フォルダ、または組織で利用可能なすべての推奨事項を一覧表示するには、Recommender API の
recommendations.list
メソッドを使用します。リクエストのデータを使用する前に、次のように置き換えます。
RESOURCE_TYPE
: 推奨事項を管理するリソースタイプ。値projects
、folders
、またはorganizations
を使用します。RESOURCE_ID
: 推奨事項を管理する対象のGoogle Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。-
PAGE_SIZE
: 省略可。このリクエストから返される結果の最大数。指定しなかった場合、サーバーが結果数を決定します。推奨事項の数がページサイズより大きい場合、レスポンスにページ設定トークンが含まれます。このトークンを使用して、結果の次のページを取得できます。 -
PAGE_TOKEN
: 省略可。以前のレスポンスでこのメソッドから返されたページ設定トークン。指定すると、前のリクエストが終了した時点から推奨事項のリストが開始します。 -
FILTER
: 省略可。返される推奨事項を制限するフィルタ式。stateInfo.state
フィールドに基づいて推奨事項をフィルタできます。たとえば、stateInfo.state:"DISMISSED"
やstateInfo.state:"FAILED"
です。 PROJECT_ID
: Google Cloud プロジェクト ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。
HTTP メソッドと URL:
GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER
リクエストを送信するには、次のいずれかのオプションを展開します。
レスポンスは次の例のようになります。この例では、2 つのリソースで外部サービス アカウント キーが分析され、違反は検出されませんでした。そのため、今後違反が発生しないように
iam.managed.disableServiceAccountKeyCreation
を設定することをおすすめします。[ { "associatedInsights": [ { "insight": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8" } ], "content": { "operationGroups": [ { "operations": [ { "action": "add", "path": "/", "resource": "//orgpolicy.googleapis.com/projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation", "resourceType": "orgpolicy.googleapis.com/Policy", "value": { "etag": "", "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation", "spec": { "etag": "", "inheritFromParent": false, "reset": false, "rules": [ { "enforce": true } ] } } } ] } ], "overview": { "constraint": { "id": "constraints/iam.managed.disableServiceAccountKeyCreation", "name": "Disable service account key creation" }, "enforcedResources": [ { "numOfResources": "2", "resourceType": "iam.googleapis.com/ServiceAccountKey" }, { "numOfResources": "1", "resourceType": "cloudresourcemanager.googleapis.com/Project" } ] } }, "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.", "etag": "\"826e992a0f9793ff\"", "lastRefreshTime": "2024-12-07T08:00:00Z", "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f", "primaryImpact": { "category": "SECURITY" }, "priority": "P1", "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION", "stateInfo": { "state": "ACTIVE", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ] } ]
推奨事項のコンポーネントの詳細については、推奨事項についてをご覧ください。
推奨事項を適用するには、次の手順を行います。
レコメンデーションを
CLAIMED
とマークします。推奨事項を
CLAIMED
としてマークし、適用中に推奨事項を変更できないようにするには、Recommender API のrecommendations.markClaimed
メソッドを使用します。リクエストのデータを使用する前に、次のように置き換えます。
RESOURCE_TYPE
: 推奨事項を管理するリソースタイプ。値projects
、folders
、またはorganizations
を使用します。RESOURCE_ID
: 推奨事項を管理する対象のGoogle Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。RECOMMENDATION_ID
: 推奨事項の一意の識別子。この値は、レコメンデーションのname
フィールドの最後に表示されます。たとえば、name
フィールドがprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
の場合、レコメンデーション ID はfb927dc1-9695-4436-0000-f0f285007c0f
です。ETAG
: レコメンデーションのetag
フィールドの値("dd0686e7136a4cbb"
など)。バックスラッシュを使用して引用符をエスケープします(例:"\"df7308cca9719dcc\""
)。STATE_METADATA
: 省略可。レコメンデーションに関する任意のメタデータと Key-Value ペアを含むオブジェクト。例:{"reviewedBy": "alice", "priority": "high"}
メタデータにより、レコメンデーションのstateInfo.stateMetadata
フィールドが置き換わります。PROJECT_ID
: Google Cloud プロジェクト ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。
HTTP メソッドと URL:
POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/RECOMMENDATION_ID:markClaimed
リクエストの本文(JSON):
{ "etag": "ETAG", "stateMetadata": { "STATE_METADATA" } }
リクエストを送信するには、次のいずれかのオプションを展開します。
レスポンスでは、次の例のように
CLAIMED
ステータスにレコメンデーションが表示されます。この例では、わかりやすくするためにほとんどのフィールドを省略しています。{ "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.", "etag": "\"826e992a0f9793ff\"", "lastRefreshTime": "2024-12-07T08:00:00Z", "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f", "primaryImpact": { "category": "SECURITY" }, "priority": "P1", "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION", "stateInfo": { "state": "CLAIMED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ] }
RESOURCE_TYPE
とRESOURCE_ID
で指定されたプロジェクト、フォルダ、または組織の組織のポリシーを更新して、推奨事項が反映されるようにします。推奨事項を正常に適用できた場合は推奨事項のステータスを
SUCCEEDED
に更新し、推奨事項を適用できなかった場合はFAILED
に更新します。SUCCEEDED
推奨事項を
SUCCEEDED
としてマークして、適用可能であることを示すには、Recommender API のrecommendations.markSucceeded
メソッドを使用します。リクエストのデータを使用する前に、次のように置き換えます。
RESOURCE_TYPE
: 推奨事項を管理するリソースタイプ。値projects
、folders
、またはorganizations
を使用します。RESOURCE_ID
: 推奨事項を管理する対象のGoogle Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。RECOMMENDATION_ID
: 推奨事項の一意の識別子。この値は、レコメンデーションのname
フィールドの最後に表示されます。たとえば、name
フィールドがprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
の場合、レコメンデーション ID はfb927dc1-9695-4436-0000-f0f285007c0f
です。ETAG
: レコメンデーションのetag
フィールドの値("dd0686e7136a4cbb"
など)。バックスラッシュを使用して引用符をエスケープします(例:"\"df7308cca9719dcc\""
)。STATE_METADATA
: 省略可。レコメンデーションに関する任意のメタデータと Key-Value ペアを含むオブジェクト。例:{"reviewedBy": "alice", "priority": "high"}
メタデータにより、レコメンデーションのstateInfo.stateMetadata
フィールドが置き換わります。PROJECT_ID
: Google Cloud プロジェクト ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。
HTTP メソッドと URL:
POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/RECOMMENDATION_ID:markSucceeded
リクエストの本文(JSON):
{ "etag": "ETAG", "stateMetadata": { "STATE_METADATA" } }
リクエストを送信するには、次のいずれかのオプションを展開します。
レスポンスでは、次の例のように
SUCCEEDED
ステータスにレコメンデーションが表示されます。この例では、わかりやすくするためにほとんどのフィールドを省略しています。{ "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.", "etag": "\"826e992a0f9793ff\"", "lastRefreshTime": "2024-12-07T08:00:00Z", "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f", "primaryImpact": { "category": "SECURITY" }, "priority": "P1", "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION", "stateInfo": { "state": "SUCCEEDED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ] }
FAILED
推奨事項を適用できなかったことを示す
FAILED
とマークするには、Recommender API のrecommendations.markFailed
メソッドを使用します。リクエストのデータを使用する前に、次のように置き換えます。
RESOURCE_TYPE
: 推奨事項を管理するリソースタイプ。値projects
、folders
、またはorganizations
を使用します。RESOURCE_ID
: 推奨事項を管理する対象のGoogle Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。RECOMMENDATION_ID
: 推奨事項の一意の識別子。この値は、レコメンデーションのname
フィールドの最後に表示されます。たとえば、name
フィールドがprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
の場合、レコメンデーション ID はfb927dc1-9695-4436-0000-f0f285007c0f
です。ETAG
: レコメンデーションのetag
フィールドの値("dd0686e7136a4cbb"
など)。バックスラッシュを使用して引用符をエスケープします(例:"\"df7308cca9719dcc\""
)。STATE_METADATA
: 省略可。レコメンデーションに関する任意のメタデータと Key-Value ペアを含むオブジェクト。例:{"reviewedBy": "alice", "priority": "high"}
メタデータにより、レコメンデーションのstateInfo.stateMetadata
フィールドが置き換わります。PROJECT_ID
: Google Cloud プロジェクト ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。
HTTP メソッドと URL:
POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/RECOMMENDATION_ID:markFailed
リクエストの本文(JSON):
{ "etag": "ETAG", "stateMetadata": { "STATE_METADATA" } }
リクエストを送信するには、次のいずれかのオプションを展開します。
レスポンスでは、次の例のように
FAILED
ステータスにレコメンデーションが表示されます。この例では、わかりやすくするためにほとんどのフィールドを省略しています。{ "description": "After analyzing 3 resources and finding 0 violations, Organization Policy Recommender recommends that you disable the creation of service account external keys on your project by enforcing constraints/iam.managed.disableServiceAccountKeyCreation.", "etag": "\"826e992a0f9793ff\"", "lastRefreshTime": "2024-12-07T08:00:00Z", "name": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f", "primaryImpact": { "category": "SECURITY" }, "priority": "P1", "recommenderSubtype": "ADD_POLICY_DISABLE_SERVICE_ACCOUNT_KEY_CREATION", "stateInfo": { "state": "FAILED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ] }
推奨事項について
各推奨事項には、推奨事項が作成された理由の理解に役立つ情報と、組織のポリシー構成の変更に関する推奨事項が含まれます。コア属性には次のようなものがあります。
description
: 推奨事項の概要(人が読める形式)。recommenderSubtype
: 推奨事項のサブタイプの識別子。各制約には一意のrecommenderSubtype
があります。content
: 組織のポリシーに対する推奨される変更が含まれています。overview
: 推奨事項に関する概要情報。constraint
: 制約に関する情報を提供します。enforced_resources
: 推奨事項を適用した場合に、この組織のポリシーが影響するリソースに関する情報を提供します。operationGroups
: 推奨事項を適用する際の組織のポリシーに対する 1 つ以上のオペレーションのセット。
associatedInsights
: この推奨事項につながった分析情報のリソース名。
推奨事項の属性について詳しくは、推奨事項のリファレンスをご覧ください。
分析情報と推奨事項は、サポートされている組織ポリシーのいずれかがリソースまたはその子リソースに設定されていないリソースに対して生成されます。この推奨事項のベースとなる組織のポリシーの構成を確認するには、推奨事項に関連付けられている組織のポリシー分析情報を表示します。これらの分析情報は
associatedInsights
フィールドにリストされています。推奨事項に関連付けられた組織のポリシーの分析情報を表示するには、次のようにします。associatedInsights
フィールドのどの分析情報が組織のポリシーの分析情報であるかを特定します。組織のポリシーの分析情報の分析情報のタイプはgoogle.orgpolicy.policy.Insight
です。このタイプは、insight
フィールドのinsightTypes
の後に表示されます。組織のポリシー分析情報の ID をコピーします。ID は、
insight
フィールドのinsights/
より後の部分です。たとえば、分析情報フィールドがprojects/123456789012/locations/us/insightTypes/google.orgpolicy.policy.Insight/insights/fb927dc1-9695-4436-0000-f0f285007c0f
の場合、分析情報 ID はfb927dc1-9695-4436-0000-f0f285007c0f
です。コピーした分析情報 ID を使用して、手順どおりに操作を行い、組織のポリシーの分析情報を取得します。
BigQuery への推奨事項のエクスポート
組織のポリシーの推奨事項を含む、組織のすべての推奨事項の日次のスナップショットを表示するには、推奨事項を BigQuery にエクスポートします。
推奨事項を BigQuery にエクスポートするには、BigQuery Data Transfer Service を使用してデータ転送を設定する必要があります。データ転送の設定方法については、BigQuery への推奨事項のエクスポートをご覧ください。
次のステップ
- Recommender の詳細を確認する。
- 組織のポリシーの分析情報の使用方法を学習する。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-01-16 UTC。