查看及套用專案、資料夾和機構的角色建議

本頁說明如何查看、解讀及套用專案、資料夾和機構的建議角色。角色建議可協助您強制執行最低權限原則,確保主體只會有實際所需的權限。

事前準備

  • Enable the IAM and Recommender APIs.

    Enable the APIs

  • 瞭解角色建議

  • 請參閱「角色建議最佳做法」。

  • 選用:如要查看及管理非基本和自訂角色的角色建議,請確認您已在機構或專案層級啟用 Security Command Center 的 Premium 或 Enterprise 方案。詳情請參閱「帳單問題」。

  • 設定驗證方法。

    Select the tab for how you plan to use the samples on this page:

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    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 的憑證。

      安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:

      gcloud init

      如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI

    詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。

必要 IAM 角色

本節說明使用角色建議時所需的 IAM 角色和權限。

查看建議

如要取得查看角色建議所需的權限,請要求管理員在您要查看建議的資源 (專案、資料夾或機構) 中,授予下列 IAM 角色:

  • 角色檢視者 (roles/iam.roleViewer)
  • IAM Recommender 檢視者 (roles/recommender.iamViewer)
  • 如要在 Google Cloud 控制台中查看專案層級的建議: 專案 IAM 管理員 (roles/resourcemanager.projectIamAdmin)
  • 如要在 Google Cloud 控制台中查看資料夾層級的建議,請按照下列步驟操作: 資料夾 IAM 管理員 (roles/resourcemanager.folderIamAdmin)
  • 如要在 Google Cloud 控制台中查看機構層級的建議,請按照下列步驟操作: 機構管理員 (roles/resourcemanager.organizationAdmin)

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

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

所需權限

如要查看角色建議,必須具備下列權限:

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • recommender.iamPolicyInsights.get
  • recommender.iamPolicyInsights.list
  • recommender.iamPolicyLateralMovementInsights.get
  • recommender.iamPolicyLateralMovementInsights.list
  • 如要在 Google Cloud 控制台中查看建議,請使用以下指令: resourcemanager.RESOURCE.getIamPolicy,其中 RESOURCE 是要查看建議的資源類型 (projectsfoldersorganizations)

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

套用及關閉建議

如要取得權限,以便查看、套用及關閉角色建議,請要求管理員在您要管理建議的資源 (專案、資料夾或機構) 中,授予下列 IAM 角色:

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

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

所需權限

如要查看、套用及關閉角色建議,必須具備下列權限:

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • recommender.iamPolicyInsights.get
  • recommender.iamPolicyInsights.list
  • recommender.iamPolicyLateralMovementInsights.get
  • recommender.iamPolicyLateralMovementInsights.list
  • recommender.iamPolicyRecommendations.update
  • resourcemanager.RESOURCE.getIamPolicy,其中 RESOURCE 是您要管理建議的資源類型 (projectsfoldersorganizations)
  • resourcemanager.RESOURCE.setIamPolicy,其中 RESOURCE 是您要管理建議的資源類型 (projectsfoldersorganizations)

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

查看及套用建議

如要輕鬆查看及套用建議,最簡單的方法就是使用Google Cloud 控制台。此外,如要在套用建議時自動建立自訂角色,請務必使用 Google Cloud 控制台。

您也可以使用 Google Cloud CLI 和 Recommender API 查看及套用建議。

