Gemini CLIを使い始める際の認証手順
Gemini CLIは、コマンドラインやターミナルと呼ばれる「Command Line Interface」でGemini 2.5 Proを使って様々なことをできるようにしたツールです。Node.jsがインストールされていれば、
$ npm install -g @google/gemini-cli@latest
で簡単にインストールできます。しかし、使い始める際の認証手順でつまずいてしまう方が結構います。僕も最初は「なんでエラーになっちゃうの?」と数日悩んだ経験があります。
そこでこのエントリでは、どんな認証方式があるのか、そしてそれぞれの認証方式の手順はどんなものなのか、をまとめてみました。Gemini CLIを使い始めたら、あっという間に手放すことができない状態になります。快適なGemini CLIライフをさっさと始めるためにも、ぜひ参考になればと思います。
提供される認証方式
Gemini CLIで利用することができる認証方式は、以下があります。
- Googleアカウントを使用したOAuthログイン
- Gemini APIキー
- Vertex AI
- Cloud Shell
これらは全く同じ条件で利用できるのかというと、残念ながら違います。適用される利用規約やプライバシーポリシーが違ってきます。
個人用Googleアカウントの場合
これは主に無料サービスとしての利用を想定しています。プロンプト、回答、および関連するコードは収集され、モデルのトレーニングを含むGoogle製品の改善のために利用される可能性があります。「利用統計(Usage Statistics)」設定が有効になっている場合、匿名テレメトリーに加えて、プロンプトと回答(コードを含む)もモデル改善のために収集されます。
Google Workspaceアカウントの場合
これは組織による有料ライセンスを想定しています。プロンプト、回答、および関連するコードは収集されず、モデルのトレーニングには利用されません。入力は機密情報として扱われます。「利用統計」設定は、匿名テレメトリーの収集のみを制御します。プロンプトと回答(コードを含む)は、この設定に関わらず一切収集されません。
Gemini APIキー(無料サービス)の場合
プロンプト、回答、および関連するコードは収集され、モデルのトレーニングを含むGoogle製品の改善のために利用される可能性があります。「利用統計」設定が有効になっている場合、匿名テレメトリーに加えて、プロンプトと回答(コードを含む)もモデル改善のために収集されます。
Gemini APIキー(有料サービス)の場合
プロンプト、回答、および関連するコードは収集されず、モデルのトレーニングには利用されません。入力は機密情報として扱われます。「利用統計」設定は、匿名テレメトリーの収集のみを制御します。プロンプトと回答(コードを含む)は、この設定に関わらず一切収集されません。ただし、禁止されている利用ポリシー違反の検出、および必要な法的または規制上の開示の目的のためだけに、プロンプトと応答は限定された期間ログに記録されます。
Vertex AIによる認証の場合
これは主にエンタープライズチームや本番ワークロード向けの有料サービスです。プロンプト、回答、および関連するコードは収集されず、モデルのトレーニングには利用されません。入力は機密情報として扱われます。「利用統計」設定は、匿名テレメトリーの収集のみを制御します。プロンプトと回答(コードを含む)は、この設定に関わらず一切収集されません。
Cloud Shellの場合
Cloud Shell環境では、ログインしているユーザーの認証情報が自動的に使用されます。そのため、Cloud ShellでログインしているGoogleアカウントのタイプ(個人用またはWorkspace)によって、上記「OAuthログイン」のいずれかのポリシーが適用されることになります。
選択肢1: Googleアカウントを使用したOAuthログイン
これは、個人の開発者およびGemini Code Assistライセンスをお持ちの方に最適です。
利点
- 無料枠: 1分あたり60リクエスト、1日あたり1,000リクエスト。
- 1Mトークンのコンテキストウィンドウを持つGemini 2.5 Proへのアクセス。
- APIキーの管理が不要で、Googleアカウントでサインインするだけ。
- 最新モデルへの自動更新。
設定方法
- gemini コマンドを実行します。
- プロンプトが表示されたらブラウザ認証フローに従います。
認証情報はローカルにキャッシュされるため、次回以降はウェブログインをスキップできます。
Google Cloud Projectの設定が必要な場合
以下のいずれかの条件に合致するときは、GOOGLE_CLOUD_PROJECT 環境変数を設定する必要があります。
- Google Workspace アカウントをお持ちの場合
- Google Developer Program を通じて Gemini Code Assist ライセンスを取得した場合
- Gemini Code Assist のサブスクリプションライセンスが割り当てられている場合
- 無料の個人利用がサポートされていない地域で製品を使用している場合
- 18歳未満のGoogleアカウント保持者の場合
Google Cloud プロジェクトを作成して、 Gemini for Cloud API を有効にしてください。その後に、GOOGLE_CLOUD_PROJECT 環境変数を設定します。
- 一時的な設定: export GOOGLE_CLOUD_PROJECT=”あなたのプロジェクト名”
- 永続的な設定: .bashrc などのシェル設定ファイルに追加するか、 .gemini/.env ファイルを使用します。
選択肢2: Gemini APIキー
これは、特定のモデル制御や有料枠アクセスが必要な開発者に最適です。
利点
- Gemini 2.5 Proで1日あたり100リクエスト。
- モデルの選択が可能。
- 必要なときに上限を増やすための従量課金制にアップグレード可能。
設定方法
- Google AI Studio (https://aistudio.google.com/apikey) からAPIキーを取得します。
- GEMINI_API_KEY 環境変数を設定します。
- 一時的な設定: export GEMINI_API_KEY=”あなたのAPIキー”
- 永続的な設定: .bashrcなどのシェル設定ファイルに追加するか、.gemini/.env ファイルを使用します。
- gemini コマンドを実行します。
APIキーをシェル設定ファイルにエクスポートすると、そのシェルから実行される他のプロセスもAPIキーを読み取ることができるため、注意が必要です。
Google AI Studio (https://aistudio.google.com/apikey) からAPIキーを取得する際に、Google Cloud プロジェクトが自動的に作成されて Gemini API が有効になります。
選択肢3: Vertex AI
これは、エンタープライズチームや本番ワークフローに最適です。
利点
- エンタープライズ機能: 高度なセキュリティとコンプライアンス。
- スケーラブル: 課金アカウントで高いレート制限。
- 既存のGoogle Cloudインフラストラクチャとの統合。
設定方法
- Google Cloud ConsoleからAPIキーを取得します。
- GOOGLE_API_KEY 環境変数と GOOGLE_GENAI_USE_VERTEXAI=true を設定します。
- 一時的な設定: export GOOGLE_API_KEY=”あなたのAPIキー” と export GOOGLE_GENAI_USE_VERTEXAI=true
- 永続的な設定: シェル設定ファイルに追加するか、 .gemini/.env ファイルを使用します。
- gemini コマンドを実行します。
APIキーをシェル設定ファイルにエクスポートすると、そのシェルから実行される他のプロセスもAPIキーを読み取ることができます。また、組織の制限によりAPIキーの作成ができない場合、「API keys are not supported by this API」というエラーが発生することがあります。
- Google Cloud プロジェクトで Vertext AI API を有効にします。
- gcloud auth application-default login を実行してユーザー認証を行います。
- 以前に GOOGLE_API_KEY または GEMINI_API_KEY を設定していた場合は、unsetする必要があります。
- GOOGLE_CLOUD_PROJECT と GOOGLE_CLOUD_LOCATION 環境変数を設定する必要があります。
- 一時的な設定: export GOOGLE_CLOUD_PROJECT=”あなたのプロジェクトID” と export GOOGLE_CLOUD_LOCATION=”あなたのプロジェクトロケーション”
- 永続的な設定: シェル設定ファイルに追加するか、 .gemini/.env ファイルを使用します。
- gemini コマンドを実行します。
組織のポリシーによりAPIキーを作成できない場合や、非対話型環境で実行する場合に推奨されます。
- Google Cloud プロジェクトで Vertext AI API を有効にします。
- サービスアカウントを作成し、「Vertex AIユーザー」ロールを割り当て、JSONキーファイルをダウンロードします。
- GOOGLE_APPLICATION_CREDENTIALS 環境変数にJSONファイルの絶対パスを設定します。
- 一時的な設定: export GOOGLE_APPLICATION_CREDENTIALS=”/path/to/your/keyfile.json” 永続的な設定: シェル設定ファイルに追加します。
- gemini コマンドを実行します。
サービスアカウントの認証情報をシェル設定ファイルにエクスポートすると、そのシェルから実行される他のプロセスも認証情報を読み取ることができるため、注意が必要です。
選択肢4: Cloud Shell
これはGoogle Cloud Shell環境で実行している場合にのみ利用可能です。Cloud Shell環境にログインしているユーザーの認証情報が自動的に使用されます。他の認証方法が設定されていない場合、Cloud Shellでの実行時にはこれがデフォルトの認証方法となります。
.envファイルによる環境変数の永続化
プロジェクトディレクトリ内またはホームディレクトリ内に .gemini/.env ファイルを作成することで、環境変数を永続化できます。
Gemini CLI は、現在のディレクトリから / に向かって .gemini/.env 、.env の順で検索し、次にホームディレクトリの ~/.gemini/.env 、~/.env を検索して、最初に見つかったファイルから環境変数をロードします。複数のファイルにまたがって変数がマージされることはありません。