Gemini Enterprise から CData Connect AI に OAuth で接続する方法:カスタムOAuth アプリを活用した認証・認可の設定手順

by 杉本和也 | April 16, 2026 | Last Updated: April 16, 2026

Gemini Enterprise から CData Connect AI に OAuth で接続する方法

こんにちは。CData Software Japan リードエンジニアの杉本です。

以前、Gemini Enterprise と CData Connect AI の連携記事では、ADK で開発したGemini Enterprise のエージェントから CData Connect AI に Basic 認証で接続する方法をご紹介しました。

その後、Gemini Enterprise が OAuth PKCE をサポートするようになり、より安全な OAuth 認証で CData Connect AI に接続できるようになりました!(当時はうまく接続できなくて悔しかったので、めっちゃ嬉しい♪)

Gemini Enterprise から CData Connect AI に OAuth で接続する方法

あわせて CData Connect AI 側でも「カスタムOAuth アプリ」機能がリリースされ、ユーザー自身がセルフサービスで OAuth アプリを作成できるようになっています。

独自のAI エージェントからConnect AI への認証・認可を可能にする「カスタムOAuth アプリ」作成機能の使い方

というわけで今回は、この2つの更新を組み合わせて、Gemini Enterprise から CData Connect AI に OAuth で接続する手順を詳しく解説します。

今回の構成イメージ

前回記事との最大の違いは認証方式です。

項目

前回(Basic 認証)

今回(OAuth)

認証方式

メールアドレス + PAT をBase64 エンコード

OAuth 2.0 Authorization Code(PKCE)

認証情報管理

.env ファイルに直書き

Gemini Enterprise がセッション単位で管理

ユーザー認可

なし(サービスアカウント的な利用)

ユーザーごとにブラウザで認可

OAuth にすることで、アクセストークンをコードに埋め込む必要がなくなり、CData Connect AI 側の RBAC(ロールベースアクセス制御)とも組み合わせやすくなります。

認証フローの全体像は以下のとおりです。

Gemini Enterprise から CData Connect AI に OAuth で接続する方法

必要なもの

今回必要になる環境は以下のとおりです。

前回記事と同様、Windows の場合ADK の開発は WSL(Windows Subsystem for Linux)上の Ubuntu で実施します。なお、今回は私はMac で実施しました。

CData Connect AI とは

CData Connect AI は、Salesforce、kintone、ServiceNow、各種データベースなど 350 種類以上のデータソースへのリアルタイム接続を、単一の MCP エンドポイントで提供するマネージドサービスです。

AI エージェントからは12種類のシンプルなツールを通じてデータにアクセスできるため、LLM のコンテキストを圧迫せずに業務データを活用できます。SOC 2 Type II および ISO/IEC 27001:2022 の認証を取得しており、エンタープライズ用途でも安心して利用できます。

Gemini Enterprise から CData Connect AI に OAuth で接続する方法

カスタムOAuth アプリの作成

まず、CData Connect AI 側で Gemini Enterprise 向けの OAuth アプリを作成します。

詳しい手順は以下の記事をどうぞ。

https://jp.cdata.com/blog/cdata-connect-ai-custom-oauth-apps

作成するOAuth アプリの設定は以下のとおりです。

プロパティ

備考

名前

任意(例:Gemini Enterprise)

管理用の名前

Authorization Flow

User-based (Authorization Code)

Callback URL

https://vertexaisearch.cloud.google.com/oauth-redirect

Gemini Enterprise 固定

保存すると Client IdClient Secret が発行されます。この2つは後ほど Gemini Enterprise の設定で使用するので、メモしておいてください。

これだけで、CData Connect AI 側の OAuth アプリの準備は完了です。

各OAuth エンドポイント

Gemini Enterprise 側の設定で必要になる OAuth エンドポイントは以下のとおりです。

エンドポイント

URL

Authorization Endpoint

https://cloud-login.cdata.com/authorize?response_type=code

Token Endpoint

https://cloud-login.cdata.com/oauth/token

ちなみに、これらのエンドポイント情報は以下の URL からも確認できます。

https://mcp.cloud.cdata.com/.well-known/oauth-authorization-server

ポイントは「Authorization Endpoint」に「?response_type=code」というクエリパラメータを付与しておくことです。通常であれば、OAuth のクライアント側が付与する内容ですが、現状Gemini Enterprise では付与されないみたいなので、ここで指定しておきます。

エージェントの開発(ADK)

次に、ADK を使って Vertex AI Agent Engine にデプロイするエージェントを実装します。

詳しい手順は前回の記事を参考にしてみてください。

前回からの変更点

前回の Basic 認証版では agent.py 内で Base64 エンコードした認証ヘッダーを直接組み立てていましたが、OAuth 版ではセッション状態からアクセストークンを取得する形に変わります。

フォルダ構成

agents/
└── connect_ai_oauth/
    ├── __init__.py
    ├── .env
    └── agent.py

agent.py

import os

from google.adk.agents import Agent
from google.adk.agents.readonly_context import ReadonlyContext
from google.adk.tools.mcp_tool.mcp_toolset import McpToolset, StreamableHTTPConnectionParams

