【完全比較】APIキー方式とADC方式の違いと選び方|GCP・Vertex AI・BigQueryでの最適解はどっち?

なぜ今「認証方式の選び方」が重要なのか

ゼロトラストや監査対応、最小権限の重要性が高まる中で、「長期的に漏えいしやすい鍵」から「短命トークン」へと移行する流れが明確になっています。
特に Google Cloud™では、ADC(Application Default Credentials)WIF(Workload Identity Federation)を軸にした「鍵レス」「最小権限」の運用が推奨されています。
 

目次

📖
目次
なぜ今「認証方式の選び方」が重要なのか目次用語の整理混同しやすい5つの認証方式認証方式ごとの仕組みと違い(ざっくり図解)APIキーADCセキュリティと運用の比較(一覧表)ユースケース別:認証方式の選び方早見表認証方法の選び方GCP主要サービスでの実装例ADC構成の選び方Cloud Run / GCE / GKEローカルPCでの開発CI/CDや他クラウド(GitHub Actionsなど)Vertex AIでの実装ポイントVertex AI 接続方法の選び方── API別 × 実行環境別での実務ガイド1. API別:どのVertex AIを使うか?2. 実行環境別:どこからアクセスするか?3. 実務上のNG例と推奨方針4. クイック判定ガイド(図のまとめ)BigQueryでの注意点APIキーは使えない認証は「ADCまたはOAuth」が基本ローカル開発は「権限借用型ADC」で安全に権限設計は「ジョブ」と「データ」を分離環境別:認証方式の置き換え例よくある落とし穴(実務での注意点)鍵レス運用・ガバナンスの定着へまとめGCP認証の実務ガイドAPIキー・鍵JSONの見直しとADC/WIF移行ステップ1. 現状把握(棚卸し)2. IAM設計(最小権限+境界設計)3. 実装切替(どの環境で実行?に対応)4. 組織ポリシーで鍵作成禁止5. 監査ログと運用ルールの整備まとめよくある質問(FAQ)Q. サービスアカウントの鍵JSONを配るのはADCですか?Q. 短命トークンって短すぎて不安です。Q. フロントから直接GCP APIを叩きたいです。まとめ:最適な認証方式を選ぶための判断軸用語・公式サイトリンク集(Wikipedia/公式)参考リンク(公式中心・直リンク)導入に迷ったら関連記事サービス紹介採用

用語の整理

混同しやすい5つの認証方式

用語説明
APIキーランダムな文字列による簡易な認証。主にMaps APIなどで使用。 必ずIPやAPI制限を併用すること。
OAuth 2.0ユーザーまたはサービスの同意に基づいて一時トークンを発行しアクセスを許可する仕組み。
サービスアカウントアプリやバッチ処理の「身元」。 鍵ファイルの配布は非推奨
ADC実行環境に応じて、最適な認証情報を自動検出して使う仕組み。
WIFGitHub ActionsやAWSなど外部からGCPに鍵なしでアクセスできる仕組み。

認証方式ごとの仕組みと違い(ざっくり図解)

APIキー

クライアントが固定キー(など)を送信 → 利用元やAPI単位で制限して悪用を抑える。

ADC

Cloud RunやGCEなどのメタデータサーバから自動で認証情報を取得 → 短命トークンを払い出し → IAMロールでアクセス制御。

セキュリティと運用の比較(一覧表)

比較項目APIキーADC(+WIF)
秘密管理鍵が漏れると即悪用される鍵レス/短命トークンで安全性高
権限管理API単位の制限が中心IAMロールで細かく制御可能
鍵の更新手動更新が必要でミスも起きやすい自動更新が前提の設計
利用者の特定共有キーでは追跡困難サービスアカウント単位で監査可
ガバナンス統制組織全体での制御が難しい鍵作成制限ポリシーで一括管理
主な用途Mapsなど外部向けフロントバックエンド・基盤系・CI/CD全般

ユースケース別:認証方式の選び方早見表

認証方法の選び方

 
アクセス元/シーン推奨認証方式
外部公開フロントエンド (Google Mapsなど)APIキー ※ドメイン・IP・API制限を必ず併用
社内システム (Cloud Run / GCE / GKE)ADC ※メタデータサーバで自動認証されるため鍵不要
CI/CDや他クラウド環境 (GitHub Actions等)ADC+WIF ※OIDCトークンによる鍵レス認証が推奨
ローカル開発環境gcloud auth application-default loginでADCファイル生成/利用可能

GCP主要サービスでの実装例

ADC構成の選び方

