設定角色建議產生作業

變更 IAM 建議設定後,您就能自訂角色建議的產生方式。本頁說明如何編輯設定,變更專案產生建議的速度。

雖然 IAM 建議工具會為各種資源產生角色建議,但您只能編輯專案的角色建議產生方式。

事前準備

必要的角色

如要取得設定 IAM 角色建議所需的權限,請要求管理員在您要設定 IAM 建議工具的專案中,授予下列 IAM 角色:

  • 查看設定詳細資料: IAM 建議工具檢視者 (roles/recommender.iamViewer)
  • 修改設定: IAM 建議工具管理員 (roles/recommender.iamAdmin)

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這些預先定義角色具備設定 IAM 角色建議所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要設定 IAM 角色建議,必須具備下列權限:

  • 查看設定詳細資料: recommender.iamPolicyRecommenderConfig.get
  • 修改設定: recommender.iamPolicyRecommenderConfig.update

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

查看目前的設定

查看目前的設定,瞭解 IAM 建議工具要等待幾天,才會根據權限使用資料產生角色建議。

您可以使用 gcloud CLI 或 REST API 查看設定。

gcloud

如要取得專案的 IAM 建議事項設定,請使用 gcloud beta recommender recommender-config describe 指令。

使用下方的任何指令資料之前,請先替換以下項目:

  • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字串,例如 my-project

執行 gcloud beta recommender recommender-config describe 指令:

Linux、macOS 或 Cloud Shell

gcloud beta recommender recommender-config describe \
google.iam.policy.Recommender \
--project="PROJECT_ID" \
--location="global"

Windows (PowerShell)

gcloud beta recommender recommender-config describe `
google.iam.policy.Recommender `
--project="PROJECT_ID" `
--location="global"

Windows (cmd.exe)

gcloud beta recommender recommender-config describe ^
google.iam.policy.Recommender ^
--project="PROJECT_ID" ^
--location="global"

回應會包含專案的 IAM 推薦工具設定。舉例來說,檔案可能如下所示:

etag: '"d3e779ee3f34f276"'
name: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config
recommenderGenerationConfig:
  params:
    minimum_observation_period: P90D
revisionId: DEFAULT
updateTime: '2022-10-02T22:57:33Z'

REST

如要取得專案的 IAM 建議工具設定,請使用 Recommender API 的 projects.locations.recommenders.getConfig 方法。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_NUMBER:您的 Google Cloud 專案的數字 ID。
  • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字串,例如 my-project

HTTP 方法和網址:

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config

如要傳送要求,請展開以下其中一個選項:

回應會包含專案的 IAM 推薦工具設定。舉例來說,檔案可能如下所示:

{
  "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "minimum_observation_period": "P90D"
    }
  },
  "etag": "\"d3e779ee3f34f276\"",
  "updateTime": "2022-10-02T22:57:33Z",
  "revisionId": "DEFAULT"
}

瞭解設定詳細資料

設定內容取決於設定適用的建議引擎。IAM 建議事項設定包含下列元件 (不一定會依此順序排列):

  • name:設定的 ID,格式為 projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config
  • recommenderGenerationConfig:IAM 建議工具產生建議時使用的參數。這個欄位包含下列參數:

    • minimum_observation_period:IAM 建議工具開始產生角色建議時,需要的天數權限使用資料。
  • etag:設定目前狀態的 ID,用於防止並行更新。每次設定變更時,系統都會指派新的 ETag 值。

  • updateTime:最近一次更新設定的時間戳記,採用世界標準時間格式 (RFC 3339)。

  • revisionId:僅供輸出。目前設定修訂版本的 ID。每次編輯設定時,這個值都會更新。

編輯設定

編輯設定,即可變更系統為專案生成建議的速度。

gcloud

如要編輯專案的 IAM 建議工具設定,請使用 gcloud beta recommender recommender-config update 指令。

使用下方的任何指令資料之前,請先替換以下項目:

  • OBSERVATION_PERIOD:要設定的最短觀察期。請使用下列其中一個值:P30D (30 天)、P60D (60 天) 或 P90D (90 天)。
  • ETAG:設定目前的 etag,您可以取得目前的設定,然後複製回應的 etag 欄位值。
  • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字串,例如 my-project
  • 將下列內容儲存到名為 request.json 的檔案:

    {
      "params": {
        "minimum_observation_period": "OBSERVATION_PERIOD"
      }
    }

    執行 gcloud beta recommender recommender-config update 指令:

    Linux、macOS 或 Cloud Shell

    gcloud beta recommender recommender-config update \
    google.iam.policy.Recommender \
    --etag="ETAG" \
    --project="PROJECT_ID" \
    --location="global" \
    --config-file="request.json"

    Windows (PowerShell)

    gcloud beta recommender recommender-config update `
    google.iam.policy.Recommender `
    --etag="ETAG" `
    --project="PROJECT_ID" `
    --location="global" `
    --config-file="request.json"

    Windows (cmd.exe)

    gcloud beta recommender recommender-config update ^
    google.iam.policy.Recommender ^
    --etag="ETAG" ^
    --project="PROJECT_ID" ^
    --location="global" ^
    --config-file="request.json"

    回應會包含更新後的設定。例如:

    etag: '"2549af0942332910"'
    name: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config
    recommenderGenerationConfig:
      params:
        minimum_observation_period: P60D
    revisionId: 288c60eb
    updateTime: '2022-10-05T21:42:21.069170Z'
    

REST

如要編輯專案的 IAM 建議事項設定,請使用 Recommender API 的 projects.locations.recommenders.updateConfig 方法。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_NUMBER:您的 Google Cloud 專案的數字 ID。
  • OBSERVATION_PERIOD:要設定的最短觀察期。請使用下列其中一個值:P30D (30 天)、P60D (60 天) 或 P90D (90 天)。
  • ETAG:設定目前的 etag,您可以取得目前的設定,並複製回應的 etag 欄位值,即可找到這個值。使用反斜線逸出引號,例如 "\"df7308cca9719dcc\""
  • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字串,例如 my-project
  • HTTP 方法和網址:

    PATCH https://recommender.googleapis.com/v1beta1/projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config

    JSON 要求主體:

    {
      "name": "projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config",
      "recommenderGenerationConfig": {
        "params": {
          "minimum_observation_period": "OBSERVATION_PERIOD"
        }
      },
      "etag": "ETAG"
    }
    

    如要傳送要求,請展開以下其中一個選項:

    回應會包含更新後的設定。例如:

    {
      "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config",
      "recommenderGenerationConfig": {
        "params": {
          "minimum_observation_period": "P60D"
        }
      },
      "etag": "\"2549af0942332910\"",
      "updateTime": "2022-10-05T21:26:52.127512Z",
      "revisionId": "b5fc0053"
    }
    

後續步驟