更改风险建议

更改风险建议能够以智能方式标记对大多数重要资源的常见风险性更改,并提供建议来预防和缓解问题,从而帮助您降低云基础架构配置错误的风险。

简介

配置错误是导致云突发事件的常见原因。此类错误可能会因人为错误或意外工作负载更改而发生,可能导致各种问题,包括性能问题、可靠性问题,甚至会造成中断。许多配置错误最初可能未被发现,因此难以跟踪和解决。

更改风险建议是 Recommender 服务中新增的 Active Assist 建议和数据分析系列。对于根据使用情况和其他信号确定为“重要”级别的云资源,更改风险建议会自动标记出对其进行的风险性更改,帮助防止、检测和缓解因这类重要云资源的配置错误而引发的问题,例如服务中断。例如,如果您尝试删除某个频繁使用的项目,或者修改可能是重要依赖项的某条 IAM 政策(根据近期使用活动判断),则更改风险建议会主动警告您与指定更改相关的风险,帮助防止出现意外问题。

更改风险建议范围

目前,仅下表中列出的资源和操作支持更改风险建议。

资源 操作 界面 用于确定资源重要性的标准
项目 删除
  • Google Cloud 控制台
  • gcloud CLI
  • Recommender API
  • 项目使用情况(API 调用次数、网络流量和 Google Cloud 服务使用情况)
  • 结算
  • 过去 30 天内的使用情况
服务账号 删除
  • Google Cloud 控制台
  • gcloud CLI
  • Recommender API
  • 身份验证次数
  • 过去 90 天内的使用情况
IAM 政策 更改
  • Google Cloud 控制台
  • gcloud CLI
  • Recommender API
  • 已行权限的数量
  • 过去 90 天内的使用情况
  • 属于某个重要项目

须知事项

在开始使用此功能之前,您必须先设置服务:

  1. 在单个结算项目上启用 Recommender API。然后,您可以使用此结算项目和 gcloud/API 的结算项目功能检索其他项目、整个组织或结算账号的建议和数据分析。
  2. 向将用于访问此功能的用户或服务账号授予权限。

权限

如需查看“更改风险建议”所给出的建议,您必须拥有特定资源的特定权限。

  • 项目

    • recommender.resourcemanagerProjectChangeRiskRecommendations.get
    • recommender.resourcemanagerProjectChangeRiskRecommendations.list
    • recommender.resourcemanagerProjectChangeRiskInsights.get
    • recommender.resourcemanagerProjectChangeRiskInsights.list
  • 服务账号

    • recommender.iamServiceAccountChangeRiskRecommendations.get
    • recommender.iamServiceAccountChangeRiskRecommendations.list
    • recommender.iamServiceAccountChangeRiskInsights.get
    • recommender.iamServiceAccountChangeRiskInsights.list
  • IAM 政策

    • recommender.iamPolicyChangeRiskRecommendations.get
    • recommender.iamPolicyChangeRiskRecommendations.list
    • recommender.iamPolicyChangeRiskInsights.get
    • recommender.iamPolicyChangeRiskInsights.list

您还可以授予 roles/recommender.viewer 角色,以涵盖这些权限。

了解更改风险建议/数据分析的响应

下表介绍了建议和数据分析对象中显示的字段:

建议

字段名称 类型 说明
associatedInsights string 与此建议关联的数据分析。 projects/[project_number]/locations/global/ insightTypes/google.resourcemanager.project. ChangeRiskInsight/insights/[fingerprint]
asset object 包含关联资源的资产名称和资产类型。
etag string RecommenderConfig 的指纹。 在更新时提供乐观锁。
updateTime string 上次更新建议时的时间戳。时间戳采用 RFC 3339 世界协调时间 (UTC)(祖鲁时)格式,精确到纳秒。 示例:2022-01-10T22:47:38.421626Z。

数据分析

字段名称 类型 说明
associatedRecommendations string 与此建议相关的建议。 projects/[project_number]/locations/global/ recommenders/google.resourcemanager.project. ChangeRiskRecommender/recommendations/ [recommendation_id]
constraint object 包含建议更改风险建议约束,说明用户不应执行什么操作。 This project should not be deleted.
importance object 包含我们认为该资源重要的原因列表。例如,高使用率。
risk object 包含风险评估详情。例如,系统会使用资源使用情况活动值来确定重要性。
updateTime string 上次更新建议时的时间戳。 时间戳采用 RFC 3339 世界协调时间 (UTC)(祖鲁时)格式,精确到纳秒。示例:2022-01-10T22:47:38.421626Z。

查看更改风险建议

除了上面讨论的使用模式之外,您还可以使用 Recommender 服务的标准方法来查看项目、服务账号或 IAM 政策的更改风险建议和数据分析:

  • Google Cloud 控制台
  • API
  • gcloud

Google Cloud 控制台

您可以在产品页面本身查看更改风险建议和数据分析。只要您拥有上述权限,这些建议就会自动有效。

Active Assist 会在您要删除重要资源时发出危险警告,并在以下情况下出现该警告时指明要采取的措施:

gcloud 和 API

以下部分介绍用于通过 gcloud 和 API 针对项目、服务账号或 IAM 政策请求变更风险建议和数据分析的命令。

项目

所有客户都可以通过 Google Cloud 控制台、gcloud或 Recommender API 访问数据分析和建议。

gcloud

如要使用 gcloud 查看建议和数据分析,请按以下步骤操作。如需了解详情,请参阅使用 API - 数据分析和使用 API - 建议。

建议:

如需列出启用了 Recommender API 的项目的建议,请运行以下命令:

gcloud recommender recommendations list
--recommender=google.resourcemanager.project.ChangeRiskRecommender
--project=PROJECT_ID  --location=global --format=yaml

替换以下内容:

  • PROJECT_ID :项目 ID。
数据分析:

类似的一组命令可用于列出数据分析:

gcloud recommender insights list
--insight-type=google.resourcemanager.project.ChangeRiskInsight
--project=PROJECT_ID  --location=global --format=yaml

替换以下内容:

  • PROJECT_ID :项目 ID。

API

如需查看建议和数据分析,您可以使用 curl 向 Recommender API 发送请求。

建议

如需列出启用了 Recommender API 的项目的建议,请运行以下命令:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-user-project: BILLING_PROJECT_ID " "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/
recommenders/google.resourcemanager.project.ChangeRiskRecommender/recommendations"

替换以下内容:

  • BILLING_PROJECT_ID :结算项目 ID。
数据分析:

类似的一组命令可用于列出数据分析:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-user-project: BILLING_PROJECT_ID " "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/insightTypes/google.resourcemanager.project.ChangeRiskInsight/insights"

替换以下内容:* BILLING_PROJECT_ID :结算项目 ID。

服务账号

所有客户都可以通过 Google Cloud 控制台、gcloud或 Recommender API 访问有关服务账号的数据分析和建议。

gcloud

如要使用 gcloud 查看建议和数据分析,请按以下步骤操作。如需了解详情,请参阅使用 API - 数据分析和使用 API - 建议。

建议:

如需列出已启用 Recommender API 的服务账号的建议,请运行以下命令:

gcloud recommender recommendations list
--recommender=google.iam.serviceAccount.ChangeRiskRecommender
--project=PROJECT_ID  --location=global --format=yaml

替换以下内容:

  • PROJECT_ID :项目 ID。
数据分析:

类似的一组命令可用于列出数据分析:

gcloud recommender insights list
--insight-type=google.iam.serviceAccount.ChangeRiskInsight
--project=PROJECT_ID  --location=global --format=yaml

替换以下内容:* PROJECT_ID :项目 ID。

API

如需查看建议和数据分析,您可以使用 curl 向 Recommender API 发送请求。

建议:

如需列出已启用 Recommender API 的服务账号的建议,请运行以下命令:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-user-project: BILLING_PROJECT_ID " "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/
recommenders/google.iam.serviceAccount.ChangeRiskRecommender/recommendations"

替换以下内容:

  • PROJECT_ID :项目 ID。
  • BILLING_PROJECT_ID :结算项目 ID。
数据分析:

类似的一组命令可用于列出数据分析:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-user-project: BILLING_PROJECT_ID " "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/insightTypes/google.iam.serviceAccount.ChangeRiskInsight/insights"

替换以下内容:* PROJECT_ID :项目 ID。* BILLING_PROJECT_ID :结算项目 ID。

IAM 政策

所有客户都可以通过 Google Cloud 控制台、gcloud或 Recommender API 访问有关 IAM 政策的数据分析和建议。

gcloud

如要使用 gcloud 查看建议和数据分析,请按以下步骤操作。如需了解详情,请参阅使用 API - 数据分析和使用 API - 建议。

建议:

如需列出已启用 Recommender API 的 IAM 政策的建议,请运行以下命令:

gcloud recommender recommendations list --recommender=google.iam.policy.ChangeRiskRecommender --project=PROJECT_ID  --location=global --format=yaml

替换以下内容:

  • PROJECT_ID :项目 ID。
数据分析:

类似的一组命令可用于列出数据分析:

gcloud recommender insights list --insight-type=google.iam.policy.ChangeRiskInsight --project=PROJECT_ID  --location=global --format=yaml

替换以下内容:* PROJECT_ID :项目 ID。

API

如需查看建议和数据分析,您可以使用 curl 向 Recommender API 发送请求。

建议:

如需列出已启用 Recommender API 的 IAM 政策的建议,请运行以下命令:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/\recommenders/google.iam.policy.ChangeRiskRecommender/recommendations"

替换以下内容:

  • PROJECT_ID :项目 ID。
数据分析:

类似的一组命令可用于列出数据分析:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-user-project: BILLING_PROJECT_ID " "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/insightTypes/google.iam.policy.ChangeRiskInsight/insights"

替换以下内容:* PROJECT_ID :项目 ID。* BILLING_PROJECT_ID :结算项目 ID。

反馈和支持

如果出现技术问题或希望提供反馈,请发送电子邮件至 active-assist-feedback@google.com。