Cloud Run / GCE / GKE

→ サービスアカウントにIAMロールを付けてデプロイ。ADCが自動検出されるため鍵不要。GKEはWorkload Identityを活用すれば完全に鍵レスで運用可能。

ローカルPCでの開発

を実行すれば、ローカルにADC情報が作成され、クライアントライブラリがそれを自動利用。

CI/CDや他クラウド(GitHub Actionsなど)

→ JSON鍵は使わず、WIFを使ってOIDCトラストを構成。トークンは都度払い出しされるため安全。

Vertex AIでの実装ポイント

Vertex AI 接続方法の選び方── API別 × 実行環境別での実務ガイド

1. API別:どのVertex AIを使うか?

  • 通常の Vertex AI(SDK/REST)
    • 認証方式は ADC(Application Default Credentials) または OAuth に対応しています。
      実務では ADCが推奨です。短命トークンで安全性が高く、鍵不要で最小権限の設計がしやすいためです。
    • GCP上(Cloud Run / GKE / GCE など)
      • → サービスアカウント経由で ADCが自動的に検出されます。鍵ファイルの配布は不要です。
    • 外部環境(GitHub ActionsやAWSなど)
      • WIF(Workload Identity Federation) を用いて OIDC トラストを構成。ADC+一時トークンでアクセスします。JSON鍵は使用しません
  • Vertex AI Express Mode(プレビュー)
    • このモードでは APIキー認証のみ対応しています。あくまで 学習・検証などの試験的な利用にとどめ、本番利用は非推奨です。
    • 利用する場合は、APIの使用範囲や送信元(IP制限・HTTPリファラ)を厳密に制限し、キーのローテーションや漏洩検知も含めた設計が必要です。
  • Vertex AI Search for commerce
    • 認証は ADC または gcloud資格情報 に対応。
      運用面では、サーバサイドは **ADC(サービスアカウント)**を使い、管理端末の一時作業では gcloud 認証での代用が安全です。

2. 実行環境別:どこからアクセスするか?

  • GCP上のランタイム(Cloud Run / GKE / GCEなど)
    • → ランタイム内のメタデータサーバから ADCが自動的に検出されます。
      サービスアカウントには必要最小のIAMロールのみを付与し、鍵ファイルは一切使わない構成がベストプラクティスです。
      特にGKEでは Workload Identity を活用することで完全な鍵レス運用が可能になります。
  • 外部環境(GitHub Actions、他クラウド、CI/CDなど)
    • ADC+WIF構成を使って OIDC 経由で一時トークンを払い出します。
      リポジトリ・ブランチ・環境単位で条件を細かく制御し、権限も最小限に抑えることが重要です。
      JSON鍵の配布や環境変数での埋め込みはセキュリティ上のリスクが高く、避けるべきです。

3. 実務上のNG例と推奨方針

  • 🚫 NGなパターン
    • JSON鍵ファイルを使ってサービスアカウントを認証
    • 長期トークンや秘密鍵をそのまま環境変数に埋め込み
    • APIキーを制限なしで使い回す
  • 推奨される構成
    • ADCによる短命トークンを前提に設計
    • 外部連携やCI/CD環境では WIFで安全に一時トークンを払い出し
    • 必要に応じて、組織ポリシーで鍵ファイルの作成自体を禁止

4. クイック判定ガイド(図のまとめ)

シーン推奨認証方式
SDK/REST APIを利用ADC(本命)またはOAuth(補助)
Vertex AI Express Modeを試すAPIキー(ただし試験利用に限定)
Vertex AI Search for commerceを使うADCまたはgcloud資格情報
GCPランタイム(Run/GKE等)で実行ADC(メタデータから自動検出)
CI/CDや他クラウドからアクセスADC+WIF(OIDCトークンで鍵レス連携)
 

BigQueryでの注意点

APIキーは使えない

BigQuery は APIキーによる認証をサポートしていません
アクセスには、OAuth2(ユーザー認証) または ADC(サービスアカウント認証) が必須です。
  • フロントエンドから直接呼び出すことは 原則非推奨
  • どうしても実施する場合は、OAuthによるエンドユーザー認可フローが必要で、運用・セキュリティの負荷が高くなります。
  • 基本はサーバーサイド経由でアクセスさせましょう。

認証は「ADCまたはOAuth」が基本

ユースケース認証方式
実運用/ジョブ実行ADC(推奨):短命トークン中心で、鍵レス・最小権限がしやすい
手動操作/UI/検証用途OAuth(ユーザーの同意による一時的なアクセス)
GCP環境(Cloud Run/GKE/GCE)ADCを自動検出(メタデータサーバから)
外部環境(CI/CDなど)WIF+ADC(一時トークン発行、鍵JSONは使わない)

