Skip to content

MS_ResourceIndicators

nishi_74322014 edited this page Sep 1, 2026 · 1 revision

Resource Indicators for OAuth 2.0

概要

resource パラメタを伴う認可リクエストの結果生成された
Access トークンは、指定されたリソースに対してのみ利用が可能となる。

詳細

従来、コレ等の処理は、audscope が担っていた。
(Resource Server が audscope を理解することで実現)。

  • ID トークンに含まれる aud は、Client を指していた。

  • この仕様で、Access トークンに含まれる aud は、
    Client → Resource Server を指すように変更される。

補足(何が問題だったか): aud が Client を指していると、
1 つの Access トークンがどの Resource Server にも通ってしまう
つまり、悪意のある(あるいは侵害された)Resource Server が
受け取ったトークンを別の Resource Server に持ち込めることになる
(「OAuth 2.0 Security Best Current Practice」の
「Client が悪意のある ResourceServer に Token を渡す」を参照)。
resource パラメタで宛先を明示させ、aud をその Resource Server に
絞ることで、トークンの通用範囲を限定するのが本仕様の目的である。

補足(使い方): 認可リクエスト/トークン リクエストに、
対象 API の URI を resource パラメタとして付ける。

GET /authorize?response_type=code
  &client_id=s6BhdRkqt3
  &resource=https%3A%2F%2Fapi.example.com%2Fcontacts
  &scope=read
  ...
  • 値は絶対 URI(フラグメント不可)で、複数指定できる。
  • 認可サーバは、これを aud に反映した Access トークンを発行する。
  • 複数指定した場合の扱い(1 つのトークンに複数 aud を入れるか、
    リソースごとに取り直させるか)は認可サーバの実装に依る。

補足(現在は RFC 8707): 本仕様は 2020 年に RFC 8707 として発行された。
同じ「トークンの宛先を絞る」という目的の仕組みとして、
Microsoft Entra ID(旧 Azure AD)の resourcescope の指定や、
OpenID Connect - Discovery 経由で対象を判別する方式があり、
実装によって作法が異なる点に注意する。

参考


Tags: IT国際標準, 認証基盤, クレームベース認証, OAuth

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally