Gemini Code Assist Standard ライセンスと Enterprise ライセンスを管理する

Gemini Code Assist Standard と Enterprise を使用するには、組織内の各ユーザーにライセンスが必要です。

新しいサブスクリプションの場合、デフォルトでは、ライセンスを手動で割り当てる必要があります。特定の Gemini for Google Cloud プロダクトを設定したら、ライセンスの割り当ては手動自動かを選ぶことができます。

関連する請求先アカウントにリンクされているプロジェクトにアクセスできるユーザーには、ライセンスを割り当てることができます。ライセンスをユーザーに割り当てると、ユーザーは任意のプロジェクトで Gemini Code Assist を使用できます。

始める前に

サブスクリプション内の Gemini Code Assist Standard ライセンスと Enterprise ライセンスの数を変更する

Gemini for Google Cloud ライセンスの数は、API コンソール、Google アカウント担当者、正規販売パートナーから直接追加または削除できます。

サブスクリプションのライセンス数を変更する手順は次のとおりです。

  1. サブスクリプションを所有する請求先アカウントに対して、次の Identity and Access Management 権限があることを確認します。

    • billing.accounts.get
    • consumerprocurement.orders.get
    • consumerprocurement.orders.modify
    • resourcemanager.projects.get
  2. API コンソールで、[Gemini の管理] ページに移動します。

    [Gemini for Google Cloud] に移動

  3. 変更するサブスクリプションを選択して、[サブスクリプションを変更] を選択します。トライアル期間が有効な場合は、このボタンは [自動更新を無効にする] と表示されます。

  4. 必要なライセンス数を入力します。次の情報が表示されます。

    • 購入後の合計ライセンス数。
    • 購入後に割り当て可能なライセンス数。
    • 期間ごとの新しいサブスクリプションの料金。追加されるライセンスの追加料金は、現在の期間の残り日数に基づいて按分されます。
  5. [保存] を選択します。

Gemini Code Assist Standard ライセンスと Enterprise ライセンスの割り当てを表示する

次のオプションのいずれかを選択します。

コンソール

  1. サブスクリプションを所有する請求先アカウントに対して、次の IAM 権限があることを確認します。

    • billing.accounts.get
    • consumerprocurement.orders.get
    • consumerprocurement.licensePools.get
    • consumerprocurement.licensePools.enumerateLicensedUsers
    • resourcemanager.projects.get
  2. [Gemini の管理] ページに移動し、Gemini Code Assist Standard または Enterprise サブスクリプションの請求先アカウントに関連付けられているプロジェクトを選択します。

    [Gemini for Google Cloud] に移動

  3. 変更するサブスクリプションを選択して、[サブスクリプションを変更] を選択します。

    ライセンスが割り当てられている各ユーザーについて、次の情報を確認できます。

    • 名前。
    • メール。
    • ライセンスが割り当てられた日付。
    • ライセンスが最後に使用された日時。
  4. 特定のユーザーセットを検索するには、次のようにリストをフィルタして並べ替えます。

    • リストをフィルタするには、[フィルタ] フィールドにプロパティと値を入力します。
    • リストを並べ替えるには、並べ替えるキーの列見出しを選択します。たとえば、ユーザー名をアルファベット順に並べ替えるには、[名前] 列の見出しを選択します。

API

Gemini Code Assist Standard または Enterprise のライセンスの割り当てを表示するには、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 がわからない場合は、請求先アカウントに関連付けられているオーダーのリストを表示して取得できます。

このコマンドが成功すると、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 ライセンスを個々のユーザーに手動で割り当てる

次のオプションのいずれかを選択します。

コンソール

  1. サブスクリプションを所有する請求先アカウントに対して、次の IAM 権限があることを確認します。

    • billing.accounts.get
    • consumerprocurement.orders.get
    • consumerprocurement.licensePools.get
    • consumerprocurement.licensePools.enumerateLicensedUsers
    • consumerprocurement.licensePools.assign
    • resourcemanager.projects.get
  2. [Gemini の管理] ページに移動します。

    [Gemini for Google Cloud] に移動

  3. [Gemini Code Assist を管理]、[サブスクリプションを変更] の順に選択します。

  4. この Gemini Code Assist Standard または Enterprise サブスクリプションの [ライセンスの割り当て] が [ライセンスを手動で割り当てる] に設定されていることを確認します。Gemini Code Assist Standard または Enterprise サブスクリプションが [ライセンスを自動的に割り当てる] に設定されている場合、個々のライセンスを管理することはできません。この請求先アカウントを [Manually Assign Licenses] に切り替えると、変更後にライセンスの自動割り当てが無効になりますが、既存のライセンス割り当てには影響しません。

  5. [ライセンスがあるユーザーの追加] を選択します。ユーザー選択のダイアログが表示されます。@gmail.com@googlegroups.com、Google Workspace ドメインなど、個人の Google アカウントのメールアドレスのみがサポートされています。Workforce Identity 連携(BYOID)はサポートされていません。

  6. [ライセンスがあるユーザーの追加] を選択します。

  7. ライセンス取得ユーザーに対して、Gemini for Google Cloud ユーザーと Service Usage ユーザーの IAM ロールを付与します。

