Slide 1

Slide 1 text

2026/3/24 村⽥ ⼀紘 クラスメソッド株式会社 ADK + Gemini Enterprise で 外部 API 連携エージェント作るなら OAuth の仕組みを理解しておこう

Slide 2

Slide 2 text

⾃⼰紹介 2 名前:村⽥ ⼀紘 所属:クラスメソッド株式会社 役割:Google Cloud の技術⽀援(主にインフラ領域) 経歴:オンプレミスのネットワークエンジニア 約17年    Google Cloud 歴 約2年 資格:IPA ネットワークスペシャリスト、情報処理安全確保⽀援試験合格    Google Cloud 認定資格 SecOps 以外 、AWS 認定資格 全冠 受賞:Google Cloud Partner Top Engineer 2025-2026    Google Cloud Partner All Certification Holders 2025 その他:2児のパッパ

Slide 3

Slide 3 text

今⽇話すこと 3 ● AI エージェントを開発する際に認可の仕組み(OAuth 2.0)が重要であること ● ADK を利⽤して開発すれば容易に認可の仕組みが組み込めること ● カスタム AI エージェントを Gemini Enterprise に登録する場合、認可の仕 組みが変わるため注意が必要なこと

Slide 4

Slide 4 text

今⽇話さないこと 4 ● ADK を利⽤したカスタム AI エージェントの開発⽅法やコード解説 ● AI エージェントの回答品質を上げる⽅法 ● Gemini Enterprise や Vertex AI Agent Engine の機能解説(認可を除く)

Slide 5

Slide 5 text

Gemini Enterprise データソース 5 様々なデータソースをサポート

Slide 6

Slide 6 text

サポートされていないデータソースとの連携 6 Vertex AI Agent Engine にデプロイしたカスタム AI エージェントを Gemini Enterprise に登録できる *2026/3/24 時点プレビュー

Slide 7

Slide 7 text

AI エージェント 認可の課題 7 AI エージェントに API キーを渡すと API キーが持つ権限の範囲内で⾃由にアク セスできてしまう

Slide 8

Slide 8 text

OAuth 2.0 で解決する 8 OAuth 2.0 は 認可(Authorization) の仕組み ユーザー認証を経てユーザー⾃⾝が認可を⾏い、アクセストークンを取得 アクセストークンによりユーザーが許可されている範囲内でアクセス

Slide 9

Slide 9 text

(参考)AI エージェントの OAuth 2.0 認可シーケンス 9

Slide 10

Slide 10 text

ADK で OAuth 2.0 による認可を構成する 10 ● ADK(Agent Development Kit) は AI エージェント開発のためのオープンフ レームワーク ● OAuth 2.0 による認可フローのための仕組みがある ▶ ADK で AI エージェントを開発し、公開 API(*Backlog API) へのリクエスト + OAuth 2.0 を試してみた * Backlog を選んだ理由は「認可の動作確認がわかりやすい」「社内から利⽤できる」「業 務で利⽤しており馴染みがある」ため。(Backlog は MCP Server も公開していますが、 OAuth 2.0 の動作確認をメインとしており今回は利⽤していません)

Slide 11

Slide 11 text

ADK による API リクエストと OAuth 2.0 の実装イメージ 11

Slide 12

Slide 12 text

ADK による API リクエストと OAuth 2.0 の実装イメージ 12 クライアント ID シークレット 認可エンドポイント トークンエンドポイント

Slide 13

Slide 13 text

ローカル環境で動かしてみる 13 ローカル検証⽤インタフェースの dev UI を実⾏

Slide 14

Slide 14 text

AI エージェントを Gemini Enterprise に登録 14 1. Agent Engine にデプロイ 2. Gemini Enterprise に登録

Slide 15

Slide 15 text

1. Agent Engine にデプロイ 15 ADK パッケージに含まれる CLI ツール(adk コマンド)で簡単にデプロイ

Slide 16

Slide 16 text

2. Gemini Enterprise に登録 16 以下のように設定

Slide 17

Slide 17 text

2. Gemini Enterprise に登録 17 以下のように設定 ADK の AuthConfig で設定した内容と同じパラ メータを Gemini Enterprise でも設定???

Slide 18

Slide 18 text

とりあえず動かしてみる 18 認可を要求された

Slide 19

Slide 19 text

とりあえず動かしてみる 19 OAuth が動いていそう?

Slide 20

Slide 20 text

とりあえず動かしてみる 20 「認証待ちです。認証が完了したら再度お試しください。」

Slide 21

Slide 21 text

とりあえず動かしてみる 21 「認証待ちです。認証が完了したら再度お試しください。」→ ループ。

Slide 22

Slide 22 text

原因 22 Gemini Enterprise は Authorization という機構が OAuth の認可フローを担う。 以下でさきほど設定したもの。

Slide 23

Slide 23 text

原因 23

Slide 24

Slide 24 text

解決するには 24 ADK の OAuth ⽤の仕組みを利⽤せず、 AI エージェントが Gemini Enterprise の Authorization からアクセストークンを 取得する仕組みにする。 ▶ ローカル開発とは OAuth 認可フローの実装を根本的に変える必要がある。

Slide 25

Slide 25 text

ざっくりイメージ 25

Slide 26

Slide 26 text

26

Slide 27

Slide 27 text

その他にハマったポイント 27 Authorization ID は GUI 設定の表⽰と実際の設定が変わることがあった。GUI から Authorization ID が判別できない。curl で REST API を直接コールして確認。

Slide 28

Slide 28 text

救われたポイント 28 Vertex AI Agent Engine が標準出⼒/標準エラー出⼒を Cloud Logging にデフォ ルトで転送してくれるため、デバッグがしやすい

Slide 29

Slide 29 text

まとめ 29 ● AI エージェントの開発に認可の仕組みが重要である ● ADK の仕組みにより OAuth 2.0 は容易に実現できる ● ただし Gemini Enterprise に登録する場合、「Authorization」という機構 が OAuth 2.0 認可フローを担うため、実装を考慮する必要がある

Slide 30

Slide 30 text

参考 30 具体的なコードの内容やデプロイ⼿順はこちらのブログを参照 https://dev.classmethod.jp/articles/slug-gemini-enterprise-custom-agent/