AUTH_ID = os.getenv("CDATA_CONNECT_AI_AUTH_ID", "")
MCP_URL = "https://mcp.cloud.cdata.com/mcp"


def _get_auth_headers(context: ReadonlyContext) -> dict[str, str]:
    """セッション状態から OAuth トークンを取得して認証ヘッダーを返す。"""
    access_token = context.state.get(AUTH_ID, "")
    return {"Authorization": f"Bearer {access_token}"}


root_agent = Agent(
    name="connect_ai_oauth",
    model="gemini-2.5-flash",
    description="CData Connect AI",
    instruction="あなたは CData Connect AI MCPを活用するためのAIアシスタントです。",
    tools=[
        McpToolset(
            connection_params=StreamableHTTPConnectionParams(url=MCP_URL),
            header_provider=_get_auth_headers,
        )
    ],
)

実装のポイント

前回との大きな違いは header_provider の部分です。Basic 認証版では固定の認証情報をヘッダーに埋め込んでいましたが、OAuth 版では ReadonlyContext を使ってセッション単位のアクセストークンを動的に取得します。Gemini Enterprise が OAuth フローを完了させると、そのトークンがセッション状態(context.state)に格納されるため、エージェント側ではそれを参照するだけで済みます。

AUTH_ID は Gemini Enterprise がトークンを格納する際のキーとなる識別子です。.env ファイルで管理します。
これはGemini Enterprise からデフォルトでは自動生成されますが、任意の値に変更することもできます。今回私はあらかじめ「cdata_connect_ai_oauth_20260414」といった文字列を指定しておきました。

.env

CDATA_CONNECT_AI_AUTH_ID=(Gemini Enterprise 側で確認できる値を指定)

init.py

from . import agent

Vertex AI Agent Engine へのデプロイ

実装が完了したら ADK コマンドでデプロイします。前回同様、完了まで5分程度かかります。

adk deploy agent_engine \
  --project=PROJECT_ID \
  --region=us-central1 \
  --staging_bucket=STAGING_BUCKET \
  connect_ai_oauth

デプロイが完了すると、以下のようにリソース名が出力されます。

Created agent engine: projects//locations/us-central1/reasoningEngines/XXXXXXXXXX

このリソース名は Gemini Enterprise へのエージェント登録で使用します。

Gemini Enterprise から CData Connect AI に OAuth で接続する方法

Gemini Enterprise 側の設定

デプロイが完了したら、Gemini Enterprise にエージェントを追加します。

Gemini Enterprise を開いて「+エージェントを追加」をクリックし、「Agent Engine によるカスタムエージェント」を選択します。

Gemini Enterprise から CData Connect AI に OAuth で接続する方法

Gemini Enterprise から CData Connect AI に OAuth で接続する方法

今回は認可機能(OAuth)を追加するため、前回とは異なり認可の設定を行います。以下のように入力してください。認証IDは先程.envで指定したものと同じ値を入力します。デフォルトでは自動生成されますが編集することが可能です。

そして一番大事な要素である今回新しく追加された「PKCE 検証が有効」にチェックを入れておきましょう。

プロパティ

認証名

例)CDataConnectAIOAuth

認証ID

例)cdata_connect_ai_oauth_20260414

クライアントID

カスタムOAuth アプリで発行した Client Id

クライアントシークレット

カスタムOAuth アプリで発行した Client Secret

トークンURI

https://cloud-login.cdata.com/oauth/token

認証URI

https://cloud-login.cdata.com/authorize?response_type=code

PKCE 検証が有効

チェックを入れる

Gemini Enterprise から CData Connect AI に OAuth で接続する方法

次の画面でエージェント名・説明を入力し、「Agent Engine 推論エンジン」に先ほどデプロイした Vertex AI Agent Engine のリソース名を指定します。

Gemini Enterprise から CData Connect AI に OAuth で接続する方法

これで Gemini Enterprise 側の設定は完了です。

動作確認

設定が完了したら、実際に Gemini Enterprise からエージェントを使ってみましょう。

初回アクセス時はAIのメッセージで承認ボタンが表示されます。この承認ボタンをクリックすることで、ブラウザ経由で CData Connect AI への認証・認可画面が表示されます。

ログインして承認することで、アクセストークンが発行され、エージェントが MCP を通じてデータにアクセスできるようになります。

Gemini Enterprise から CData Connect AI に OAuth で接続する方法

認可が完了したら、接続されているデータソースに対して自然言語で問い合わせてみましょう。

Gemini Enterprise から CData Connect AI に OAuth で接続する方法

以下のようにCData Connect AI へOAuth で認証・認可を行い、 MCP を通じたデータアクセスができていることが確認できました!

おわりに

このように、CData Connect AI のカスタムOAuth アプリ機能と Gemini Enterprise の OAuth PKCE 対応を組み合わせることで、より安全な認証方式でエージェントからデータにアクセスできるようになります。Basic 認証と比べてトークン管理の手間が減り、ユーザーごとのアクセス制御も実現しやすくなります。

ぜひ CData Connect AI のトライアルと合わせて試してみてください!

なにかわからないことがあれば、お気軽にサポートやお問い合わせからどうぞ。

https://jp.cdata.com/contact/