API

Gemini Code Assist Standard と Enterprise のライセンスを割り当てるには、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")。@gmail.com@googlegroups.com、Google Workspace ドメインなど、個人の Google アカウントのメールアドレスのみがサポートされています。Workforce Identity 連携(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 がわからない場合は、請求先アカウントに関連付けられているオーダーの一覧を表示して取得できます。

成功すると、レスポンスは次のようになります。

{}

割り当てを確認するには、割り当てのリストを表示します。

次に、ライセンス取得ユーザーに対して、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 の機能を使用していないユーザーは、管理者が設定した非アクティブ期間の終了時に自動的にプロビジョニング解除されます。

  1. API コンソールで、[Gemini の管理] ページに移動します。

    [Gemini for Google Cloud] に移動

  2. [Gemini Code Assist を管理]、[サブスクリプションを管理] の順に選択します。

  3. [ライセンスの管理]、[ライセンスの自動割り当てを有効にする] の順に選択します。[Enable automatic licenses] ダイアログが表示されます。

    このサブスクリプションをライセンスの自動割り当てに切り替えると、変更後にライセンスの手動割り当てが無効になりますが、既存のライセンス割り当てには影響しません。

  4. 割り当て先がアクティブでない場合の、ライセンスの割り当て解除までの時間を設定し、[変更を確認] を選択します。[ライセンスの自動割り当てが有効になりました] ダイアログが表示されます。

    割り当て解除までの非アクティブ期間を T 日に構成した場合、ライセンスは自動的に割り当て解除され、T+1 日目にライセンス プールで使用可能になります。たとえば、割り当て解除までの非アクティブ期間を 7 日に構成した場合、ライセンスは 8 日目に割り当て解除され、ライセンス プールで使用可能になります。

  5. [閉じる] を選択します。

  6. ライセンス取得ユーザーに対して、Gemini for Google Cloud ユーザーと Service Usage ユーザーの IAM ロールを付与します。

    cloudaicompanion.licenses.selfAssign 権限を持つユーザーは、ライセンスの自動割り当てが構成された有効なサブスクリプションと請求先アカウントのサブスクリプションで利用可能なライセンスがある、請求先アカウントで支払われたプロジェクトで Gemini Code Assist Standard または Enterprise に初めてアクセスしたときに、ライセンスを自動的に受け取ります。

ライセンスの自動割り当てを無効にする手順は次のとおりです。

  1. API コンソールで、[Gemini の管理] ページに移動します。

    [Gemini for Google Cloud] に移動

  2. [Gemini Code Assist を管理]、[サブスクリプションを管理] の順に選択します。

  3. [ライセンス管理]、[ライセンスの自動割り当てを管理する] の順に選択します。[ライセンスの自動割り当てを管理する] ダイアログが表示されます。

  4. [自動ライセンス管理を無効にする] を選択します。

  5. [変更を確認] を選択します。

Gemini Code Assist Standard ライセンスと Enterprise ライセンスの割り当てを手動で解除する

次のオプションのいずれかを選択します。

コンソール

  1. サブスクリプションを所有する請求先アカウントに対して、次の IAM 権限があることを確認します。

    • billing.accounts.get
    • consumerprocurement.orders.get
    • consumerprocurement.licensePools.get
    • consumerprocurement.licensePools.enumerateLicensedUsers
    • consumerprocurement.licensePools.unassign
    • resourcemanager.projects.get
  2. [Gemini の管理] ページに移動します。

    [Gemini for Google Cloud] に移動

  3. [Gemini Code Assist を管理]、[サブスクリプションを管理] の順に選択します。

  4. [ライセンス管理]、[ライセンスの自動割り当てを管理する] の順に選択します。[ライセンスの自動割り当てを管理する] ダイアログが表示されます。

  5. ライセンスの割り当てを解除するユーザーを選択して、[ライセンスの割り当てを解除する] を選択します。

  6. [確認] を選択します。

API

Gemini Code Assist Standard と Enterprise のライセンスの割り当てを解除するには、billingAccounts.orders.licensePool.unassign メソッドを使用します。

  1. このタスクを行うには、ライセンスの割り当てを解除するライセンス プールを含む請求先アカウントに対する consumerprocurement.licensePools.unassign Identity and Access Management 権限が必要です。

  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 がわからない場合は、請求先アカウントに関連付けられているオーダーの一覧を表示して取得できます。

成功すると、レスポンスは次のようになります。

{}

割り当てが解除されたことを確認するには、割り当てのリストを表示します。

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 を無効にする。
  • 権限を使用して、ユーザーによるプロジェクトへのアクセスを拒否する。

制限事項