ローカル開発は「権限借用型ADC」で安全に

ローカルで開発する際も、鍵JSONを使わずに、サービスアカウントの権限を借りたADCファイルを生成できます。
⚠ GOOGLE_APPLICATION_CREDENTIALS に鍵JSONを指定する方法は 非推奨 です。

権限設計は「ジョブ」と「データ」を分離

BigQueryの権限は、実行権限(ジョブ)とデータ権限に分かれています。
  • ジョブ権限(プロジェクト単位)
    • 例:
    • クエリを実行するために必要
  • データ権限(データセット/テーブル単位)
    • 例: /
    • データの読み書きに必要
ポイント:
  • 両方の権限が揃っていないとクエリは失敗します。
  • プロジェクト全体に広く権限を与えず、データセット単位で絞る
  • 管理者ロールの配布は避け、実行と監査の役割を分ける

環境別:認証方式の置き換え例

環境認証方式
Cloud Run / GKE / GCEADCを自動検出。鍵配布不要。 GKEなら Workload Identity で完全鍵レス。
CI/CD・他クラウド(GitHub Actions など)WIF(OIDC)+ADC。 レポジトリやブランチごとに条件を絞る。
ローカル開発 を使う。 チームで鍵JSONを共有しない。

よくある落とし穴(実務での注意点)

  • ジョブ権限だけあってもデータが読めない/書けない
    • → ジョブ権限とデータ権限の両方を確認。
  • リージョン不一致で失敗
    • → クエリロケーションとデータセットロケーション(US/EU/asia-*)を一致させる。
  • VPC Service Controls による制限
    • → CLIやローカルからのアクセス時、VPC SCの境界内かどうかを確認。
  • Storage Read API の権限不足
    • → 使用する場合は などを追加。
  • データ共有の設計ミス
    • → 他プロジェクトと共有する際は、承認済みビュー/データセットACLを使い分ける。

鍵レス運用・ガバナンスの定着へ

  • 鍵作成禁止の組織ポリシーを有効にし、新たなJSON鍵の発行を抑止。
  • 監査ログの定期チェック:「誰が」「いつ」「何を」したかを確認。
  • 障害時対応・権限ローテのランブックを整備(WIF構成変更・SA差し替えなど)。
  • 機密データ列はポリシータグ/RLS/CLSで保護し、IAMと併用。

まとめ

  • BigQueryではAPIキーは使えません。ADCまたはOAuthが必須。
  • 実運用はADCが推奨(Cloud RunやCI/CDは鍵レス構成を)。
  • ローカルでは で安全にADC運用可能
  • ジョブとデータの権限は分離して最小化
  • リージョン/VPC/Read API/共有設定など、構成レベルの注意点も要確認。

GCP認証の実務ガイド

APIキー・鍵JSONの見直しとADC/WIF移行ステップ

 

1. 現状把握(棚卸し)

まずは APIキー/鍵JSONの利用状況を可視化します。
  • どのシステム/環境(本番・検証・ローカル・CI/CD)で使っているか
  • どのリポジトリ/ジョブ(例:CI/CD)から参照しているか
  • 紐づくサービスアカウントと付与ロール、呼び出すGCP API
  • 影響範囲(停止リスク・移行優先度)の整理

2. IAM設計(最小権限+境界設計)

サービスアカウントに最小限のロールだけを付与し、プロジェクトやフォルダ単位の境界を明確化します。
  • “できるだけ小さく始めて、必要に応じて足す”設計にする
  • 共有アカウントを避け、用途ごとに分離(監査しやすくする)

3. 実装切替(どの環境で実行?に対応)

A. GCP環境(Cloud Run / GKE など)
  • ADCへ置き換えます。
  • ランタイムのメタデータサーバから ADCが自動検出されるため、鍵ファイルの配布は不要です。
  • GKEは Workload Identity を使うと完全鍵レス運用が可能です。
B. 外部(GitHub Actions など)
  • WIF(Workload Identity Federation)でOIDCトラストを構成し、ADC+一時トークンでアクセスします。
  • JSON鍵は使わない前提に切り替えます。
C. ローカル開発環境
  • 開発端末では を実行して ADCファイルを生成します。
  • チーム内の鍵共有や環境変数への鍵埋め込みは行いません。

4. 組織ポリシーで鍵作成禁止

