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 は標準キーから認証キーに移行します。
- 認証キーのデフォルト: 2026 年 5 月 28 日以降、Google AI Studio で作成されたすべての新しい API キーは、認証キーとして自動的に作成されます。
- 制限のないキーが拒否された: Gemini API は、制限のない標準キーからのリクエストを拒否します。明示的な制限が適用されている標準 API キーは引き続き機能します。この制限により、一般公開されている可能性のあるキーや、他のサービスにリンクされている可能性のあるキーの不正使用を防ぐことができます。
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 に移動します。
- 左側のパネルから [ダッシュボード] を開き、[プロジェクト] を選択します。
- [プロジェクトをインポート] ボタンをクリックします。
- インポートする 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 プロジェクトを作成して、鍵を生成できます。
Google Cloud コンソールでの鍵の作成
Google AI Studio には、制限がないキーまたは Gemini API に制限されているキーのみが表示されます。AI Studio を使用できない場合や、すべての API キーを一元管理する場合は、Cloud ドキュメントの API キーの作成の手順に沿って操作します。Gemini API キーを作成するには、サービス アカウントにバインドする必要があります。
環境設定
キーを取得したら、アプリケーションで安全に使用できるように環境を構成します。
オプション 1: 環境変数を使用する(推奨)
環境変数 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] をクリックして保存します。新しいターミナル セッションを開いて変数を読み込みます。
オプション 2: コードで API キーを明示的に指定する
クライアントを初期化するときに、API キーを明示的に渡すことができます。これは、環境変数を使用できない場合にのみ行ってください。
Python
from google import genai
client = genai.Client(api_key="YOUR_API_KEY")
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="Explain how AI works in a few words"
)
print(interaction.output_text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: "YOUR_API_KEY" });
async function main() {
const interaction = await ai.interactions.create({
model: "gemini-3.8-flash",
input: "Explain how AI works in a few words",
});
console.log(interaction.output_text);
}
main();
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
Client client = Client.builder().apiKey("YOUR_API_KEY").build();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("gemini-3.8-flash"))
.input(InteractionsInput.of("Explain how AI works in a few sentences."))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println(interaction.outputText().orElse(""));
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
"google.golang.org/genai/interactions/models/interactions"
"google.golang.org/genai/interactions/models/operations"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
APIKey: "YOUR_API_KEY",
})
if err != nil {
log.Fatal(err)
}
res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
Model: interactions.Model("gemini-3.8-flash"),
Input: interactions.NewInteractionsInput("Explain how AI works in a few sentences."),
}),
})
if err != nil {
log.Fatal(err)
}
if res.Interaction.OutputText != nil {
fmt.Println(*res.Interaction.OutputText)
}
}
REST
curl "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H 'Content-Type: application/json' \
-H "x-goog-api-key: YOUR_API_KEY" \
-X POST \
-d '{
"model": "gemini-3.8-flash",
"input": "Explain how AI works in a few words"
}'
セキュリティとシークレットの管理
Gemini API キーはパスワードと同様に扱ってください。API キーが漏洩すると、他のユーザーがプロジェクトの割り当てを消費し、予期しない請求が発生し、プライベート リソースにアクセスする可能性があります。
重大なセキュリティ ルール
- キーを機密情報として扱う: API キーを Git などのソース コントロール システムにチェックインしないでください。
- 本番環境でクライアントサイドのキーを公開しない: ウェブアプリやモバイルアプリに API キーを直接ハードコードしないでください。クライアントサイド コードにコンパイルされたキーは、ユーザーが抽出できます。クライアントサイド アプリを保護するには、バックエンド プロキシ サーバーを実行して実際の API 呼び出しを行います。
シークレット管理のベスト プラクティス
- 環境変数: 構成ファイルではなく環境変数からキーを読み取ります。
- Secret Manager: 本番環境では、Google Cloud Secret Manager などの安全なシークレット ストアに鍵を保存します。
- 課金アラート: Google Cloud コンソールで課金アラートを設定して、使用量や費用が急増した場合に通知を受け取ります。
リーク対応チェックリスト
API キーが漏洩した疑いがある場合:
- 新しいキーを生成する: Google AI Studio または Cloud コンソールで置換キーを作成します。
- アプリケーションを更新する: 新しいキーを使用してコードをデプロイします。
- 不正使用された鍵を無効にするか削除する: 新しい鍵が検証されたら、Cloud コンソールで漏洩した鍵を無効にします。アプリケーションのダウンタイムを回避するため、新しい鍵が完全に有効になるまで古い鍵を削除しないでください。
- 使用状況の監査: Google Cloud コンソールで請求ログと API 使用状況を確認して、不正なアクティビティを特定します。
キーの制限と保護
API キーに制限を追加すると、キーが不正使用された場合の影響を最小限に抑えることができます。
リクエスト元制限を適用する
オリジンの制限は、キーを使用できる IP アドレス、ウェブサイト、アプリケーションを制限します。
- Google Cloud コンソールの認証情報ページに移動します。
- プロジェクトを選択し、制限する API キーの名前をクリックします。
- [アプリケーションの制限] で、[IP アドレス](または環境に適した制限タイプ)を選択します。
- 許可する IP アドレスまたは範囲を指定して、[保存] をクリックします。
制限のない標準 API キーの保護
Gemini API を引き続き使用するには、制限のないキーを保護する必要があります。
方法 A: キーを Gemini API のみに制限する(AI Studio)
Gemini API にのみキーを使用する場合は、AI Studio で直接保護します。
- Google AI Studio の [API キー] ページで、[制限なし] ラベルが付いているキーを見つけます。
- ラベルにカーソルを合わせ、ダイアログで [制限を追加] をクリックします。
- [Gemini API のみに制限] を選択します。
- [キーを制限] をクリックして確定します。
方法 B: 他のサービスのキーを制限する(Google Cloud コンソール)
キーが他の Google API と共有されている場合(推奨されません)、Cloud コンソールで制限します。注: これらの制限が適用されると、このキーを使用する Gemini API リクエストは失敗します。
- Google Cloud コンソールの [認証情報] ページに移動します。
- プロジェクトと API キーを選択します。
- [API の制限] で、[API の制限を選択] プルダウンを使用して、このキーでアクセスする API を選択します。[Generative Language API] は選択しないでください。
- [保存] をクリックします。Gemini API を引き続き使用するには、AI Studio で制限付きの個別のキーを作成します。
休眠中のキーをブロックする
2026 年 5 月 7 日より、Gemini API は長期間使用されていない制限のない API キーをブロックします。これらのキーは、AI Studio に [ブロック済み] タグを表示します。続行するには、新しい鍵を生成するか、既存の制限付き鍵を使用する必要があります。
認証キーに移行する
新しい認証 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 コンソールの [認証情報] ページを使用します。