管理 Gemini Code Assist 標準版和 Enterprise 授權

貴組織的每位使用者都必須取得授權,才能使用 Gemini Code Assist 標準版和企業版。

根據預設,所有訂閱項目都會啟用自動指派授權功能。貴組織中具備必要權限的使用者,在支援的 IDE 中開始使用 Gemini Code Assist 時,會自動獲派授權。本文稍後會詳細說明這些權限。設定 Gemini Code Assist 後,您可以選擇手動指派授權,或繼續自動指派。

您可以將授權指派給任何有權存取專案的使用者,只要專案連結至相關帳單帳戶即可。

事前準備

變更訂閱方案中的 Gemini Code Assist 標準版和 Enterprise 授權數量

您可以直接透過 Google Cloud 控制台,或透過 Google 帳戶代表或授權經銷商,新增或移除 Gemini Code Assist 授權數量。

查看 Gemini Code Assist 標準版和企業版授權指派情形

選取下列選項之一:

控制台

  1. 確認您對擁有訂閱項目的帳單帳戶具備下列 IAM 權限:

    • billing.accounts.get
    • consumerprocurement.orders.get
    • consumerprocurement.licensePools.get
    • consumerprocurement.licensePools.enumerateLicensedUsers
    • resourcemanager.projects.get
  2. 前往「Admin for Gemini」頁面,選取連結至帳單帳戶的專案,並訂閱 Gemini Code Assist 標準版或企業版。

    前往 Gemini 管理頁面

  3. 選擇要變更的訂閱方案,然後選取「Modify Subscription」(修改訂閱方案)。

    您可以查看每位獲派授權的使用者資訊,包括:

    • 名稱。
    • 電子郵件、
    • 指派授權的日期。
    • 上次使用授權的日期和時間。
  4. 如要找出特定使用者,您可以按照下列方式篩選及排序清單:

    • 如要篩選清單,請在「Filter」(篩選條件) 欄位中輸入屬性和值。
    • 如要排序清單,請選取要排序的欄標題。舉例來說,如要依使用者名稱排序,請選取「Name」(名稱) 欄標題。

API

如要查看 Gemini Code Assist 標準版或企業版授權指派情形,請使用 billingAccounts.orders.licensePool.enumerateLicensedUsers 方法。

  1. 確認您對帳單帳戶具備 consumerprocurement.licensePools.enumerateLicensedUsers IAM 權限,該帳戶包含您要查看授權指派項目的授權集區。

  2. 使用 cURL 呼叫方法:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://cloudcommerceconsumerprocurement.googleapis.com/v1/billingAccounts/BILLING_ACCOUNT_ID/orders/ORDER_ID/licensePool:enumerateLicensedUsers/"
    

    更改下列內容:

    • PROJECT_ID:專案 ID。與 API 要求相關聯的配額用量和費用會計入這項專案。
    • BILLING_ACCOUNT_ID:與授權集區相關聯的 帳單帳戶 ID。
    • ORDER_ID:訂單 ID。如果您不知道訂單 ID,可以列出與帳單帳戶相關聯的訂單來擷取 ID。

如果指令執行成功,則會傳回 licensedUsers 輸出內容,格式如下:

{
  "licensedUsers": [
      {
          "username": "dana@example.com",
          "assignTime": "2024-09-26T16:24:40.559222Z"
      },
      {
          "username": "lee@example.com",
          "assignTime": "2024-09-26T16:24:40.559222Z"
      },
      {
          "username": "taylor@example.com",
          "assignTime": "2024-09-26T16:24:40.559222Z"
      },
      {
          "username": "bola@example.com",
          "assignTime": "2024-09-26T16:24:14.610828Z"
      }
  ]
}

如果沒有 Gemini Code Assist 標準版 或 企業版 授權指派作業,或 ORDER_ID 無效,則會以下列格式傳回 licensedUsers 輸出內容:

{}

自動指派 Gemini Code Assist 標準版和 Enterprise 版授權

自動指派授權功能僅適用於 VS Code、IntelliJ 和其他支援的 JetBrains IDE。

