在 Gemini 的協助下取得預先定義角色建議

本頁說明如何透過 Gemini 輔助,尋找並授予主體 Identity and Access Management (IAM) 預先定義角色。

透過 IAM 角色挑選器,您可以要求 Gemini 建議應授予主體的角色。一般來說,如要找出合適的預先定義角色 並授予權限,您需要搜尋 IAM 角色和 權限索引,或Google Cloud 控制台中的「角色」頁面。使用 IAM 角色挑選器,您可以說明要主體執行的動作,以及執行這些動作所需的資源。Gemini 會根據您的輸入內容,建議適當的預先定義角色。

Gemini 可以為個別主體建議預先定義的角色。如果 Gemini 建議在專案層級授予角色,您可以使用 IAM 角色挑選器授予該角色。

無法使用 IAM 角色挑選器,取得下列項目的建議:

  • 自訂角色
  • 多個主體的角色 (使用單一提示)
  • Google 試算表和 Google 文件等 Google Workspace 產品的角色

瞭解 Gemini for Google Cloud 如何使用您的資料

事前準備

如要透過 Gemini 取得預先定義的角色建議,請先完成下列必要條件。

控制台

您可以在 Google Cloud 控制台中使用 IAM 角色挑選器,不必啟用任何 API。

REST

如要透過 Policy Assist REST API 取得角色建議,請在 Google Cloud 控制台中為專案啟用 Policy Assist API:

  1. 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
  2. 安裝 Google Cloud CLI。

  3. 若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  4. 執行下列指令,初始化 gcloud CLI:

    gcloud init
  5. 建立或選取 Google Cloud 專案

    選取或建立專案所需的角色

    • 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您在專案中獲派角色,即可選取該專案。
    • 建立專案:如要建立專案,您需要「專案建立者」角色 (roles/resourcemanager.projectCreator),其中包含 resourcemanager.projects.create 權限。瞭解如何授予角色
    • 建立 Google Cloud 專案:

      gcloud projects create PROJECT_ID

      PROJECT_ID 替換為您要建立的 Google Cloud 專案名稱。

    • 選取您建立的 Google Cloud 專案:

      gcloud config set project PROJECT_ID

      PROJECT_ID 替換為 Google Cloud 專案名稱。

  6. 如要使用現有專案進行本指南中的操作,請確認您具有完成本指南所需的權限。如果您建立新專案,則已具備必要權限。

  7. 啟用 Policy Assist API:

    啟用 API 時所需的角色

    如要啟用 API,您必須具備 serviceusage.services.enable 權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色

    gcloud services enable policyassist.googleapis.com
  8. 安裝 Google Cloud CLI。

  9. 若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  10. 執行下列指令,初始化 gcloud CLI:

    gcloud init
  11. 建立或選取 Google Cloud 專案

    選取或建立專案所需的角色

    • 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您在專案中獲派角色,即可選取該專案。
    • 建立專案:如要建立專案,您需要「專案建立者」角色 (roles/resourcemanager.projectCreator),其中包含 resourcemanager.projects.create 權限。瞭解如何授予角色
    • 建立 Google Cloud 專案:

      gcloud projects create PROJECT_ID

      PROJECT_ID 替換為您要建立的 Google Cloud 專案名稱。

    • 選取您建立的 Google Cloud 專案:

      gcloud config set project PROJECT_ID

      PROJECT_ID 替換為 Google Cloud 專案名稱。

  12. 如要使用現有專案進行本指南中的操作,請確認您具有完成本指南所需的權限。如果您建立新專案,則已具備必要權限。

  13. 啟用 Policy Assist API:

    啟用 API 時所需的角色

    如要啟用 API,您必須具備 serviceusage.services.enable 權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色

    gcloud services enable policyassist.googleapis.com

必要的角色

如要取得使用 IAM 角色挑選器所需的權限,請要求管理員在專案中授予您下列 IAM 角色:

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

這些預先定義的角色具備使用 IAM 角色挑選器所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要使用 IAM 角色挑選器,必須具備下列權限:

  • 在控制台中取得角色建議:
    • resourcemanager.projects.get
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • 使用 API 取得自訂角色建議: iam.roles.list

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

透過 Gemini 取得角色建議

您可以使用Google Cloud 控制台或 Policy Assist REST API,請 Gemini 提供角色建議。

控制台

如要在 Google Cloud 控制台中取得 Gemini 的角色建議,請在專案層級授予存取權的頁面中,存取 IAM 角色挑選器。舉例來說,您可以在 Google Cloud 控制台的下列頁面使用 IAM 角色挑選器:

  • 「IAM」頁面
  • 「服務帳戶」頁面
  • Google Cloud 控制台的「資訊主頁」頁面

