在使用 Gemini Code Assist Standard 和 Enterprise 之前,贵组织中的每个用户都需要获得许可。
默认情况下,如果是新订阅,您就需要手动分配许可。为 Gemini for Google Cloud 产品设置完毕后,您可以选择手动或自动分配许可。
准备工作
- 确保您拥有 Billing Account Administrator (
roles/billing.admin
) 或 Consumer Procurement Order Administrator (roles/consumerprocurement.orderAdmin
) IAM 角色,以便您可以授予结算账号执行以下部分中详述的特定许可管理任务所需的额外权限。
- 如果您想使用 API(而非 Google API 控制台)管理许可,请确保满足以下条件:
- 为您的结算账号设置配额项目。
- 在配额项目中启用 Cloud Commerce Consumer Procurement API。
- 确保所有 API 调用都包含以下标头键值对:
Authorization
:来自 Google Cloud CLI 的 Google Cloud 访问令牌x-goog-user-project
:您的配额项目的 ID
更改订阅中 Gemini Code Assist Standard 和 Enterprise 许可数量
您可以直接通过 API 控制台,或通过您的 Google 客户代表或授权经销商,添加或移除 Gemini for Google Cloud 许可数量。
如需更改订阅中的许可数量,请按以下步骤操作:
确保您对拥有订阅的结算账号拥有以下 Identity and Access Management 权限:
billing.accounts.get
consumerprocurement.orders.get
consumerprocurement.orders.modify
resourcemanager.projects.get
在 API 控制台中,前往 Gemini 管理中心页面。
选择要更改的订阅,然后选择修改订阅。
输入您想要购买的许可数量。系统会显示以下信息:
- 购买后总共拥有的许可数。
- 购买后可分配的许可数。
- 每期新订阅价格。添加的许可的额外费用将按比例计算,具体取决于当前期限的剩余时间。
选择保存。
查看 Gemini Code Assist Standard 和 Enterprise 许可分配
从下列选项中选择一项:
控制台
确保您对拥有订阅的结算账号拥有以下 IAM 权限:
billing.accounts.get
consumerprocurement.orders.get
consumerprocurement.licensePools.get
consumerprocurement.licensePools.enumerateLicensedUsers
resourcemanager.projects.get
进入 Gemini 管理中心页面,选择与您的结算账号关联的项目,该项目需包含 Gemini Code Assist Standard 或 Enterprise 订阅。
选择要更改的订阅,然后选择修改订阅。
对于已分配许可的每位用户,系统会提供以下信息:
- 姓名。
- 电子邮件。
- 许可分配日期。
- 上次使用该许可的日期和时间。
如需查找特定用户组,您可以按如下方式过滤和排序列表:
- 如需过滤列表,请在过滤条件字段中输入属性和值。
- 如需对列表进行排序,请选择要作为排序依据的列的标题。例如,如需按用户名按字母顺序排序,请选择名称列标题。
API
如需查看 Gemini Code Assist Standard 或 Enterprise 许可分配情况,请使用 billingAccounts.orders.licensePool.enumerateLicensedUsers
方法。
确保您对包含您要查看其许可分配的许可池的结算账号拥有
consumerprocurement.licensePools.enumerateLicensedUsers
IAM 权限。使用
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 Standard 或 Enterprise 许可分配,或者 ORDER_ID
无效,则会以以下格式返回 licensedUsers
输出:
{}
手动将 Gemini Code Assist Standard 和 Enterprise 许可分配给各个用户
从下列选项中选择一项:
控制台
确保您对拥有订阅的结算账号拥有以下 IAM 权限:
billing.accounts.get
consumerprocurement.orders.get
consumerprocurement.licensePools.get
consumerprocurement.licensePools.enumerateLicensedUsers
consumerprocurement.licensePools.assign
resourcemanager.projects.get
前往 Gemini 管理中心页面。
选择管理 Gemini Code Assist,然后选择修改订阅。
对于此 Gemini Code Assist Standard 或 Enterprise 订阅,请务必将许可分配设置为手动分配许可。如果 Gemini Code Assist Standard 或 Enterprise 订阅设置为自动分配许可,则您无法管理各个许可。将此结算账号切换为手动分配许可后,系统会在更改后停用自动分配许可功能,但现有的许可分配不受影响。
选择分配许可。系统会显示“用户选择”对话框。如需搜索特定用户,请输入其电子邮件地址,然后选择下一步。
选择分配许可。
请确保您向已获许可的用户授予 Gemini for Google Cloud User 和 Service Usage Consumer IAM 角色。
API
如需分配 Gemini Code Assist Standard 和 Enterprise 许可,请使用 billingAccounts.orders.licensePool.assign
方法。
确保您对包含您要分配许可的许可池的结算账号拥有以下 IAM 权限:
billing.accounts.get
consumerprocurement.licensePools.assign
consumerprocurement.licensePools.get
consumerprocurement.licensePools.unassign
consumerprocurement.orders.get
创建一个包含以下信息的 JSON 文件:
{ "usernames": [ USER_EMAILS ] }
将
USER_EMAILS
替换为要分配许可的用户账号的逗号分隔列表,例如"dana@example.com", "lee@example.com"
。使用
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 User 和 Service Usage Consumer IAM 角色。
自动分配 Gemini Code Assist Standard 和 Enterprise 许可
您可以通过许可分配页面,为组织中需要访问 Gemini Code Assist Standard 或 Enterprise 的任何用户自动分配许可。您可以为每个订阅单独设置自动分配许可功能。
自动许可分配仅在 VS Code、IntelliJ 和其他受支持的 JetBrains IDE 中受支持:
如果您选择为 Gemini Code Assist Standard 或 Enterprise 自动分配许可,则无法单独添加或移除该账号下的用户许可。已分配许可但未使用任何 Gemini Code Assist Standard 或 Enterprise 功能的用户,在管理员设定的非活跃天数后,将在结算周期结束时自动取消配置许可。
在 API 控制台中,前往 Gemini 管理中心页面。
选择管理 Gemini Code Assist,然后选择管理订阅。
选择许可管理,然后选择启用自动分配许可。此时会显示启用自动许可对话框。
将此订阅切换为自动分配许可后,系统将停用手动分配功能,但已存在的许可分配不受影响。
设置在分配对象处于非活跃状态时解除分配许可的时间长度,然后选择确认更改。系统随即会显示已启用自动分配许可功能对话框。
选择关闭。
请确保您向已获许可的用户授予 Gemini for Google Cloud User 和 Service Usage Consumer IAM 角色。
拥有
cloudaicompanion.licenses.selfAssign
权限的用户在首次访问由结算账号支付的项目中的 Gemini Code Assist Standard 或 Enterprise 时,如果该结算账号拥有有效订阅且已配置为自动分配许可,并且该结算账号中的订阅包含可用许可,则会自动收到许可。
如需停用自动许可分配功能,请按以下步骤操作:
在 API 控制台中,前往 Gemini 管理中心页面。
选择管理 Gemini Code Assist,然后选择管理订阅。
选择许可管理,然后选择管理自动分配许可功能。系统会显示管理自动分配许可功能对话框。
选择停用自动许可管理。
选择确认更改。
手动取消分配 Gemini Code Assist Standard 和 Enterprise 许可
从下列选项中选择一项:
控制台
确保您对拥有订阅的结算账号拥有以下 IAM 权限:
billing.accounts.get
consumerprocurement.orders.get
consumerprocurement.licensePools.get
consumerprocurement.licensePools.enumerateLicensedUsers
consumerprocurement.licensePools.unassign
resourcemanager.projects.get
前往 Gemini 管理中心页面。
选择管理 Gemini Code Assist,然后选择管理订阅。
选择许可管理,然后选择管理自动分配许可功能。系统会显示管理自动分配许可功能对话框。
选择要取消分配许可的用户,然后选择取消分配许可。
选择确认。
API
如需取消分配 Gemini Code Assist Standard 和 Enterprise 许可,请使用 billingAccounts.orders.licensePool.unassign
方法。
如需执行此任务,您必须拥有包含您打算取消分配许可的许可池的结算账号的
consumerprocurement.licensePools.unassign
Identity and Access Management 权限。创建一个包含以下信息的 JSON 文件:
{ "usernames": [ USER_EMAILS ] }
将
USER_EMAILS
替换为分配了许可的用户账号的逗号分隔列表,例如"dana@example.com", "lee@example.com"
。使用
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 Standard 和 Enterprise 许可
Gemini Code Assist Standard 和 Enterprise 许可无法直接在用户之间转让。而是需要取消分配许可,然后再将许可分配给新用户。
防止跨组织使用许可
Gemini Code Assist Standard 和 Enterprise 许可分配给个人用户,而不是组织或项目,因此个人用户可以在多个组织中使用 Gemini Code Assist Standard 和 Enterprise。
任何通过 Gemini Code Assist 使用生成的日志都与使用发生的项目相关联,而非与被许可人相关联。此外,对 Gemini Code Assist 进行的任何自定义或配置(例如代码自定义)都是在项目级别进行,而不是在许可或订阅级别进行。
如需进一步防止在项目中跨组织使用 Gemini Code Assist Standard 和 Enterprise,您可以执行以下任一操作:
- 在项目中停用 Gemini for Google Cloud API。
- 使用权限来拒绝用户访问项目。
限制
- Gemini for Google Cloud 许可管理功能不支持员工身份联合。