如果選擇自動指派 Gemini Code Assist 標準版或企業版的授權,就無法在該帳戶下移除或新增個別使用者授權。如果使用者已獲派授權,但未曾使用任何 Gemini Code Assist 標準版或企業版功能,系統會在管理員設定的閒置期結束後,自動取消佈建。

  1. 前往 Google Cloud 控制台的「Gemini 管理」頁面。

    前往 Gemini 管理頁面

  2. 依序選取「Manage Gemini Code Assist」(管理 Gemini Code Assist) 和「Manage Subscription」(管理訂閱方案)。

  3. 依序選取「License Management」(授權管理) 和「Enable Automatic License Assignment」(啟用自動指派授權功能)。系統會隨即顯示「Enable automatic licenses」(啟用自動授權) 對話方塊。

    如果將這個訂閱項目切換為自動指派授權,變更後就會關閉手動指派授權功能,但現有的授權指派不受影響。

  4. 設定指派對象閒置多久後,系統會取消指派授權,然後選取「確認變更」。系統會顯示「已啟用自動指派授權功能」對話方塊。

    如果您設定在閒置 T 天後取消指派,系統會在 第 T+1 天 自動取消指派授權,並將授權放回授權集區。舉例來說,如果您將取消指派的閒置天數設為 7 天,系統就會在第 8 天取消指派授權,並將授權放回授權集區。

  5. 選取「關閉」。

  6. 請務必將 Gemini for Google Cloud 使用者和服務使用情形消費者 IAM 角色授予授權使用者。

    如果使用者具備 cloudaicompanion.licenses.selfAssign 權限,且專案的帳單帳戶具備有效訂閱方案,並已設定自動指派授權,且帳單帳戶中的訂閱方案有可用授權,則使用者首次在專案中存取 Gemini Code Assist 標準版 或 企業版 時,會自動取得授權。

如要停用自動指派授權功能,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Gemini 管理」頁面。

    前往 Gemini 管理頁面

  2. 依序選取「管理 Gemini Code Assist」和「管理訂閱方案」。

  3. 依序選取「授權管理」和「管理自動授權指派」。系統會顯示「管理自動指派授權功能」對話方塊。

  4. 選取「停用自動授權管理功能」。

  5. 選取「確認變更」。

手動將 Gemini Code Assist 標準版和 Enterprise 版授權指派給個別使用者

手動指派授權時,您可以為個別使用者新增及移除授權。這個方法可讓您直接控管誰能存取 Gemini Code Assist,適合用於向特定使用者授予存取權。

選取下列選項之一:

控制台

  1. 確認您對擁有訂閱項目的帳單帳戶具備下列 IAM 權限:

    • billing.accounts.get
    • consumerprocurement.orders.get
    • consumerprocurement.licensePools.get
    • consumerprocurement.licensePools.enumerateLicensedUsers
    • consumerprocurement.licensePools.assign
    • resourcemanager.projects.get
  2. 前往「Gemini 管理」頁面。

    前往 Gemini 管理頁面

  3. 選取「Manage Gemini Code Assist」(管理 Gemini Code Assist),然後選取「Modify Subscription」(修改訂閱方案)。

  4. 確認您已將這個 Gemini Code Assist 標準版或企業版訂閱方案的「License Assignment」(授權指派) 設為「Manually Assign Licenses」(手動指派授權)。如果 Gemini Code Assist 標準版或 Enterprise 訂閱方案設為「自動指派授權」,您就無法管理個別授權。如果將這個帳單帳戶切換為「手動指派授權」,系統會在變更後關閉自動指派授權功能,但現有的授權指派不受影響。

  5. 選取「新增授權使用者」。使用者選取對話方塊隨即顯示。僅支援個人 Google 帳戶電子郵件地址,例如 @gmail.com、@googlegroups.com 和 Google Workspace 網域。不支援員工身分聯盟 (BYOID)。

  6. 選取「新增授權使用者」。

  7. 確認您已將 Gemini for Google Cloud 使用者和服務使用情形消費者 IAM 角色授予授權使用者。

API

如要指派 Gemini Code Assist 標準版和企業版授權,請使用 billingAccounts.orders.licensePool.assign 方法。

  1. 確認您在帳單帳戶中具備下列 IAM 權限,該帳戶包含您要指派授權的授權集區:
  • billing.accounts.get
  • consumerprocurement.licensePools.assign
  • consumerprocurement.licensePools.get
  • consumerprocurement.licensePools.unassign
  • consumerprocurement.orders.get
  1. 建立含有以下資訊的 JSON 檔案:

    {
      "usernames": [
        USER_EMAILS
      ]
    }
    

    將 USER_EMAILS 替換為要指派授權的使用者帳戶清單 (以半形逗號分隔),例如 "dana@example.com", "lee@example.com"。僅支援個人 Google 帳戶電子郵件地址,例如 @gmail.com、@googlegroups.com 和 Google Workspace 網域。不支援員工身分聯盟 (BYOID)。

  2. 使用 cURL 呼叫方法:

    curl -X POST --data-binary @JSON_FILE_NAME \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    -H "Content-Type: application/json" \
    "https://cloudcommerceconsumerprocurement.googleapis.com/v1/billingAccounts/BILLING_ACCOUNT_ID/orders/ORDER_ID/licensePool:assign/"

    更改下列內容:

    • JSON_FILE_NAME:您在步驟 2 建立的 JSON 檔案路徑。
    • PROJECT_ID:專案 ID。與 API 要求相關聯的配額用量和費用會計入這項專案。
    • BILLING_ACCOUNT_ID:與授權集區相關聯的 帳單帳戶 ID。
    • ORDER_ID:訂單 ID。如果您不知道訂單 ID,可以列出與帳單帳戶相關聯的訂單來擷取 ID。

