跳至主要內容
ESC
Study Jam:Gemini 專業應用 — 第 2/7 篇

Gemini Code Assist 組織導入:先管授權與資料

Gemini Code Assist 組織導入:先管授權與資料

課程概述

一個人裝 IDE 擴充套件,和公司正式導入 Gemini Code Assist,是兩件不同的事。企業要處理訂閱、License、Project、IAM、私有程式碼索引、Logging、網路邊界和離職回收,還要先說清楚哪些程式碼能提供、哪些變更不能只靠 AI Review。

最容易搞混的是資源邊界:訂閱屬於 Billing Account,License 指派給個人,API、設定、Logging 和 Code customization 落在 Project。License 不是綁在單一 Project;如果沒有另外限制,已取得 License 的人可能在同一組織管理的其他 Project 使用它。

組織級 Gemini Code Assist 治理:Billing Account 管訂閱與授權池,專案管理 API、設定與日誌,開發群組透過最小 IAM 取得使用權;私有程式碼索引只納入核准 Repository 和分支,建議時依 Repository Group 權限取回脈絡

大規模導入先畫清楚 Billing、License、Project、身分和 Repository 邊界,再決定功能。採用率、品質與風險可以集中觀測,但不要為了統計把不必要的原始碼和 Prompt 全部留下來。

你將學到

  • 分辨訂閱、License、Project 與 IAM 各自負責什麼
  • 用群組和最小權限管理開發者、管理員與 Repository 存取
  • 正確設定可選的 Prompt/Response 與 Metadata Logging
  • 用 Code customization 索引核准的私有程式碼,不把整個組織全納入
  • 透過 Pilot、成功指標與回收流程逐步擴大使用

企業設定不是一條「組織層級啟用」指令

比較可靠的順序是:

  1. 在 Billing Account 購買 Standard 或 Enterprise 訂閱,決定 License 數量與自動/手動指派
  2. 選定用來承接 Gemini Code Assist 設定的 Google Cloud Project,啟用 Gemini for Google Cloud API
  3. 在該 Project 讓使用者取得 roles/cloudaicompanion.user 或等效的最小自訂權限
  4. 確認使用者選到與訂閱 Billing Account 關聯的 Project,並成功取得或被指派 License
  5. 依需要設定 Release channel、Logging、VPC Service Controls 與 Enterprise Code customization

不建議把 User 或 Admin 角色直接授予整個 Organization 再說。先用 Google Group 管 Pilot 使用者,把權限落在明確 Project;通過資料與支援驗證後再分批擴大。

Gemini Code Assist 企業分階段導入:定義範圍與資料政策、建立群組與最小權限、啟用服務、進行小型 Pilot、驗證控制後分批擴大並持續治理

Pilot 要包含不同語言、Repository 與風險等級的代表性團隊。登入成功只是第一關,還要驗證資料邊界、建議品質、Logging、支援流程和 License 回收。

角色要依工作拆開

工作常見角色或權限建議做法
使用 Code Assistroles/cloudaicompanion.user授予開發群組所在 Project,不和管理權綁在一起
購買/調整訂閱Billing Admin,或 Consumer Procurement Order Admin + Billing Viewer只給負責採購與 Billing 的管理員
管理 Code customization 索引roles/cloudaicompanion.codeRepositoryIndexesAdmin由平台團隊管理索引,不等於能使用所有 Repository Group
使用 Repository Group 建議roles/cloudaicompanion.repositoryGroupsUser授在特定 Repository Group,對應實際程式碼權限
管理 Gemini 設定roles/cloudaicompanion.settingsAdmin,另需必要的 Service Usage 權限若只管 Logging,優先建立更窄的自訂角色

License 不能直接從一個人轉給另一個人;要先 Unassign 再 Assign。離職、轉組和承包商到期都應接進 Identity lifecycle,而不是等 License 不夠才人工清查。

Code customization 是索引,不是模型重新訓練

Enterprise 的 Code customization 會透過 Developer Connect 連到核准的 GitHub、GitLab 或 Bitbucket Repository,建立可檢索索引,讓 IDE 建議參考內部 API、Library 和 Style。它不是把公司程式碼拿去重新訓練基礎模型。

Gemini Code Assist 程式碼自訂化治理:管理員核准儲存庫與分支,套用最小權限和排除規則後建立可更新索引,開發者查詢只檢索受 Repository Group 邊界約束的相關脈絡

索引品質取決於來源是否核准、Developer Connect 身分是否夠窄、.aiexclude 是否排除 Secret 和不必要路徑,以及 Repository Group 權限是否跟實際團隊一致。

設定前要確認目前限制,例如每個 Project/Organization 的 Index 數量、支援語言、Repository 上限和 Developer Connect 地區。刪掉 Repository 存取權後,也要驗證索引與使用者權限已同步生效。

Logging 不是預設「全部互動都進 Audit Logs」

Gemini Code Assist Standard/Enterprise 是 Stateless 服務,預設不在 Google Cloud 儲存 Prompt 與 Response。管理員可以另外啟用 Cloud Logging,選擇記錄 IDE 的 Prompt/Response 或 Metadata;Code Assist on GitHub 目前不支援這套 Logging。

這裡要先做資料決策:

  • 真的需要保存完整 Prompt、Context 和 Response,還是只要採用行數、延遲等 Metadata?
  • Log Bucket 放哪個 Project、誰能讀、保留多久、是否需要 CMEK?
  • Secret、客戶資料或 Source code 進 Log 前怎麼遮蔽?
  • 多 Project 集中 Logging 時,如何維持資料 Owner、成本和刪除責任?

Google 說明不會在未取得許可下,用客戶資料訓練模型;但處理地區通常接近請求來源,不保證固定區域。如果組織有 Data residency 要求,不能把「Google Cloud 服務」直接等同於「一定在指定 Region 處理」。

成本看 License,不要拿 API 呼叫量硬湊

Standard/Enterprise 主要以訂閱和 License 管理。管理員應追蹤已購買、已指派、最後使用時間和即將到期的 License,而不是把 cloudaicompanion.googleapis.com 呼叫量當成每位開發者的實際費用。

使用成效也不應只看接受建議次數。比較有用的組合是:Lead time、Review 退回率、缺陷逃逸率、測試覆蓋、開發者回饋,以及是否出現 Secret、授權或越權事件。

企業導入不是一次把 API 打開。訂閱、License、Project、資料記錄和私有程式碼索引各有不同 Owner;每擴一批人,都應重新檢查控制和實際品質。

實作重點

  • 使用 Admin for Gemini 管理訂閱和 License,不要假設一個 Organization IAM Binding 能完成所有設定
  • 預設自動 License assignment 前,先確認 cloudaicompanion.licenses.selfAssign 的授權範圍
  • Code customization 同時管理 Index、Repository Group、Developer Connect Connection 和 .aiexclude
  • VPC Service Controls 會擋住 Perimeter 外的 IDE;公司筆電若在外部,要先設計 Ingress 與 Access Level
  • Logging 是可選設定,啟用前先決定完整內容、Metadata、保存期限與讀取權限
  • 定期列出 License 最後使用時間,回收閒置和離職帳號,但保留必要稽核證據

Skill Badge 指引

Lab 連結Gemini for Google Cloud: Code Assist for Organizations — Google Cloud Skills Boost

做 Lab 時把每一步標成 Billing Account、Project、User 或 Repository Group 資源。這樣回公司實作時,比較不會把訂閱管理權交給 Code Index 管理員,也不會把使用者角色誤授到整個組織。

延伸學習

Study Jam:Gemini 專業應用 — 2/7 完成 查看系列全覽 →

留言討論

徽章解鎖!