以下程序會使用「身分與存取權管理」頁面做為主要進入點。

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

    前往 IAM

  2. 選取專案。

  3. 選取要取得角色建議的主體:

    • 如要為資源上已有其他角色的主體取得角色建議,請找出包含該主體的列,然後點選該列的 「Edit principal」(編輯主體)

      如要將角色授予服務代理,請選取「包含 Google 提供的角色授予項目」Google核取方塊,即可查看服務代理的電子郵件地址。

    • 如要為資源上還沒有任何角色的主體取得角色建議,請點選 「Grant Access」(授予存取權),然後輸入主體 ID,例如 my-user@example.com//iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com

  4. 如要開啟 IAM 角色挑選器對話方塊,請按一下「幫我選取角色」

  5. 請用自己的話描述主體要執行的動作,以及主體需要在專案中執行的資源。

  6. 按一下「建議角色」。Gemini 會根據您的輸入內容,建議適當的預先定義角色。

    如要進一步瞭解角色和 Gemini 建議這些角色的原因,請按一下「顯示原因」。此外,建議您先使用角色和權限參考資料驗證 Gemini 建議的角色,再將這些角色授予主體。

  7. 選用:如果 Gemini 建議的角色不合適,可以修正提示。

    1. 如要修改提示,請按一下「編輯」
    2. 編輯說明,然後按一下「更新」。 Gemini 會根據新說明更新角色建議。
  8. 如要接受建議,請按一下「新增角色」

  9. 選用:為角色新增條件

  10. 按一下 [儲存]。主體就會取得指定資源的角色。

您可以直接從 IAM 角色挑選器,授予 Gemini 建議的專案層級角色。如要取得機構、資料夾或資源層級的角色建議,請記下建議的角色,並使用 Google Cloud 控制台的標準程序,在適當層級將這些角色授予主體。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

如果您沒有在機構、資料夾或資源層級授予角色的權限,請與管理員聯絡。

REST

如要使用 Policy Assist REST API 取得角色建議,請呼叫 recommendIamRoles 方法。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:您的 Google Cloud 專案 ID。專案 ID 為英數字元,例如 my-project
  • USER_INSTRUCTIONS:說明所需權限的自然語言提示。例如:「建議可查看儲存空間 bucket 的角色。」

HTTP 方法和網址:

POST https://policyassist.googleapis.com/v1/projects/PROJECT_ID/locations/global:recommendIamRoles

JSON 要求主體:

{
  "prompt": {
    "userInstructions": "USER_INSTRUCTIONS"
  }
}

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

您應該會收到如下的 JSON 回覆:

{
  "summary": "",
  "recommendations": [
    {
      "type": "RECOMMENDATION_TYPE_PREDEFINED_ROLES",
      "roles": [
        {
          "name": "roles/storage.objectViewer",
          "roleType": "ROLE_TYPE_PREDEFINED",
          "grantableScopes": [
            "Projects",
            "Buckets"
          ]
        },
        {
          "name": "roles/storage.legacyBucketReader",
          "roleType": "ROLE_TYPE_PREDEFINED",
          "grantableScopes": [
            "Projects"
          ]
        }
      ],
      "intro": "The following roles match your description:"
      "detailedReasoning": "The roles/storage.objectViewer role grants permissions to view objects and their metadata. The roles/storage.legacyBucketReader grants broader read access to buckets and objects. Choose the one that best fits the principle of least privilege for your use case."
    }
  ]
}

如要瞭解如何在適當層級將建議角色授予主體,請參閱「管理專案、資料夾和機構的存取權」。如果沒有授予角色的權限,請與管理員聯絡。

應用實例

下表說明 IAM 角色挑選器的一些使用案例。根據預設,Gemini 會建議的角色,通常是為了涵蓋服務中的常見使用者歷程而設計。舉例來說,Gemini 通常會建議服務的管理員、編輯者或檢視者角色。

如要讓 Gemini 建議最精細、權限最少的角色,請在提示詞中使用特定關鍵字指定這項偏好設定。如需可使用的關鍵字清單,請參閱「最小權限角色關鍵字」。不過請注意,最低權限角色可能無法滿足使用者日後的需求。

用途 提示範例
找出一般服務管理適用的角色
  • 「我需要哪些權限才能管理 AlloyDB for PostgreSQL 設定?」
  • 「我需要哪些角色才能使用 BigQuery?」
  • 「如何將 Cloud Run 服務的執行和偵錯存取權授予其他使用者?」
  • 「我需要佈建 Vertex AI Agent 身分,才能執行基本工具呼叫。」
找出執行特定工作所需的角色
  • 「建立、啟動及停止 VM 需要哪些角色?」
  • 「我需要允許使用者建立及管理 BigQuery 資料集和資料表。」
  • 「我需要授予服務帳戶權限,才能叫用 Cloud Run 函式。」
  • 「我希望代理程式觸發我部署在 Cloud Run 上的本機 MCP 伺服器。」

可產生最低權限角色建議的提示:

  • 「建立、啟動及停止 VM 時,需要哪些最低權限角色?」
  • 「建立 IAM 政策所需的最低權限 IAM 角色有哪些?」
  • 「我需要授予服務帳戶權限,才能叫用 Cloud Run 函式。需要最小存取權為何?
  • 「我的代理程式需要最寬鬆的角色,才能觸發我在 Cloud Run 上部署的本機 MCP 伺服器嗎?」