控制台

  1. 前往 Google Cloud 控制台的「IAM」(身分與存取權管理) 頁面。

    前往「IAM」(身分與存取權管理) 頁面

  2. 選取專案、資料夾或機構。

  3. 在有權存取專案的主體清單中,找出「安全性深入分析」欄。

    針對授予給主體的每個角色,這個資料欄會顯示任何安全性相關的深入分析。這些深入分析資訊會突顯主體存取資源的模式,舉例來說,部分洞察資訊會醒目顯示過多的權限,或是主體不需要的權限。其他洞察資料會醒目顯示具備橫向移動能力的服務帳戶:

    如果有可解決洞察資料的建議,控制台會顯示「有可用的建議」Google Cloud 圖示。

  4. 如有建議需要查看,請按一下「有可用的建議」 圖示,瞭解建議的詳細資料。

    如果建議是更換角色,角色建議一律會提供一組可套用的預先定義角色

    在某些情況下,角色建議也會建議在專案層級建立新的自訂角色。如有自訂角色建議, Google Cloud 控制台預設會顯示。如要切換至預先定義角色建議,請按一下「查看建議的預先定義角色」

  5. 請仔細查看建議,並確認您瞭解這項建議會如何變更主體對 Google Cloud 資源的存取權。除非是服務代理人的建議,否則建議絕不會提高主體的存取權層級。詳情請參閱「角色建議的產生方式」。

    如要瞭解如何在控制台中查看建議,請參閱本頁的「查看建議」一節。

  6. 選用:如果建議是建立自訂角色,請視需要更新「名稱」、「說明」、「ID」和「角色發布階段」

    如要為自訂角色新增權限,請按一下「新增權限」

    如要從自訂角色移除權限,請取消勾選要移除的每項權限。

  7. 根據建議採取行動。

    如要套用建議,請按一下「套用」或「建立並套用」。如果之後 90 天內改變心意,請使用最佳化建議記錄還原選擇。

    如要關閉最佳化建議,請按一下「關閉」,然後確認選擇。 只要最佳化建議仍有效,您就能還原已略過的建議

  8. 重複上述步驟,直到查看完所有建議為止。

gcloud

查看建議:

如要列出建議,請執行 gcloud recommender recommendations list 指令:

gcloud recommender recommendations list \
    --location=global \
    --recommender=google.iam.policy.Recommender \
    --RESOURCE_TYPE=RESOURCE_ID \
    --format=json

替換下列值:

  • RESOURCE_TYPE:要列出建議的資源類型。請使用 projectfolderorganization 值。
  • RESOURCE_ID:要列出建議的 Google Cloud 專案、資料夾或機構的 ID。專案 ID 為英數字元字串,例如 my-project。資料夾和機構 ID 為數字,例如 123456789012

回應類似下列範例。在本範例中,服務帳戶在過去 90 天內,從未運用 Compute 管理員角色 (roles/compute.admin) 的任何權限。因此,角色建議會建議您撤銷角色:

[
  {
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839"
      }
    ],
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilter": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com",
                "/iamPolicy/bindings/*/role": "roles/compute.admin"
              },
              "resource": "//cloudresourcemanager.googleapis.com/projects/example-project",
              "resourceType": "cloudresourcemanager.googleapis.com/Project"
            }
          ]
        }
      ]
    },
    "description": "This role has not been used during the observation window.",
    "recommenderSubtype": "REMOVE_ROLE",
    "etag": "\"770237e2c0decf40\"",
    "lastRefreshTime": "2020-01-09T06:06:17Z",
    "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 708
        }
      }
    },
    "priority": "P4",
    "stateInfo": {
      "state": "ACTIVE"
    }
  }
]

請仔細查看每項建議,並考量這些建議會如何改變主體對 Google Cloud 資源的存取權。如要瞭解如何透過 gcloud CLI 查看建議,請參閱本頁的「查看建議」一節。