如果成功,回應會與下列內容相似:

{}

如要確認指派作業,請查看指派作業清單。

接著,確認您已將 Gemini for Google Cloud 使用者和服務使用情形消費者 IAM 角色授予授權使用者。

手動取消指派 Gemini Code Assist 標準版和 Enterprise 版授權

選取下列選項之一:

控制台

  1. 確認您對擁有訂閱項目的帳單帳戶具備下列 IAM 權限:

    • billing.accounts.get
    • consumerprocurement.orders.get
    • consumerprocurement.licensePools.get
    • consumerprocurement.licensePools.enumerateLicensedUsers
    • consumerprocurement.licensePools.unassign
    • resourcemanager.projects.get
  2. 前往「Gemini 管理」頁面。

    前往 Gemini 管理頁面

  3. 依序選取「管理 Gemini Code Assist」和「管理訂閱方案」。

  4. 依序選取「授權管理」和「管理自動授權指派」。系統會顯示「管理自動指派授權功能」對話方塊。

  5. 選取要取消指派授權的使用者,然後選取「Unassign License」(取消指派授權)。

  6. 選取「確認」。

API

如要取消指派 Gemini Code Assist 標準版和企業版授權,請使用 billingAccounts.orders.licensePool.unassign 方法。

  1. 如要執行這項工作,您必須具備帳單帳戶的 consumerprocurement.licensePools.unassign Identity and Access Management (IAM) 權限,且該帳戶包含您要取消指派授權的授權集區。

  2. 建立含有以下資訊的 JSON 檔案:

    {
      "usernames": [
        USER_EMAILS
      ]
    }
    

    將 USER_EMAILS 替換為獲派授權的使用者帳戶清單 (以半形逗號分隔),例如 "dana@example.com", "lee@example.com"。

  3. 使用 cURL 呼叫方法:

    curl -X POST --data-binary @JSON_FILE_NAME \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    -H "Content-Type: application/json" \
    "https://cloudcommerceconsumerprocurement.googleapis.com/v1/billingAccounts/BILLING_ACCOUNT_ID/orders/ORDER_ID/licensePool:unassign/"

    更改下列內容:

    • JSON_FILE_NAME:您在步驟 2 建立的 JSON 檔案路徑。
    • PROJECT_ID:專案 ID。與 API 要求相關聯的配額用量和費用會計入這項專案。
    • BILLING_ACCOUNT_ID:與授權集區相關聯的 帳單帳戶 ID。
    • ORDER_ID:訂單 ID。如果您不知道訂單 ID,可以列出與帳單帳戶相關聯的訂單來擷取 ID。

如果成功,回應會與下列內容相似:

{}

如要確認是否已取消指派,請查看指派項目清單。

轉移 Gemini Code Assist 標準版和企業版授權

Gemini Code Assist 標準版和企業版授權無法直接在使用者之間轉移。請改為取消指派使用者的授權,然後將授權指派給新使用者。

禁止跨組織使用授權

Gemini Code Assist 標準版和企業版授權是指派給個別使用者,而非組織或專案,因此個別使用者可在多個組織使用 Gemini Code Assist 標準版和企業版。

Gemini Code Assist 使用情形產生的任何記錄,都會儲存在發生使用情形的專案中,而非授權對象。此外,Gemini Code Assist 的任何自訂或設定 (例如自訂程式碼) 都是在專案層級完成,而非授權或訂閱層級。

某些大型組織可能不希望組織內的開發人員在特定專案中使用 Gemini Code Assist 標準版或企業版,例如特定專案有不同的帳單帳戶,或不同專案與不同客戶相關聯,而這些客戶有不同的租戶和工具。

在這種情況下,為防止在專案中跨組織使用 Gemini Code Assist 標準版和企業版,您可以採取下列任一做法:

限制