Gemini Code Assist Standard と Enterprise を使用するには、組織内の各ユーザーにライセンスが必要です。
新しいサブスクリプションの場合、デフォルトでは、ライセンスを手動で割り当てる必要があります。特定の Gemini for Google Cloud プロダクトを設定したら、ライセンスの割り当ては手動か自動かを選ぶことができます。
関連する請求先アカウントにリンクされているプロジェクトにアクセスできるユーザーには、ライセンスを割り当てることができます。ライセンスをユーザーに割り当てると、ユーザーは任意のプロジェクトで Gemini Code Assist を使用できます。
始める前に
次のセクションで説明する特定のライセンス管理タスクに必要な追加の権限を請求先アカウントに付与できるように、請求先アカウント管理者(
roles/billing.admin
)または消費者向け調達注文管理者(roles/consumerprocurement.orderAdmin
)の IAM ロールがあることを確認します。- Gemini Code Assist が設定されていることを確認します。
Google API Console ではなく API を使用してライセンスを管理する場合は、次の点を確認してください。
- 請求先アカウントの割り当てプロジェクトを設定します。
- 割り当てプロジェクトで Cloud Commerce Consumer Procurement API を有効にします。
- すべての API 呼び出しに次のヘッダー Key-Value ペアが存在することを確認します。
Authorization
: Google Cloud CLI の Google Cloud アクセス トークンx-goog-user-project
: 割り当てプロジェクトのプロジェクト ID
サブスクリプション内の Gemini Code Assist Standard ライセンスと Enterprise ライセンスの数を変更する
Gemini for Google Cloud ライセンスの数は、API コンソール、Google アカウント担当者、正規販売パートナーから直接追加または削除できます。
サブスクリプションのライセンス数を変更する手順は次のとおりです。
サブスクリプションを所有する請求先アカウントに対して、次の 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 がわからない場合は、請求先アカウントに関連付けられているオーダーのリストを表示して取得できます。
このコマンドが成功すると、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 サブスクリプションが [ライセンスを自動的に割り当てる] に設定されている場合、個々のライセンスを管理することはできません。この請求先アカウントを [Manually Assign Licenses] に切り替えると、変更後にライセンスの自動割り当てが無効になりますが、既存のライセンス割り当てには影響しません。
[ライセンスがあるユーザーの追加] を選択します。ユーザー選択のダイアログが表示されます。
@gmail.com
、@googlegroups.com
、Google Workspace ドメインなど、個人の Google アカウントのメールアドレスのみがサポートされています。Workforce Identity 連携(BYOID)はサポートされていません。[ライセンスがあるユーザーの追加] を選択します。
ライセンス取得ユーザーに対して、Gemini for Google Cloud ユーザーと Service Usage ユーザーの 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"
)。@gmail.com
、@googlegroups.com
、Google Workspace ドメインなど、個人の Google アカウントのメールアドレスのみがサポートされています。Workforce Identity 連携(BYOID)はサポートされていません。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 がわからない場合は、請求先アカウントに関連付けられているオーダーの一覧を表示して取得できます。
成功すると、レスポンスは次のようになります。
{}
割り当てを確認するには、割り当てのリストを表示します。
次に、ライセンス取得ユーザーに対して、Gemini for Google Cloud ユーザーと Service Usage ユーザーの 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 を管理]、[サブスクリプションを管理] の順に選択します。
[ライセンスの管理]、[ライセンスの自動割り当てを有効にする] の順に選択します。[Enable automatic licenses] ダイアログが表示されます。
このサブスクリプションをライセンスの自動割り当てに切り替えると、変更後にライセンスの手動割り当てが無効になりますが、既存のライセンス割り当てには影響しません。
割り当て先がアクティブでない場合の、ライセンスの割り当て解除までの時間を設定し、[変更を確認] を選択します。[ライセンスの自動割り当てが有効になりました] ダイアログが表示されます。
割り当て解除までの非アクティブ期間を
T
日に構成した場合、ライセンスは自動的に割り当て解除され、T+1
日目にライセンス プールで使用可能になります。たとえば、割り当て解除までの非アクティブ期間を7
日に構成した場合、ライセンスは8
日目に割り当て解除され、ライセンス プールで使用可能になります。[閉じる] を選択します。
ライセンス取得ユーザーに対して、Gemini for Google Cloud ユーザーと Service Usage ユーザーの 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 がわからない場合は、請求先アカウントに関連付けられているオーダーの一覧を表示して取得できます。
成功すると、レスポンスは次のようになります。
{}
割り当てが解除されたことを確認するには、割り当てのリストを表示します。
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 ライセンス管理は、Workforce Identity 連携をサポートしていません。