← 記事一覧

連携ガイド

OpenAIをAIエージェントに安全に連携する|権限・承認・監査の設計

OpenAIのAPIをAIエージェントから使うと、画像生成やテキスト処理を組み込んだワークフローを作れます。便利な一方で、APIキーはコストのかかる操作を無制限に許すものであり、そのまま渡すと想定外の利用やコストにつながります。連携の前に権限設計を決めておくべきです。

OpenAI連携でまず起きる問題

OpenAIをそのままAIエージェントに渡すと、典型的に次の問題が起きます。

  • APIキーの散在:プロンプトやローカルのMCP設定に置いた認証情報は、漏れたときにOpenAIの操作が丸ごと露出します。
  • 読み取りと書き込みが同じ扱い:参照も更新も、エージェントから見れば同じ「ツール呼び出し」です。区別がなければ、AIは同じ気軽さで実行します。
  • コストと利用の暴走:APIキーがあれば、生成系の操作をいくらでも走らせられてしまいます。

読み取りは自由に、書き込みは承認制に

実務的な原則はシンプルです。参照系は自由に、更新系は人間の承認を経てから。OpenAIの操作をこの2種類に仕分けます。

  • 自由に実行してよい(読み取り):利用可能な機能の確認、接続の疎通確認。準備はここで完結します。
  • 承認を挟む(書き込み):画像生成、各種APIリクエスト(いずれもコストが発生)。利用量が読めないため範囲を絞ります。

こうしておけば、AIエージェントは分析や下書きまで一人で走り切り、外部や本番に効く操作の直前だけ担当者が確認する、という運用になります。

生のAPIキーをエージェントに渡さない

もう一つの要点は認証情報の置き場所です。OpenAIのAPIキーをエージェントのランタイムやプロンプトに置くのは避けます。 認証情報はサーバー側に暗号化して保管し、エージェントにはスコープ付きの権限トークンを1つだけ渡す。 こうすれば、あるワーカーのトークンが漏れても、失効はそのワーカーの範囲に限定でき、OpenAI本体の認証情報を作り直す必要はありません。

すべての操作を監査ログに残す

コストのかかるAPIを扱う以上、「どのワーカーが・どの操作を・どれだけ呼んだか」を後から追えることは重要です。 承認された操作もブロックされた操作も、ワーカー・ロール・ツール・接続・リクエスト・結果まで記録しておけば、 後からの調査や説明責任にそのまま使えます。

Grantryでの実現方法

Grantryは、AIエージェントと業務ツールの間に入る権限レイヤーです。 OpenAIを含むMCP対応のサービスに対して、ワーカーごとにスコープ付きトークンを1つ発行し、 読み取りは自由に、画像生成などの書き込みは承認ゲート越しに、そして全コールを監査ログに残します。 Claude CodeやCodexなどのMCPクライアントを、ワーカートークン付きでGrantryのエンドポイントに向けるだけで、 エージェント側のコード変更なしに始められます。

よくある質問

AIエージェントにOpenAIのAPIキーを直接渡しても大丈夫ですか?

推奨しません。プロンプトやローカルのMCP設定に置いたAPIキーは、OpenAIでできる操作すべて(例:画像生成などのリクエスト)を許す常時オファーになります。APIキーはサーバー側に暗号化して保管し、エージェントにはスコープ付きの権限トークンを1つだけ渡す設計が安全です。

OpenAIの画像生成などのリクエストをAIに自動実行させても問題ないですか?

画像生成などのリクエストは影響が大きい、または戻せない書き込みです。機能の確認などの読み取り・分析は自由に実行させ、画像生成などのリクエストは人間の承認を経てから実行する承認ゲートを挟むのが実務的です。

AIエージェントにOpenAIキーを直接持たせずに使えますか?

使えます。OpenAIのAPIキーはサーバー側に保管し、エージェントにはスコープ付きの権限トークンを1つだけ渡します。どのワーカーがどの操作を使えるかをロールで絞り、利用を監査ログに残せます。


Grantry

生成AIの利用にも、権限の判断を1枚挟む。

無料で始める

導入前のご相談は [email protected] へどうぞ。