找出執行 Google Cloud CLI 指令所需的角色
  • 「執行 gcloud compute instances create instance-1 需要哪些 IAM 角色?」

提示:產生最低權限角色建議:

  • 「服務帳戶執行 gcloud datastore instances describe 時需要最小的角色是什麼?」
識別包含遞移依附元件的工作的角色
  • 「我需要設定 Compute Engine 執行個體,根據 CPU 使用率自動調度資源。我應該將哪些 IAM 角色授予服務帳戶?

提示:產生最低權限角色建議:

  • 「我需要設定 Compute Engine 執行個體,根據 CPU 使用率自動調度資源。我需要授予 Compute Engine 執行個體自動調整程式所用服務帳戶的最低權限是什麼?
找出可能需要多個精細角色組合的任務角色
  • 「只允許使用者存取 BigQuery 中的特定資料集。他們不應能夠建立或刪除資料集。」

提示:產生最低權限角色建議:

  • 「要授予使用者 BigQuery 中單一資料集的唯讀存取權,但不允許他們對任何資料集執行建立或刪除動作,最安全的角色是什麼?」

最佳做法

為確保 Gemini 針對您的用途提供最準確的建議,建議您撰寫提示時遵循下列最佳做法。

  • 清楚說明用途。避免在提示中使用含糊不清的語言。請盡可能清楚說明您要主體在哪些服務和資源類型上執行哪些動作。如要讓 Gemini 建議最低權限角色,請務必使用特定關鍵字建立提示,說明您打算遵循最低權限原則。

    正確做法 錯誤做法 詳細資料
    「執行 BigQuery 資料表 SQL 查詢並讀取資料時,需要哪些角色?」 「執行 SQL 陳述式需要什麼角色?」 SQL 是多項 Google Cloud 服務通用的語言。如果未指定服務或動作,Gemini 就無法建議確切的角色。
    「我需要啟動、停止及重新啟動 Compute Engine 虛擬機器執行個體的角色。」 「I need to manage my virtual machines」(我需要管理虛擬機器)。 「管理」一詞過於籠統,管理可能包括建立、刪除、更新或查看 VM。清楚列出要執行的特定動作 (啟動、停止、重新啟動) 和確切的資源類型 (Compute Engine 虛擬機器執行個體),可獲得更準確的建議。
    「我需要從名為 example-bucket 的 Cloud Storage bucket 上傳及下載物件。」 「Give me access to storage」(授予儲存空間存取權)。 單獨使用「儲存空間」一詞時,可能指的是各種服務,例如 Cloud Storage、Filestore 或永久磁碟。此外,系統未指定任何動作。如果沒有指定服務 (Cloud Storage)、資源類型名稱 (example-bucket) 或動作 (上傳及下載物件),Gemini 就沒有足夠的資訊來建議適當的角色。
    「我需要最嚴格的角色,但必須提供 Secret Manager 的僅列出存取權。」 「我需要有限的存取權來管理密鑰。」 「存取權受限」一詞無法清楚定義必要限制。「管理我的密鑰」涵蓋各種動作 (建立、列出、更新、刪除、存取版本)。如果沒有使用「最低權限」等明確關鍵字,Gemini 預設會建議更通用的服務專屬管理員、編輯者或檢視者角色。
  • 使用官方名稱。在提示中,請使用 Google Cloud 服務、資源類型和 API 作業的正式名稱。如果您不確定服務、資源類型或 API 作業的正式名稱,建議參閱正式產品說明文件。

    正確做法 錯誤做法 詳細資料
    「我需要什麼角色才能更新 BigQuery 資料集?」 「我需要什麼角色才能更新 BigQuery 資料集? BigQuery 是產品的官方名稱,而非 Big query
    「如要在專案中建立 Cloud Storage bucket,需要什麼角色?」 「我需要什麼角色才能在專案中建立儲存空間 bucket?」 儲存空間值區可能指的是來自 Cloud Storage、Filestore 或 Persistent Disk 等服務的不同資源類型。指定產品名稱和相關資源類型,可獲得更準確的建議。

最低權限角色的關鍵字

如要讓 Gemini 根據最小權限原則提供角色建議,請在提示詞中使用特定關鍵字。以下列舉部分可用於要求最低權限角色的關鍵字:

  • 最寬鬆
  • 最安全
  • 最小角色
  • 最低權限
  • 最低權限
  • 嚴格精細
  • 最窄的存取範圍
  • 僅限絕對最低值
  • 僅限具備確切權限

疑難排解

本節說明如何解決 IAM 角色挑選器常見問題。

Gemini 建議您無法在專案層級授予的角色

Gemini 可以在所有資源層級建議角色,但您只能使用 IAM 角色挑選器,授予建議的專案層級角色。當 Gemini 建議機構、資料夾或資源層級的角色時,IAM 角色挑選器會指出有建議角色無法授予,且「新增角色」按鈕會停用。

發生這種情況時,您可以複製建議的角色,並使用Google Cloud 控制台的標準程序,在適當層級將角色授予主體。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

如果您沒有在機構、資料夾或資源層級授予角色的權限,請與管理員聯絡。

後續步驟