移行と並行して、鍵の新規作成をブロックする組織ポリシーを有効化します。
  • 2024年5月以降に作成された組織では既定で有効
  • 例外が必要な場合は、期間・用途・責任者を明確化して運用

5. 監査ログと運用ルールの整備

移行後に運用の型を固めます。
  • 監査ログ(誰が・いつ・どの権限で)を定期確認
  • ローテーションと障害時の切替手順(ランブック)を整備
  • CI/CDや外部連携はブランチ/環境単位で条件を絞る(最小権限の徹底)
 

まとめ

  • 棚卸し → 最小権限設計 → 環境別のADC/WIF切替 → 鍵作成禁止 → 監査・運用整備の順で進める
  • GCP環境はADCの自動検出で鍵レス化
  • 外部(CI/CD等)はWIFで一時トークンJSON鍵は使わない
  • ローカル でADCファイル生成
  • 最後に鍵作成禁止の組織ポリシー監査・ローテ運用で締める

よくある質問(FAQ)

Q. サービスアカウントの鍵JSONを配るのはADCですか?

A. いいえ。ADCは「探す仕組み」であり、鍵配布はレガシー方式です。ADC/WIFを使えば鍵レス運用が可能です。

Q. 短命トークンって短すぎて不安です。

A. 短命だからこそ安全。漏えいしても被害が限定的で、自動更新されるため運用もシンプルです。

Q. フロントから直接GCP APIを叩きたいです。

A. 原則NG。MapsなどAPIキーが前提の一部のプロダクトを除き、バックエンド経由にすべきです。

まとめ:最適な認証方式を選ぶための判断軸

判断ポイント最適な方式
サーバレス・基盤系(Run/GKE/GCE)ADC(自動認証)
他クラウド・CI/CD・オンプレADC+WIF(鍵レス)
フロント直叩き必須 (Maps等)APIキー+制限付き
全体統制鍵作成の制限ポリシーを有効にする (

用語・公式サイトリンク集(Wikipedia/公式)

用語要点参考リンク
APIキー簡易な識別子。必ず制限を。公式: https://cloud.google.com/docs/authentication/api-keys
ADC実行環境に応じた認証情報の自動検出公式: https://cloud.google.com/docs/authentication/application-default-credentials
OAuth 2.0認可フレームワーク。Wikipedia: https://ja.wikipedia.org/wiki/OAuth
サービスアカウントアプリ用のID。鍵配布は非推奨。公式: https://cloud.google.com/iam/docs/service-accounts
WIF外部IDから鍵レスでGCPへ。公式: https://cloud.google.com/iam/docs/workload-identity-federation
Cloud RunサービスIDでADC自動判定。公式: https://cloud.google.com/run
GKE Workload IdentityGKEで鍵レス認証。公式: https://cloud.google.com/kubernetes-engine/docs/concepts/workload-identity
Vertex AIGCPの生成AI/ML基盤。公式: https://cloud.google.com/vertex-ai
BigQuery企業向けDWH。APIキー非対応。公式: https://cloud.google.com/bigquery

参考リンク(公式中心・直リンク)

(上記の要点は本文中でも出典に基づき解説しています。たとえばADCの探し方やは公式ドキュメント、APIキーの制限は公式ベストプラクティス、鍵作成禁止はResource Managerの組織ポリシーを参照。(Google Cloud Documentation))

サービス紹介

Dify の構築や、ワークフローの作成は、見た目以上に複雑で思っていたより大変な部分も多いんです。でも、ご安心ください。弊社のサービスで、そんな面倒な作業も丸投げできちゃいます。
「自分たちで全部やるのは時間もないし無理だな」と感じたとき、ぜひお任せください。本当にやりたいことに集中できるよう、しっかりサポートいたします。お気軽にご相談ください!

お問い合わせ

お客様の社内DX、内製化、新規事業開発・事業成長等における課題解決をサポートします。まずはお気軽にご相談ください。
 

採用

ここまでお読みいただき、ありがとうございます。私たちが日々大切にしていること、会社のカルチャーやメンバーの想いを少しでも感じ取っていただけたら嬉しいです。
株式会社Elcamyでは、AI・機械学習・分析に情熱を持ち、新しい価値を一緒に生み出していける仲間を募集中です。テクノロジーの最前線で共に成長し、挑戦する喜びを分かち合える環境がここにはあります。
「ちょっと興味がある」「話を聞いてみたい」と思った方は、ぜひ一度こちらの募集職種ページをご覧ください。
▼募集中の職種はこちら
あなたとお話できることを、私たちメンバー一同、心より楽しみにしています!