如何套用最佳化建議:

  1. 使用 gcloud recommender recommendations mark-claimed 指令將建議的狀態變更為 CLAIMED,,這樣在套用建議時,系統就不會變更建議:

    gcloud recommender recommendations mark-claimed \
        RECOMMENDATION_ID \
        --location=global \
        --recommender=google.iam.policy.Recommender \
        --RESOURCE_TYPE=RESOURCE_ID \
        --format=FORMAT \
        --etag=ETAG \
        --state-metadata=STATE_METADATA
    

    替換下列值:

    • RECOMMENDATION_ID:建議的專屬 ID。這項值會顯示在建議的 name 欄位結尾。在上述範例中,ID 是 fb927dc1-9695-4436-0000-f0f285007c0f
    • RESOURCE_TYPE:要管理建議的資源類型。請使用 projectfolderorganization 值。
    • RESOURCE_ID:您要管理建議的 Google Cloud專案、資料夾或機構的 ID。專案 ID 為英數字串,例如 my-project。資料夾和機構 ID 都是數字,例如 123456789012
    • FORMAT:回應格式。使用 jsonyaml
    • ETAG:建議中 etag 欄位的值,例如 "dd0686e7136a4cbb"。請注意,這個值可以包含引號。
    • STATE_METADATA:選用。以半形逗號分隔的鍵/值組合,內含您選擇的建議中繼資料。例如:--state-metadata=reviewedBy=alice,priority=high。中繼資料會取代建議中的 stateInfo.stateMetadata 欄位。

    如果指令成功,回應會顯示建議處於 CLAIMED 狀態,如下列範例所示。為求明確,範例省略了大部分的欄位:

    [
      {
        "description": "This role has not been used during the observation window.",
        "recommenderSubtype": "REMOVE_ROLE",
        "etag": "\"df7308cca9719dcc\"",
        "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "stateInfo": {
          "state": "CLAIMED",
          "stateMetadata": {
            "reviewedBy": "alice",
            "priority": "high"
          }
        }
      }
    ]
  2. 取得專案的允許政策,然後修改並設定允許政策,使其反映建議。

  3. 如果可以套用建議,請將建議狀態更新為 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:建議的專屬 ID。這項值會顯示在建議的 name 欄位結尾。在上述範例中,ID 是 fb927dc1-9695-4436-0000-f0f285007c0f
    • RESOURCE_TYPE:要管理建議的資源類型。請使用 projectfolderorganization 值。
    • RESOURCE_ID:您要管理建議的 Google Cloud專案、資料夾或機構的 ID。專案 ID 為英數字串,例如 my-project。資料夾和機構 ID 都是數字,例如 123456789012
    • FORMAT:回應格式。使用 jsonyaml
    • ETAG:建議中 etag 欄位的值,例如 "dd0686e7136a4cbb"。請注意,這個值可以包含引號。
    • STATE_METADATA:選用。以半形逗號分隔的鍵/值組合,內含您選擇的建議中繼資料。例如:--state-metadata=reviewedBy=alice,priority=high。中繼資料會取代建議中的 stateInfo.stateMetadata 欄位。

    舉例來說,如果您將建議標示為成功,回應就會顯示建議處於 SUCCEEDED 狀態。為求明確,這個範例省略了大部分的欄位:

    [
      {
        "description": "This role has not been used during the observation window.",
        "recommenderSubtype": "REMOVE_ROLE",
        "etag": "\"dd0686e7136a4cbb\"",
        "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "stateInfo": {
          "state": "SUCCEEDED",
          "stateMetadata": {
            "reviewedBy": "alice",
            "priority": "high"
          }
        }
      }
    ]

REST

查看建議:

如要列出專案、資料夾或機構的所有可用建議,請使用 Recommender API 的 recommendations.list 方法。

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

  • RESOURCE_TYPE:要管理建議的資源類型。請使用 projectsfoldersorganizations 值。
  • RESOURCE_ID:要管理建議的Google Cloud 專案、資料夾或機構的 ID。專案 ID 為英數字串,例如 my-project。資料夾和機構 ID 為數字,例如 123456789012
  • PAGE_SIZE:選用。這項要求傳回的結果數上限。如未指定,伺服器會決定要傳回的結果數量。如果建議數量大於頁面大小,回應會包含分頁符記,可用於擷取下一頁結果。
  • PAGE_TOKEN:選用。這個方法先前回應中傳回的分頁符記。如果指定,建議清單會從上一個要求結束的位置開始。
  • FILTER:選用。篩選器運算式,用於限制傳回的建議。您可以根據「stateInfo.state」欄位篩選最佳化建議。例如 stateInfo.state:"DISMISSED"stateInfo.state:"FAILED"
  • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字串,例如 my-project

