變更風險建議

變更風險建議會智慧地標記重要資源的常見風險變更,並提供建議來預防及減輕問題,協助您降低雲端基礎架構設定錯誤的風險。

簡介

設定錯誤是導致雲端事件的常見原因。這類事件可能是人為錯誤或工作負載意外變更所致,並可能導致各種問題,包括效能問題、可靠性問題,甚至是服務中斷。許多設定錯誤一開始可能不會引起注意,因此難以追蹤及解決。

變更風險建議是 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
  • 身分與存取權管理政策

    • 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 Zulu 格式的時間戳記,精確度可達奈秒。 例如: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 Zulu 格式的時間戳記,精確度可達奈秒。例如: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。

身分與存取權管理政策

所有客戶都可以透過 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。