本页面介绍了如何管理组织政策洞见,这些洞见是关于资源配置和使用情况的发现。组织政策洞见可帮助您识别未受组织政策保护的资源。
组织政策数据分析有时会链接到 组织政策建议。组织政策建议会提供您可以采取的措施,以解决组织政策分析发现的问题。
准备工作
-
Enable the Recommender API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. - 熟悉组织政策建议。
- 可选:了解 Recommender 数据分析。
所需的角色
如需获得查看和修改组织政策数据分析所需的权限,请让您的管理员为您授予您要管理其数据分析的资源(项目、文件夹或组织)的 Org Policy Recommender Admin (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 方法和网址:
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"
]
}
]如需详细了解数据分析的组成部分,请参阅本页面中的查看组织政策数据分析。
获取单一组织政策数据分析
如需获取有关单一数据分析的更多信息(包括数据分析的说明、状态及其关联的任何建议),请使用以下方法之一:
gcloud
将 gcloud recommender
insights describe 命令与您的数据分析 ID 结合使用,以查看单一数据分析的相关信息。
-
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
输出会显示详细数据分析。例如,系统分析了两个资源是否存在外部服务账号密钥,但未检测到任何违规行为:
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
Recommender API 的 insights.get 方法可获取单一数据分析。
在使用任何请求数据之前,请先进行以下替换:
-
RESOURCE_TYPE:要为其管理数据分析的资源类型。使用值projects、folders或organizations。 -
RESOURCE_ID:要管理其数据分析的项目、文件夹或组织的 ID。 -
INSIGHT_ID:您要查看的数据分析的 ID。如果您不知道数据分析的 ID,则可以通过在项目、文件夹或组织中列出数据分析来查找该数据分析。数据分析的 ID 是数据分析的name字段中insights/之后的所有内容。 PROJECT_ID:您的 Google Cloud 项目 ID。项目 ID 是字母数字字符串,例如my-project。
HTTP 方法和网址:
GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID
如需发送您的请求,请展开以下选项之一:
响应包含数据分析。例如,系统分析了两个资源是否存在外部服务账号密钥,但未检测到任何违规行为:
[
{
"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"
]
}
]如需详细了解数据分析组件,请参阅本页面中的查看组织政策数据分析。
查看组织政策数据分析
获得单个数据分析后,您可以查看其内容,了解资源上的组织政策配置(包括任何违规情况)。
组织政策数据分析 (google.orgpolicy.policy.Insight) 包含以下组成部分(不一定遵循以下顺序):
-
associatedRecommendations:与数据分析相关联的任何建议的标识符。如果没有与数据分析相关联的建议,则此字段为空。 -
category:组织政策数据分析的类别始终为SECURITY。 -
content:提供有关所分析的资源和组织政策的详细信息。此字段包含以下组成部分:-
constraint:已分析的限制条件。 -
consolidatedPolicy:所分析资源的组织政策。 -
evaluatedResources:用于生成数据分析的评估资源。 -
violations:违反组织政策的资源数量和类型。
-
-
description:直观易懂的数据分析摘要。 -
etag:数据分析的当前状态的唯一标识符。 每次数据分析发生更改时,系统都会分配新的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
将
gcloud recommender insights mark-accepted 命令与数据分析 ID 搭配使用可将数据分析标记为 ACCEPTED。
-
INSIGHT_ID:您要查看的数据分析的 ID。如需查找此 ID,请列出项目、文件夹或组织的数据分析。 -
RESOURCE_TYPE:要为其管理数据分析的资源类型。使用值project、folder或organization。 -
RESOURCE_ID:要管理其数据分析的项目、文件夹或组织的 ID。 -
ETAG:数据分析版本的标识符。如需获取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,则可以通过在项目、文件夹或组织中列出数据分析来查找该数据分析。数据分析的 ID 是数据分析的name字段中insights/之后的所有内容。 -
ETAG:数据分析版本的标识符。如需获取etag,请执行以下操作:- 使用
insights.get方法获取数据分析。 - 查找并复制响应中的
etag值。
- 使用
PROJECT_ID:您的 Google Cloud 项目 ID。项目 ID 是字母数字字符串,例如my-project。
HTTP 方法和网址:
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"
]
}
]如需详细了解数据分析的状态信息,请参阅本页面上的查看组织政策数据分析。
后续步骤
- 了解如何 查看和应用组织政策建议。
- 使用 Active Assist 查看和管理项目的所有建议,包括 IAM 建议。