HTTP 方法和網址:

GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER

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

回應類似下列範例。在這個範例中,專案 example-project 中的服務帳戶在過去 90 天內,未曾使用 Compute 管理員角色 (roles/compute.admin) 的任何權限。因此,建議工具會建議您撤銷角色:

{
  "recommendations": [
    "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "description": "This role has not been used during the observation window.",
    "lastRefreshTime": "2020-01-09T06:06:17Z",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 708
        }
      }
    },
    "priority": "P4",
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilter": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com",
                "/iamPolicy/bindings/*/role": "roles/compute.admin"
              },
              "resource": "//cloudresourcemanager.googleapis.com/projects/example-project",
              "resourceType": "cloudresourcemanager.googleapis.com/Project"
            }
          ]
        }
      ]
    },
    "stateInfo": {
      "state": "ACTIVE"
    }
    "etag": "\"770237e2c0decf40\"",
    "recommenderSubtype": "REMOVE_ROLE",
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839"
      }
  ]
}

請仔細查看每項建議,並考量這些建議會如何改變主體對 Google Cloud 資源的存取權。如要瞭解如何透過 REST API 檢查建議,請參閱本頁的「檢查建議」一節。

如何套用最佳化建議:

  1. 將建議標示為CLAIMED

    如要將建議標示為 CLAIMED,防止建議在您套用時變更,請使用 Recommender API 的 recommendations.markClaimed 方法。

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

    • RESOURCE_TYPE:要管理建議的資源類型。請使用 projectsfoldersorganizations 值。
    • RESOURCE_ID:要管理建議的Google Cloud 專案、資料夾或機構的 ID。專案 ID 為英數字串,例如 my-project。資料夾和機構 ID 為數字,例如 123456789012
    • RECOMMENDATION_ID:建議的專屬 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:選用。這個物件包含鍵/值組合,其中含有您選擇的建議中繼資料。例如:{"reviewedBy": "alice", "priority": "high"}。中繼資料會取代建議中的 stateInfo.stateMetadata 欄位。
    • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字串,例如 my-project

    HTTP 方法和網址:

    POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markClaimed

    JSON 要求主體:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

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

    回應會以 CLAIMED 狀態顯示建議,如下列範例所示。 為求明確,這個範例省略了大部分的欄位:

    {
      "description": "This role has not been used during the observation window.",
      "stateInfo": {
        "state": "CLAIMED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "etag": "\"dd0686e7136a4cbb\"",
      "recommenderSubtype": "REMOVE_ROLE"
    }
    

  2. 取得專案的允許政策,然後修改允許政策,使其符合建議。

  3. 如果可以套用建議,請將建議狀態更新為 SUCCEEDED;如果無法套用建議,請更新為 FAILED

    SUCCEEDED

    如要將建議標示為 SUCCEEDED,表示您已套用建議,請使用 Recommender API 的 recommendations.markSucceeded 方法。

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

    • RESOURCE_TYPE:要管理建議的資源類型。請使用 projectsfoldersorganizations 值。
    • RESOURCE_ID:要管理建議的Google Cloud 專案、資料夾或機構的 ID。專案 ID 為英數字串,例如 my-project。資料夾和機構 ID 為數字,例如 123456789012
    • RECOMMENDATION_ID:建議的專屬 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:選用。這個物件包含鍵/值組合,其中含有您選擇的建議中繼資料。例如:{"reviewedBy": "alice", "priority": "high"}。中繼資料會取代建議中的 stateInfo.stateMetadata 欄位。
    • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字串,例如 my-project

    HTTP 方法和網址:

    POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markSucceeded

    JSON 要求主體:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

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

    回應會以 SUCCEEDED 狀態顯示建議,如下列範例所示。 為求明確,這個範例省略了大部分的欄位:

    {
      "description": "This role has not been used during the observation window.",
      "stateInfo": {
        "state": "SUCCEEDED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "etag": "\"dd0686e7136a4cbb\"",
      "recommenderSubtype": "REMOVE_ROLE"
    }
    

    FAILED

    如要將建議標示為 FAILED,表示您無法套用建議,請使用 Recommender API 的 recommendations.markFailed 方法。

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

    • RESOURCE_TYPE:要管理建議的資源類型。請使用 projectsfoldersorganizations 值。
    • RESOURCE_ID:要管理建議的Google Cloud 專案、資料夾或機構的 ID。專案 ID 為英數字串,例如 my-project。資料夾和機構 ID 為數字,例如 123456789012
    • RECOMMENDATION_ID:建議的專屬 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:選用。這個物件包含鍵/值組合,其中含有您選擇的建議中繼資料。例如:{"reviewedBy": "alice", "priority": "high"}。中繼資料會取代建議中的 stateInfo.stateMetadata 欄位。
    • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字串,例如 my-project

    HTTP 方法和網址:

    POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markFailed

    JSON 要求主體:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

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

    回應會以 FAILED 狀態顯示建議,如下列範例所示。 為求明確,這個範例省略了大部分的欄位:

    {
      "description": "This role has not been used during the observation window.",
      "stateInfo": {
        "state": "FAILED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "etag": "\"dd0686e7136a4cbb\"",
      "recommenderSubtype": "REMOVE_ROLE"
    }
    

瞭解建議

每項建議都會附上相關資訊,協助您瞭解提出建議的原因。

控制台

為協助您瞭解系統提出建議的原因,Google Cloud 控制台會顯示主體的權限用量,這是由與建議相關聯的政策洞察回報。舉例來說,它可能會顯示如下清單:

為協助您瞭解套用建議的影響,Google Cloud 控制台也會顯示以顏色和符號編碼的權限清單。這份清單會顯示套用建議後,主體的權限會如何變更。例如,系統可能會顯示如下清單:

各顏色和符號代表的權限類型如下:

  • 灰色,沒有符號:主體目前角色和建議角色都有的權限。

  • 紅色並附上減號 :主體目前角色中的權限,但不在建議角色中,因為主體過去 90 天內未曾使用這些權限。

  • 綠色加號 :主體目前角色沒有的權限,但建議角色有。這類權限只會顯示在服務專員的建議中。

  • 藍色,並顯示「機器學習」圖示 : 主體的目前角色和建議角色都有的權限。這並非因為主體在過去 90 天內使用過這些權限,而是因為 Recommender 透過機器學習判斷主體日後可能需要這些權限。

部分建議也與橫向移動深入分析相關。橫向移動洞察資料會找出可讓某個專案中的服務帳戶模擬其他專案中服務帳戶的角色。如果建議與橫向移動深入分析相關聯, Google Cloud 控制台也會顯示下列資訊:

  • 服務帳戶的來源專案:建立具備模擬權限服務帳戶的專案。

  • 可在這項專案中模擬的服務帳戶:目前專案中所有服務帳戶的清單,具有模擬權限的服務帳戶可以模擬這些服務帳戶。

gcloud

如要瞭解建議的欄位,請參閱Recommendation參考資料

如要查看這項建議的依據權限用量,請查看與建議相關聯的政策洞察。這些洞察資料會列在 associatedInsights 欄位中。如要查看與建議相關的政策洞察資料,請按照下列步驟操作:

  • 找出 associatedInsights 欄位中的哪些深入分析是政策深入分析。 政策洞察的洞察類型為 google.iam.policy.insight。這類型的內容會顯示在 insight 欄位的 insightTypes 後方。
  • 複製政策洞察資料的 ID。ID 是「insight」欄位中 insights/ 後方的所有內容。在上述範例中,洞察 ID 為 279ef748-408f-44db-9a4a-1ff8865b9839
  • 按照操作說明,使用您複製的洞察 ID 取得政策洞察

部分建議也與橫向移動洞察相關聯,可找出允許某個專案中的服務帳戶模擬其他專案中服務帳戶的角色。這些洞察資料也會列在「associatedInsights」欄位中。如要查看與建議相關聯的橫向移動深入分析,請按照下列步驟操作:

  • 找出 associatedInsights 欄位中的哪些深入分析是橫向移動深入分析。橫向移動深入分析的深入分析類型為 google.iam.policy.LateralMovementInsight。這個型別會顯示在 insight 欄位中的 insightTypes 後方。
  • 複製政策洞察資料的 ID。ID 是「insight」欄位中 insights/ 後方的所有內容。在上述範例中,洞察 ID 為 279ef748-408f-44db-9a4a-1ff8865b9839
  • 按照操作說明,使用您複製的深入分析 ID 取得橫向移動深入分析

REST

如要瞭解建議的欄位,請參閱Recommendation參考資料

如要查看這項建議的依據權限用量,請查看與建議相關聯的政策洞察。這些洞察資料會列在 associatedInsights 欄位中。如要查看與建議相關的政策洞察資料,請按照下列步驟操作:

  1. 找出 associatedInsights 欄位中的哪些深入分析是政策深入分析。 政策洞察的洞察類型為 google.iam.policy.insight。這類型的內容會顯示在 insight 欄位的 insightTypes 後方。
  2. 複製政策洞察資料的 ID。ID 是「insight」欄位中 insights/ 後方的所有內容。舉例來說,如果 insight 欄位顯示 projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839,則洞察 ID 為 279ef748-408f-44db-9a4a-1ff8865b9839
  3. 按照操作說明,使用您複製的洞察 ID 取得政策洞察

部分建議也與橫向移動洞察相關聯,可找出允許某個專案中的服務帳戶模擬其他專案中服務帳戶的角色。這些洞察資料也會列在「associatedInsights」欄位中。如要查看與建議相關聯的橫向移動深入分析,請按照下列步驟操作:

  1. 找出 associatedInsights 欄位中的哪些深入分析是橫向移動深入分析。橫向移動深入分析的深入分析類型為 google.iam.policy.LateralMovementInsight。這個型別會顯示在 insight 欄位中的 insightTypes 後方。
  2. 複製政策洞察資料的 ID。ID 是「insight」欄位中 insights/ 後方的所有內容。舉例來說,如果 insight 欄位顯示 projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860,則洞察 ID 為 13088eec-9573-415f-81a7-46e1a260e860
  3. 按照操作說明,使用您複製的深入分析 ID 取得橫向移動深入分析

查看、還原及復原變更

套用或關閉專案層級角色繫結的建議後,該動作會顯示在建議記錄中。

如要查看建議記錄,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「IAM」(身分與存取權管理) 頁面。

    前往「IAM」(身分與存取權管理) 頁面

  2. 選取專案、資料夾或機構。

  3. 按一下畫面頂端附近的「建議記錄」

    Google Cloud 控制台會顯示角色建議的先前動作清單。

  4. 如要查看建議的詳細資料,請按一下展開箭頭。

    Google Cloud 控制台會顯示所採取動作的詳細資料,包括採取動作的主體:

  5. (選用) 如有需要,您可以還原最佳化建議,撤銷最佳化建議中的變更,或是還原您略過的最佳化建議。

    如要還原先前套用的建議變更,請按一下「還原」。 Google Cloud 控制台會還原主體角色的變更。Google Cloud 控制台不會再顯示這項最佳化建議。

    如要還原已關閉的建議,請按一下「還原」。建議會顯示在Google Cloud 控制台的「IAM」IAM頁面。角色或權限不會變更。

後續步驟