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 プロジェクトを作成して、鍵を生成できます。
環境設定
キーを取得したら、アプリケーションで安全に使用できるように環境を構成します。
オプション 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.5-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.5-flash",
input: "Explain how AI works in a few words",
});
console.log(interaction.output_text);
}
main();
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
"google.golang.org/genai/interactions"
)
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)
}
interaction, err := client.Interactions.NewModel(ctx, interactions.NewModelParams{
Model: "gemini-3.5-flash",
Input: interactions.Input{
String: "Explain how AI works in a few words",
},
})
if err != nil {
log.Fatal(err)
}
for _, step := range interaction.Steps {
if step.ModelOutput != nil {
for _, content := range step.ModelOutput.Content {
if content.Text != nil {
fmt.Println(content.Text.Text)
}
}
}
}
}
Java
package com.example;
import com.google.genai.Client;
import com.google.genai.interactions.models.interactions.CreateModelInteractionParams;
import com.google.genai.interactions.models.interactions.Interaction;
public class GenerateTextFromTextInput {
public static void main(String[] args) {
Client client = Client.builder().apiKey("YOUR_API_KEY").build();
CreateModelInteractionParams params =
CreateModelInteractionParams.builder()
.input("Explain how AI works in a few words")
.model("gemini-3.5-flash")
.build();
Interaction interaction = client.interactions.create(params);
interaction.steps().forEach(step -> {
if (step.isModelOutput()) {
step.asModelOutput().content().ifPresent(contents -> {
contents.forEach(content -> {
content.text().ifPresent(text -> System.out.println(text.text()));
});
});
}
});
}
}
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.5-flash",
"input": "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 を引き続き使用するには、制限のないキーを保護する必要があります。
方法 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 キーのページに移動します。
- [Key Type] 列で、[Standard] と表示されているキーを確認します。
- [API キーを作成] をクリックして、新しいキーを生成します。AI Studio で作成された新しいキーはすべて、認証キーとして自動的に作成されます。
- 新しい認証 API キーをコピーします。
- 新しい認証 API キーを使用するように、アプリケーション コード、環境変数、デプロイ構成を更新します。
- アプリケーションをテストして、新しいキーで正しく動作することを確認します。
- 確認が済んだら、古いトラフィック キーを削除または取り消して、不正使用を防ぎます。
制限事項
Google AI Studio には、プロジェクトとキーの管理に関して次の制限が適用されます。
- Google AI Studio の [プロジェクト] ページから、一度に最大 10 個のプロジェクトを作成できます。
- [API キー] ページと [プロジェクト] ページには、最大 100 個のキーと 50 個のプロジェクトが表示されます。
- 制限がない API キー、または Generative Language API(Gemini API)に限定して制限されている API キーのみが表示されます。
高度なプロジェクト管理を行う場合や、他の制限付きで鍵を変更する場合は、Google Cloud コンソールの [認証情報] ページを使用します。