連携アプリの権限要求、全部飲むか諦めるかの二択から外す | GH Media
URLがコピーされました

連携アプリの権限要求、全部飲むか諦めるかの二択から外す

URLがコピーされました
連携アプリの権限要求、全部飲むか諦めるかの二択から外す

導入を決めかけていた外部サービスの連携を、最後の同意画面で止めたことがある担当者は多いはずです。読みたいだけのはずのツールが、書き込みも削除も含めた権限をまとめて要求してくる。使うのは一部の機能なのに、渡すものは全部。同意するか、導入をやめるか。 中間がありません。

この二択に中間を作る仕組みが、Cloudflare で使えるようになりました。連携やAIエージェントを外注する立場から見ると、これは技術の話であると同時に、発注時の受け入れ条件に一行足せるかどうかの話でもあります。

権限を「必須」と「任意」に分ける

Cloudflare は2026年8月20日、OAuth クライアントの設定で、要求する権限(スコープ)を必須と任意に分類できる機能を追加しました。既定では従来どおり、設定した権限はすべて必須として扱われます。

任意に指定された権限は、同意画面で利用者が外せます。初期状態では選択済みになっているため、そのまま進めば全部渡す形になりますが、外したい人は外せる。必須に指定された権限は従来どおり、外すと認可自体が進みません。

この仕組みが持ち出された背景として名指しされているのが、MCP サーバーとAIエージェントです。エージェントは「これから何をするか」が実行時まで確定しないため、やる可能性のあることの合計を最初に要求しがちです。結果として、実際には一度も使われない権限まで渡した状態が常態化します。読み取りしかしないと分かっているエージェントに、削除権限まで渡している。この状態を、利用者側で削れるようにするというのが今回の趣旨です。

実装側に求められる作法が変わる

任意の権限を用意する側には、一つ条件が付きます。Cloudflare の案内で示されている方針は明快で、失敗させるのではなく機能を落とすというものです。

書き込み権限を拒否されたアプリケーションは、その機能を無効にして「この権限が無いためこの操作はできません」と示すべきであって、操作させたうえで 403 を返してはいけない。403 は利用者から見れば「壊れている」としか読めないためです。

必須の権限だけで動作を成立させ、拒否された任意権限に対しては該当機能を無効化して理由を示す設計と、操作後にエラーを返す設計の違いを示した図

ここが、発注する側にとって重要なところです。権限を任意にできる機能があること自体は、実装の品質を保証しません。 任意にしただけで、拒否されたときの振る舞いを作り込んでいなければ、利用者は同意画面で権限を外し、その後の画面でエラーに遭遇します。かえって体験が悪くなります。

受け入れ条件に何を書くか

社内システムと外部サービスの連携や、社内向けAIエージェントを外注する場合、仕様書や受け入れ条件に含めておくと後から効く項目があります。

必須権限の一覧と、それぞれが必須である理由。 「必要なので」ではなく、どの機能がその権限を使うかを対応付けた形で出してもらいます。対応付けられない権限は、多くの場合、要らない権限です。

任意権限を拒否した状態での動作。 拒否した場合に何ができなくなり、それが画面上でどう表示されるかを、受け入れテストの項目にします。これを入れておかないと、実装側は必須権限だけを前提にテストします。

権限の追加が発生したときの扱い。 運用開始後に機能を足す際、新しい権限が必要になることがあります。そのとき利用者に再同意を求めるのか、任意として追加するのかを決めておきます。

この考え方は、外部サービス連携の受け入れ確認で押さえる項目の延長線上にあります。従来は「権限が正しく取れているか」を見ていたところに、「権限が取れていない状態でも壊れないか」という軸が加わったと捉えるのが分かりやすいところです。

MCP サーバーを社内に置く場合

AIエージェント経由で社内データに触れる構成を検討している場合、この話は直接効いてきます。

エージェントに渡す権限は、実行時に必要な最小限に絞り込みにくいという性質があります。何をするか事前に分からないためです。そのため、設計時点で「この用途では書き込みを渡さない」と決め打ちできる部分を切り出しておくことに意味があります。調査・要約・検索の用途に限定したエージェントであれば、読み取り権限だけで成立します。

MCP サーバー側の認証をどう組むかを設計する段階で、用途ごとにクライアントを分けるかどうかを決めておくと、後から絞るより素直に収まります。一つのクライアントに全用途を集約すると、権限の集合は必ず最大公倍数になります。

なお、Cloudflare 自身の開発者向けツールについても、コマンドラインツールと同社の API を扱う MCP サーバーで要求する権限を選べる変更が同時期に入っています。同じ発想が提供側の道具にも適用されている形です。

次にやること

いま社内で使っている外部サービス連携のうち、書き込みや削除の権限を渡しているものを一つ選んで、実際にその操作が使われているかを確認してください。 使われていなければ、それは削れる権限です。

これから発注する連携やエージェントについては、仕様の確認時に一つ質問を足してください。「この権限を利用者が拒否した場合、画面はどうなりますか」。答えが用意されていない場合、その部分はまだ設計されていません。

社内システムと外部サービスの連携における権限設計、MCP サーバーを含むAIエージェントの認可の組み方、受け入れ条件の整理については、グリームハブの開発・AI・自動化のご相談で承っています。扱うデータと利用者の範囲によって取るべき構成が変わるため、お問い合わせから個別にご相談ください。

Sources

URLがコピーされました

グリームハブ株式会社は、変化の激しい時代において、アイデアを形にし、人がもっと自由に、もっと創造的に生きられる世界を目指しています。

記事を書いた人

鈴木 翔

鈴木 翔

技術の可能性に魅了され、学生時代からプログラミングとデジタルアートの分野に深い関心を持つ

関連記事

「TECH」の記事一覧を見る