Gemini API を使用するには、リクエストを認証する必要があります。認証には、標準または認可 API キーを使用できます。
API キーのタイプ: 標準と認可
API キーは Gemini API へのアクセスを提供しますが、セキュリティ特性は異なります。Gemini API は、セキュリティを強化するために、標準の API キーから認可キーに移行しています。
- 標準 API キー: 課金と割り当てを目的として、リクエストを Google Cloud プロジェクトに関連付けます。標準キーは呼び出し元を識別しないため、サポートできる権限とアクセス制御の粒度が制限されます。
- 認可(auth)キー: Google Cloud サービス アカウントに直接バインドされます。認可キーを使用すると、リクエストはバインドされたサービス アカウントの ID で処理され、きめ細かいアクセス制御が可能になります。認証キーはデフォルトで Generative Language API(Gemini API)に制限されており、漏洩したキーの迅速な適用により、Google のシステムで検出された漏洩したキーの使用を迅速に停止します。
安全な使用を確保するため、Gemini API は標準キーから認証キーに移行します。
- 認証キーのデフォルト: Google AI Studio で作成された新しい API キーはすべて、認証キーとして自動的に作成されます。
- 2026 年 6 月 19 日: Gemini API は、制限のない標準キーからのリクエストを拒否します。明示的な制限が適用されている標準 API キーは引き続き機能します。この制限により、一般公開されている可能性のあるキーや他のサービスにリンクされている可能性のあるキーの不正使用を防ぐことができます。
- 2026 年 9 月: Gemini API は標準キーからのリクエストを拒否します。サービスの中断を避けるため、この日付より前に認証キーに移行する必要があります。2026 年 9 月までに認証鍵に移行してください。
Google AI Studio で API キーを管理する
プロジェクトとキーは Google AI Studio で直接管理できます。
Google Cloud プロジェクト
すべての Gemini API キーは Google Cloud プロジェクトに関連付けられています。Google Cloud プロジェクトは、課金、共同編集者、権限を管理します。Google AI Studio は、これらのプロジェクトにアクセスするための軽量インターフェースを提供します。
- デフォルト プロジェクト: 新規ユーザーの場合は、利用規約に同意すると、Google AI Studio によってデフォルトの Google Cloud プロジェクトと API キーが自動的に作成されます。このプロジェクトの名前を変更するには、ダッシュボードの [プロジェクト] ビューに移動します。
- 既存のプロジェクト: Google Cloud アカウントをすでに持っている場合、AI Studio はデフォルトのプロジェクトを作成しません。代わりに、既存のプロジェクトをインポートする必要があります。
プロジェクトのインポート
デフォルトでは、Google AI Studio にすべての Google Cloud プロジェクトが表示されるわけではありません。使用するプロジェクトをインポートする必要があります。
- Google AI Studio に移動します。
- 左側のパネルから [Dashboard] を開き、[Projects] を選択します。
- [プロジェクトをインポート] ボタンをクリックします。
- インポートする Google Cloud プロジェクトを検索して選択し、[インポート] をクリックします。
- インポートしたら、ダッシュボードの [API キー] ページに移動して、そのプロジェクトにキーを作成します。
鍵の作成権限のトラブルシューティング
[API キーを作成] ボタンが使用できず、「このプロジェクトでキーを作成する権限がありません」というメッセージが表示される場合は、必要な IAM 権限がありません。
Google Cloud プロジェクトまたは組織の管理者に、次の権限を含むロール(プロジェクト編集者など)の付与を依頼します。
resourcemanager.projects.get: AI Studio がプロジェクトを検証できるようにします。apikeys.keys.create: 鍵の生成を許可します。serviceusage.services.enable: Generative Language API が有効になっていることを確認します。iam.serviceAccounts.create: リンクされたサービス アカウントの作成に必要です。iam.serviceAccountApiKeyBindings.create: サービス アカウントを API キーにバインドします。
管理者権限を取得できない場合は、組織に関連付けられていない新しい Google Cloud プロジェクトを作成して、鍵を生成できます。
環境設定
キーを取得したら、アプリケーションで安全に使用できるように環境を構成します。
環境変数を使用する(推奨)
環境変数 GEMINI_API_KEY または GOOGLE_API_KEY を設定します。Gemini API クライアント ライブラリは、これらの変数を自動的に検出して使用します。両方を設定した場合は、GOOGLE_API_KEY が優先されます。
オペレーティング システムを選択して変数を設定します。
Linux/macOS - Bash
bash 構成ファイルがあるかどうかを確認します。
~/.bashrc存在しない場合は、作成して開きます。
touch ~/.bashrc && open ~/.bashrcファイルの末尾にエクスポート コマンドを追加します。
export GEMINI_API_KEY=<YOUR_API_KEY_HERE>ファイルを保存し、変更を適用します。
source ~/.bashrcmacOS - Zsh
zsh 構成ファイルがあるかどうかを確認します。
~/.zshrc存在しない場合は、作成して開きます。
touch ~/.zshrc && open ~/.zshrcエクスポート コマンドを追加します。
export GEMINI_API_KEY=<YOUR_API_KEY_HERE>ファイルを保存し、変更を適用します。
source ~/.zshrcWindows
- Windows の検索バーで「環境変数」を検索します。
- [システムのプロパティ] ダイアログで [環境変数] をクリックします。
- [ユーザー環境変数] または [システム環境変数] で [新規...] をクリックします。
- 変数名を
GEMINI_API_KEYに設定し、値を API キーに設定します。 - [OK] をクリックして保存します。新しいターミナル セッションを開いて変数を読み込みます。
コードで API キーを明示的に指定する
クライアントを初期化するときに、API キーを明示的に渡すことができます。環境変数を使用できない場合にのみ、これを行います。
Python
from google import genai
client = genai.Client(api_key="YOUR_API_KEY")
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Explain how AI works in a few words"
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: "YOUR_API_KEY" });
async function main() {
const response = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: "Explain how AI works in a few words",
});
console.log(response.text);
}
main();
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
APIKey: "YOUR_API_KEY",
Backend: genai.BackendGeminiAPI,
})
if err != nil {
log.Fatal(err)
}
result, err := client.Models.GenerateContent(
ctx,
"gemini-3.5-flash",
genai.Text("Explain how AI works in a few words"),
nil,
)
if err != nil {
log.Fatal(err)
}
fmt.Println(result.Text())
}
Java
package com.example;
import com.google.genai.Client;
import com.google.genai.types.GenerateContentResponse;
public class GenerateTextFromTextInput {
public static void main(String[] args) {
Client client = Client.builder().apiKey("YOUR_API_KEY").build();
GenerateContentResponse response =
client.models.generateContent(
"gemini-3.5-flash",
"Explain how AI works in a few words",
null);
System.out.println(response.text());
}
}
REST
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" -H 'Content-Type: application/json' -H "x-goog-api-key: YOUR_API_KEY" -X POST -d '{
"contents": [
{
"parts": [
{
"text": "Explain how AI works in a few words"
}
]
}
]
}'
セキュリティとシークレットの管理
Gemini API キーはパスワードと同様に扱ってください。不正使用されると、他のユーザーがプロジェクトの割り当てを消費し、予期しない請求が発生し、プライベート リソースにアクセスする可能性があります。
重大なセキュリティ ルール
- キーの機密性を保持する: API キーを Git などのソース コントロール システムにチェックインしないでください。
- 本番環境でクライアントサイドの鍵を公開しない: ウェブアプリやモバイルアプリに API キーを直接ハードコードしないでください。クライアントサイド コードにコンパイルされたキーは、ユーザーが抽出できます。クライアントサイド アプリを保護するには、バックエンド プロキシ サーバーを実行して実際の API 呼び出しを行います。
シークレット管理のベスト プラクティス
- 環境変数: 構成ファイルではなく環境変数からキーを読み取ります。
- Secret Manager: 本番環境では、Google Cloud Secret Manager などの安全なシークレット ストアに鍵を保存します。
- 課金アラート: Google Cloud コンソールで課金アラートを設定して、使用量や費用が急増した場合に通知を受け取ります。
リーク対応チェックリスト
API キーが漏洩した疑いがある場合:
- 新しい鍵を生成する: Google AI Studio または Cloud コンソールで代替鍵を作成します。
- アプリケーションを更新する: 新しいキーを使用してコードをデプロイします。
- 侵害された鍵を無効にするか削除する: 新しい鍵が検証されたら、Cloud Console で漏洩した鍵を無効にします。アプリケーションのダウンタイムを回避するため、新しい鍵が完全に有効になるまで古い鍵は削除しないでください。
- 使用状況の監査: Google Cloud コンソールで課金ログと API 使用状況を確認して、不正なアクティビティを特定します。
キーの制限と保護
API キーに制限を追加すると、キーが不正使用された場合の影響を最小限に抑えることができます。
リクエストのオリジン制限を適用する
オリジンの制限は、キーを使用できる IP アドレス、ウェブサイト、アプリケーションを制限します。
- Google Cloud コンソールの [認証情報] ページに移動します。
- プロジェクトを選択し、制限する API キーの名前をクリックします。
- [アプリケーションの制限] で、[IP アドレス](または環境に適した制限タイプ)を選択します。
- 許可する IP アドレスまたは範囲を指定して、[保存] をクリックします。
制限のない標準 API キーを保護する
2026 年 6 月 19 日以降も Gemini API を引き続き使用するには、制限のないキーを保護する必要があります。
AI Studio でキーを Gemini API のみに制限する
Gemini API にのみキーを使用する場合は、AI Studio で直接保護します。
- Google AI Studio の [API キー] ページで、[制限なし] ラベルが付いているキーを探します。
- ラベルにカーソルを合わせ、ダイアログで [制限を追加] をクリックします。
- [Gemini API のみに制限] を選択します。
- [キーを制限] をクリックして確定します。
Google Cloud コンソールで他のサービスの鍵を制限する
キーが他の Google API と共有されている場合(推奨されません)、Cloud コンソールで制限します。注: これらの制限が適用されると、このキーを使用する Gemini API リクエストは失敗します。
- Google Cloud コンソールの [認証情報] ページに移動します。
- プロジェクトと API キーを選択します。
- [API の制限] で [キーを制限] を選択します。
- プルダウンから、このキーでアクセスする API を選択します。Generative Language API は選択しないでください。
- [保存] をクリックします。Gemini API を引き続き使用するには、AI Studio で制限付きの個別のキーを作成します。
休眠中のキーをブロックする
2026 年 5 月 7 日以降、Gemini API は長期間使用されていない制限のない API キーをブロックします。これらのキーには、AI Studio で [Blocked] タグが表示されます。続行するには、新しいキーを生成するか、既存の制限付きキーを使用する必要があります。
認証キーに移行する
新しい認証 API キーを作成してアプリケーションを更新する手順は次のとおりです。
- AI Studio API キーのページに移動します。
- [キーのタイプ] 列で、[標準] と表示されているキーを確認します。
- [API キーを作成] をクリックして、新しいキーを生成します。AI Studio で作成された新しいキーはすべて、認証キーとして自動的に作成されます。
- 新しい認証 API キーをコピーします。
- 新しい認証 API キーを使用するように、アプリケーション コード、環境変数、デプロイ構成を更新します。
- アプリケーションをテストして、新しいキーで正しく動作することを確認します。
- 確認が済んだら、古いトラフィック キーを削除または取り消して、不正使用を防ぎます。
制限事項
Google AI Studio には、プロジェクトとキーの管理に関する次の制限があります。
- Google AI Studio の [プロジェクト] ページから、一度に最大 10 個のプロジェクトを作成できます。
- [API キー] ページと [プロジェクト] ページには、最大 100 個のキーと 50 個のプロジェクトが表示されます。
- 制限がない API キー、または Generative Language API(Gemini API)に限定して制限されている API キーのみが表示されます。
高度なプロジェクト管理を行う場合や、他の制限付きで鍵を変更する場合は、Google Cloud コンソールの [認証情報] ページを使用します。