OpenID Foundation AuthZEN WG 活動レポート (2024年10月)
執筆日: 2026-05-20(2024 年 10 月の活動を遡及してまとめたレポートです)
1. 概要
AuthZEN Working Group(WG)は、アプリケーション内外における認可クエリ(PEP-PDP 通信)の標準 API 規格を策定する OpenID Foundation の WG である。Subject・Action・Resource・Context(SARC)の JSON ベース情報モデルを核に、Authorization API のドラフト策定と相互運用性デモを並行して進めている。2024 年 10 月時点の共同議長は Omri Gazitt(Aserto)、David Brossard(Axiomatics)、Gerry Gebel(Strata Identity)の 3 名で、定例コールは毎週火曜開催。
2024 年 10 月の AuthZEN WG は、「9 月 6 日付で公開された Authorization API 1.0 - draft 01 の 45 日 public review 期間を消化しつつ、Authenticate 2024(10 月 14〜16 日、Carlsbad)で 11 実装による 1.1 interop ライブセッションを実施し、月末 10 月 24 日には OIDF Secretary 名義で Implementer's Draft 投票(11 月 7〜14 日)の Notice of Vote が正式公告された月」 であった。WG は 9 月の draft 01 publish → 10 月の public review + Authenticate interop → 11 月の投票という OIDF プロセスのちょうど中間地点にあたる活動期であり、ML には Gabriel Corona(フランスの実装者)と Andrew Clymer(Rock Solid Knowledge)からの draft 01 への技術フィードバック、independentid(Phil Hunt / Hexa Policy)から GitHub Issue による 4 件の本質的設計問題提起、Authenticate 期間中に Curity の Jonas Iggbom が公開した 「初の非認可エンジン由来の PEP 実装」 という具体的な進展が並んだ。
openid-specs-authzen ML への 10 月分投稿数は 14 件(2024 年 10 月アーカイブ の 000207〜000220、10 月 2 日 〜 10 月 31 日)。GitHub openid/authzen リポジトリの 10 月活動は 新規 PR 12 件(うち 10 月内マージ 9 件、closed 1 件、dependabot 1 件)、新規 Issue 4 件(すべて independentid 起票、いずれも 10 月 3 日集中)。
技術議論の主軸は次の 4 点であった:
- draft 01 への ML フィードバック(10-02 連投) — Gabriel Corona が
can_*プレフィックスの action 命名、X-Request-IDヘッダの RFC 6648 違反、reasonフィールドの言語タグ(en-403ではなくen相当)、RFC 9493 Subject Identifiers との非整合など 7 論点を提示。Andrew Clymer(Rock Solid Knowledge)がcan_*プレフィックスの撤廃案に「+1」を寄せた independentid(Phil Hunt / Hexa Policy)による 4 連投 Issue(10-03) —#161testing harness の追加属性許容、#162Evaluations API の map → array 変更を巡る fast-fail / error / deny セマンティクスの未定義、#163reasonフィールドの有用性、#164multi-application 環境での application id 識別。1.1-01 ドラフトが抱える設計上の未消化論点を集中的に投げ込み、後の Evaluations API セマンティクス確定(12 月 17 日コール)への論点リスト整備につながった- Authenticate 2024 interop ライブセッション(10-14〜16 / Carlsbad) — FIDO Alliance 主催の Authenticate 2024 期間中に AuthZEN として 3 セッションを実施(Mon panel、Tue interop live、Wed read-out)。1.1 interop test suite に 11 実装が合格、後数週でさらに 3 実装が compliant になる見通しを獲得。これに合わせて GitHub では 10-12 〜 10-16 にかけて PlainID / SGNL / Kogito / PingAuthorize / Hexa / Indykite / Axiomatics の interop 結果ファイルが計 9 件マージ
- HTTP 400 と required attributes(10-30 〜 31、6 通スレッド) — David Brossard が「required attributes が抜けたリクエストに対する HTTP ステータスコードを spec が明示していない」と提起。Omri Gazitt が既存の error responses 節を参照しつつ「明示は妥当」と認め、Eve Maler が「HTTP をトランスポートとした場合という限定子を付すべきか」と問い、最終的に Omri が HTTPS バインディング節への明文追加 を提案してクローズ
10 月 24 日には OIDF Operations Director の Mike Leszcz から ML に Notice of Vote(Marie Jordan / OIDF Secretary 署名)が転送され、11 月 7 日 〜 14 日 12:00 PT の投票期間と 10 月 31 日からの早期投票開始 が公告された。これによって 9 月 publish → 10 月 review → 11 月 vote → 11 月 15 日承認 の OIDF プロセスが完全に軌道に乗り、AuthZEN WG が WG 発足以来の最初の Implementer's Draft 採決に進む段取りが整った。なお、10 月 15 日の定例コールは Authenticate 2024 会期と重なるためキャンセルされている。
2. 公開された仕様・ドラフト改訂
Authorization API 1.0 - draft 01(2024-09-06 publish、10 月は public review 期間中)
- 正式名称: Authorization API 1.0 - draft 01
- URL: authorization-api-1_0-01.html
- document date: 2024-09-06
- 編集者: Omri Gazitt(Aserto)、David Brossard(Axiomatics)、Atul Tulshibagwale(SGNL)
- status: Standards Track(draft 01)
- 10 月時点での位置づけ: 45 日 public review 期間中(draft 01 は 9 月 6 日付。OIDF プロセスでは Notice of Vote 公告日が review 完了の起点となり、本ドラフトは 10 月 24 日 Notice of Vote 公告まで review にあった)
- 10 月内の文書改訂: 仕様本体への変更コミットは確認されない。GitHub の 10 月コミットはすべて interop 結果ファイル(
pdps.json、results/*.md)と test ファイルのみで、api/authorization-api-*.md本体への変更はゼロ
1.1-01 作業ドラフト(リポジトリ上の作業ファイル)
- リポジトリ内に並行して存在していた作業ドラフトとして、
api/authorization-api-1_1_01.mdが GitHub Issue #161 から参照されている。これは後の 11 月の「New versions」スレッド(Michael Schwartz 起点、13 通連投)で「作業ブランチを1.1-01から1.0-02へ rename する」合意に至るまで使われていた呼称 - 10 月の Issue #161、#162 はこの 1.1-01 ドラフトが Evaluations API(複数形バルク評価)の map → array 変更を含む点を直接的に問題化したもの
10 月内に仕様リポジトリへマージされた PR
openid/authzen リポジトリで 10 月内にマージされた PR は以下の 9 件(dependabot を除く、いずれも仕様本体ではなく interop website / test 周辺の更新):
- PR #165 - Interop/hexa pingauthorize results(ogazitt、2024-10-04 マージ、2 コミット)— Hexa(Strata Identity)と PingAuthorize の interop 結果を初投入
- PR #166 - Update pdps.json(eazerad〔Elie Azerad / Kogito〕、2024-10-08 マージ)— Kogito を 1.0 implementer's draft と 1.1 preview の PDP リストへ追加
- PR #167 - added Kogito to interop website results list(ogazitt、2024-10-08 マージ)— PR #166 と対をなす interop website 側の更新
- PR #169 - added SGNL test file(tulshi〔Atul Tulshibagwale / SGNL〕、2024-10-12 マージ)— SGNL を 1.1 と 1.0-id PDP リストに追加し、
1.0-previewからは合格しなくなったため削除(コミットメッセージ「removed SGNL from 1.0-preview since it does not pass this suite anymore」) - PR #170 - fixed typo in action name for boxcarred evaluations(tulshi、2024-10-12 マージ)— boxcarred(バルク)evaluations 用 action 名の typo 修正。HackMD 上のソースドキュメントも追従更新したとレビュアーがコメント
- PR #172 - added PlainID to PDP list and interop results(ogazitt、2024-10-12 マージ)— Vladi Berger による PR #168(
Plainid 1.1-preview)を yarn.lock の余分な変更などを理由にクローズし、正しい差分のみで再投入したリプレース PR - PR #173 - Updated md format to be in the format expected by the interop website(davidjbrossard、2024-10-14 マージ)— Axiomatics の implementer's draft 結果ファイルを interop website 想定フォーマットへ整形
- PR #174 - Indykite 1.0 and 1.1 interop config and results(baboulebou〔Alex Babeanu / 3edges、IndyKite から起票〕、2024-10-15 マージ、15 コミット)— IndyKite の 1.0 と 1.1 両系統への interop config と結果を追加。マージ過程で SGNL / PlainID / Axiomatics 関連の他 PR との衝突を 2 回解消
- PR #175 - Updated the Axiomatics results for 1.1 conformance(davidjbrossard、2024-10-16 マージ、3 コミット)— Axiomatics の 1.1 conformance 結果と
pdps.jsonへの登録を追加。Alex Olivier(Cerbos)のレビューコメントを反映
10 月内に作成され closed / dependabot に分類される PR
- PR #168 - Plainid 1.1-preview(vladiber〔Vladi Berger〕、2024-08-22 起票、2024-10-12 close、未マージ)— ogazitt が「yarn.lock に余分な変更が含まれる」「PlainID は 1.0-implementers-draft と 1.1-preview には合格するが 1.0-preview には合格しなくなった」を理由に、PR #172 に置き換えてクローズ
- PR #176 - Bump http-proxy-middleware from 2.0.4 to 2.0.7 in /interop/authzen-todo-application(dependabot、2024-10-25 起票、2025-02-25 close)—
http-proxy-middleware依存が後に削除されたため、マージされずに自動クローズ
10 月内の新規 Issue(すべて independentid 起票、10 月 3 日集中)
10 月の Issue 4 件はすべて Phil Hunt(independentid / Hexa Policy / Strata Identity 関連)が 10 月 3 日 1 日に集中投稿したもので、1.1-01 ドラフトの設計上の未消化論点を一気にフラグ立てした:
- Issue #161 - Make Testing Harness Permissive of Extra Data(2024-10-03 起票、2025-08-14 not planned で close)— 「現行 testing harness は、implementer's draft が許容するはずの
context等の追加属性をレスポンスに含めると reject する。実装側は debug 目的で補足情報を返したい」と問題提起。仕様と test harness の乖離を指摘 - Issue #162 - Ordered vs. Mapped Evaluation Response(2024-10-03 起票、2025-04-16 completed で close)— draft 1.1 が evaluations レスポンスを map(並列処理可能)として規定していたのに対し、draft 1.1-01 では array(順次処理)に変更された点を問題化。fast-fail の意味、エラーと deny の区別、SCIM / LDAP の filter 未定義属性扱いとの整合、PEP 側の挙動定義の必要性を 5 点に整理。この論点リストは 12 月 17 日コールで合意される
execute_all/deny_on_first_deny/permit_on_first_permitの 3 値導入へと直接つながる - Issue #163 - Discussion: Is providing reason reasonable?(2024-10-03 起票、2024-12-03 not planned で close)— 「default-deny 系では policy match なしの応答に reason は付与できない」現実を指摘し、permit に対して which policy が allow したかの reason を返すことの是非を WG に問う。アサインは davidjbrossard
- Issue #164 - Allowing a PDP to specify Application id in a multi-Application/PEP to PDP environment(2024-10-03 起票、2025-06-20 completed で close)— 「1.1-01 仕様には application id を明示する仕組みがない」「todo アプリと projectMgmt アプリが同じ todo リソースを扱うが異なる権限を必要とするケースを表現できない」と指摘し、Hexa Policy が application を policy target とする方式を引きつつ application パラメータ追加を提案
3. ミーティングと議論
AuthZEN WG は毎週火曜にコールを開催している。2024 年 10 月の定例コールは 10 月 1 日・10 月 8 日・10 月 22 日・10 月 29 日 が実質開催候補で、10 月 15 日のコールは Authenticate 2024 と重なるためキャンセル(#209、David Brossard、2024-10-15)。10 月の議事録について HackMD @oidf-wg-authzen の公開索引は本稿執筆時点で一覧表示されず、ML 投稿にも 10 月コールの notes 単独投稿は確認されなかった。このため本節では、ML スレッドおよび GitHub から再構成できる議論内容を中心に記述する。
10 月 15 日(火)定例コール — キャンセル(Authenticate 2024 会期初日)
- アナウンス: Tomorrow's call canceled(David Brossard、2024-10-15 05:19 UTC)— 「This is a reminder that tomorrow's meeting is cancelled due to Authenticate 2024.」
- 背景: Authenticate 2024(FIDO Alliance 主催、Carlsbad CA、10 月 14〜16 日)の会期と火曜定例コールがそのまま重複。Mon / Tue / Wed の 3 セッション参加に WG 主要メンバー(Omri Gazitt、David Brossard、Atul Tulshibagwale、Alex Babeanu、Alex Olivier 等)が登壇するため、平行開催が物理的に不可能
- 代替: 同会期の Tuesday 4-5:55pm PDT に「Future of Authorization: OpenID AuthZEN Interop Live Session」が開催されたため、定例コールの実質的役割(実装間相互運用性確認)はこの interop ライブセッションが担った
Authenticate 2024 Tuesday Interop Live Session(10-15、4-5:55pm PDT、Carlsbad) — 実質的なコール代替
定例コールのキャンセルと引き換えに、FIDO plenary 参加者に開かれた形式で AuthZEN 1.1-interoperable 実装の interop ライブが行われた。Aserto の retrospective ブログによれば、結果は当初予想を上回り 11 実装が 1.1 interop test suite に合格、追加 3 実装が数週間以内に compliant 化見込みと報告された(Aserto retrospective)。
セッションの議論軸(事前 panel および read-out から再構成):
- 1.0 implementer's draft 適合性: draft 01 そのままで PEP / PDP 双方が動くことを確認する基本セット
- 1.1 evaluations API への対応: 単一リクエストで複数評価を投げる boxcarred 評価が、UI フィーチャートグル(複数権限の一括取得)等の現実的ユースケースで機能することを実証
- non-authz engine PEP の登場: 翌週 10 月 30 日に David Brossard が ML 投稿で報告する Curity の Jonas Iggbom 実装(authz エンジンを持たない GraphQL Gateway 上の PEP)は、本セッション期間中の検証を経て公開された
10 月 22 日(火)定例コール — Authenticate 直後の振り返り(推定議題)
10 月 22 日 13:44 UTC に Mike Leszcz から OpenID Process Document / IPR Policy 改訂可決の通知、10 月 24 日 18:05 UTC に Notice of Vote 公告 が ML 投稿されていることから、22 日コールの議題は実質的に以下で構成されたと推定される(公開議事録は確認できなかった):
- Authenticate 2024 interop 結果(11 実装合格)の WG 振り返り
- Implementer's Draft 投票期間(11 月 7〜14 日)に向けた最終調整
- 10 月 3 日に
independentidから投入された 4 件の Issue(#161 〜 #164)の扱い - Eve Maler 主催の Gartner IAM 期間中 hangout(#210、2024-10-18 公示)の周知
10 月 29 日(火)定例コール — Search API 議論再開(推定議題)
- 10 月 29 日に David Brossard が ML へ Fwd: The Search API を投稿。これは 2024 年 1 月 24 日に Brossard と Alex Babeanu が議論した Search API の HackMD ドラフト(
hackmd.io/@oidf-wg-authzen/BydEeGJqT)を「Resurfacing the conversation Alex and I had months ago re. search」として再浮上させたもので、火曜コールの議題として議論することを意図していた - 投稿に含まれていた HackMD には「Brossard と Alex は Search API について 同じ定義を共有していない」「more ground to cover」と明記されており、後の 11 月 12 日コール(Vladi Berger〔Kong〕の partial evaluation ドラフト提示)への布石となる議論起点
4. メーリングリストの主要スレッド
openid-specs-authzen ML(2024 年 10 月アーカイブ)の 10 月総投稿数は 14 件(000207〜000220)。技術議論を含む主要スレッドは以下の 3 本。
4.1 Feedback on Authzen Authorization API 1.0 – draft 01 — 2024-10-02 開始(Gabriel Corona、2 通スレッド)
draft 01 publish から 26 日後、public review 期間の早期に投じられた 外部実装者からの初の体系的フィードバック。
- 発端(#207、Gabriel Corona、2024-10-02 06:47 UTC): 仕様の歴史を知らない実装者視点から 7 論点を提示
can_*プレフィックスの action 命名: 「semantically,readbetter describes the requested action thancan_read」— ABAC 表現としてはreadが自然X-Request-IDヘッダの RFC 6648 違反: 「X- プレフィックスは RFC 6648 で deprecated」と指摘- example context の規範性: example context section が normative なのか illustrative なのか 仕様で明示されていない
reasonフィールドの underspecification: examples でen-403形式が示されているが「locale mapping としてはenが適切」「reasonまたはreasonsフィールドを response に追加すべき」と提案- RFC 9493 Subject Identifiers for SET との非整合: 仕様が RFC 9493 を参照しているのに、実際の identifier フォーマットは単純な string であり、RFC 9493 の構造化フォーマットを統合していないギャップ
- example 内の
decision: trueと error message の併存: decision と error 系フィールドのセマンティック関係に矛盾を示す - content negotiation と language selection の明確化要望
- 応答(#208、Andrew Clymer、Rock Solid Knowledge、2024-10-02 08:26 UTC): 「+1」で支持表明。「
can_*プレフィックスを spec の examples および common actions の双方から外すこと」を主要提案として明示 - 意義: WG 外部の実装ベンダー(Gabriel Corona は GitHub
independentidとは別人格の独立コントリビューター)から、9 月 publish の draft 01 に対する最初の体系的フィードバックが寄せられた事例。can_*命名とX-Request-IDの指摘は後の draft シリーズ(特に Final 1.0 へ向けた common actions 整理)で繰り返し議論される論点となった
4.2 HTTP 400 and required attributes — 2024-10-30 開始(David Brossard、6 通スレッド)
10 月最後の技術スレッド。draft 01 のエラーレスポンス仕様の明示性を巡るやり取り。
- 発端(#215、David Brossard、2024-10-30 20:52 UTC): 「required attributes が抜けているリクエストに対する HTTP ステータスコードを spec が明示していない」「
Bad Requestを返すのが論理的だが、spec として明示的に書くべきか」と問題提起 - Omri Gazitt の応答(#216、2024-10-30 22:20 UTC): 「We mention it here」と既存の error responses 節を指し示しつつ、「could be more explicit and say that not including required attributes will result in a Bad Request」と明示化に同意
- Brossard の重ね問い(#217、2024-10-30 22:38 UTC): REST の一般原則からは自明だが「it wouldn't hurt to spell it out」と明文化を後押し
- Eve Maler の論点提示(#218、2024-10-30 22:40 UTC): pipermail ではアタッチメントが scrubbed されているが、続く #219 で Brossard が「Eve の質問への同意」を述べていることから、Maler は 「HTTP をトランスポートとした場合という限定子(qualifier)を付すべきか」 という抽象化を提起したと再構成される(後続 Omri 投稿で「Eve raised whether the guidance should be qualified 'for HTTP as a transport'」と引用)
- Brossard の同意(#219、2024-10-31 03:52 UTC): Maler の qualifier 提案を支持
- Omri Gazitt のクローズ(#220、2024-10-31 06:22 UTC): HTTPS バインディング節への明文追加 を結論として提示。エラーレスポンスのトランスポート非依存性を保ちつつ、HTTPS バインディングに具体的な HTTP 400 マッピングを置く設計
- 意義: AuthZEN spec の核心設計(情報モデルとトランスポートバインディングの分離)を再確認した小規模だが筋の良い議論。Eve Maler の「HTTP as a transport」qualifier 指摘は、後の Michiel Trimpe(VNG)による HTTP mapping extension(12 月)の議論基盤とも整合する
4.3 Notice of Vote / Process Document 承認 / Authenticate canceled / Gartner hangout / The Search API — 事務連絡群(5 通、Brossard / Maler / Leszcz)
技術議論ではないが、10 月の OIDF プロセスを把握するため重要な事務連絡群。
- #209 - Tomorrow's call canceled(David Brossard、2024-10-15): 10 月 15 日コールを Authenticate 2024 と重なるためキャンセル
- #210 - Hangout during Gartner IAM - signup is now live!(Eve Maler、xmlgrrl.com / Venn Factory、2024-10-18 22:49 UTC): Gerry Gebel と Eve Maler 共催で 12 月 10 日(Gartner IAM Grapevine 期間中)の 「Barbecue-Based Access Control Authorization Community Hangout」 を Eventbrite で告知。10 月時点で 12 月のコミュニティハングアウトを WG ML に予告
- #211 - Revisions to OpenID Process Document and IPR Policy Approved(Mike Leszcz、OIDF、2024-10-22 13:44 UTC): OIDF 全体の Process Document と IPR Policy 改訂が 2024-10-19 にメンバー投票で承認 された通知。投票結果は 賛成 106・反対 1・棄権 21(合計 128 票、391 メンバー中 34%、定足数 30% を充足)。9 月 12 日に理事会が全会一致で承認した内容
- #212 - Notice of Vote for Proposed AuthZEN Authorization API 1.0 Implementer's Draft(Mike Leszcz、2024-10-24 18:05 UTC): Marie Jordan / OIDF Secretary 署名の正式公告。投票期間 2024-11-07 〜 2024-11-14 12:00 PT、早期投票 2024-10-31 開始、polling location
openid.net/foundation/members/polls/343、45 日 review 期間完了 - #213 - Fwd: The Search API(David Brossard、2024-10-29): 2024 年 1 月 24 日の Brossard / Alex Babeanu 間 Search API 議論を resurfacing。HackMD
hackmd.io/@oidf-wg-authzen/BydEeGJqTを共有 - #214 - We have our first non-authz engine implementation!(David Brossard、2024-10-30 03:14 UTC): Curity の Jonas Iggbom による 「初の非認可エンジン由来の PEP 実装」 を報告。「PEP secures Curity's Graph API」「Axiomatics PDP に対してテストしてから AuthZEN GitHub の他エンドポイントでも検証」「コードは
github.com/curityio/authzen-authorization-manager」と詳細を共有
5. GitHub 上の議論
openid/authzen リポジトリの 2024 年 10 月活動: 新規 PR 12 件(うち 10 月マージ 9 件、closed 1 件、dependabot 1 件、その他 1 件は別月マージ)、新規 Issue 4 件(すべて 10 月 3 日 independentid 起票)。10 月のコミットは仕様本体ではなく interop website 整備に集中し、議論の主舞台は ML と Issue であった。
5.1 Phil Hunt(independentid、Hexa Policy)による 4 連投 Issue(2024-10-03)
10 月 3 日 1 日に集中投稿された 4 件は、1.1-01 ドラフトの設計上の未消化論点を一気にフラグ立てしたもの。各 Issue は単発で寄せられたが、Phil Hunt は Hexa Policy(後の 12 月 17 日コール議事録に「Hexa Policy where resources are conditions and applications are policy targets」として参照される)の設計知見を WG に持ち込む役割を果たした。
openid/authzen#161 — Make Testing Harness Permissive of Extra Data
- 起票: 2024-10-03 / close: 2025-08-14(not planned)
- 問題提起: 「現行 testing harness は、implementer's draft(
authorization-api-1_1_01.md)が許容するはずのcontext等の追加属性をレスポンスに含めると reject する」 - 論点: 実装側は debug や troubleshooting 目的で補足情報を返したい。仕様と test harness の間に乖離がある
- 意義: 後の Implementer's Draft 01 承認(11 月 15 日)後、test harness 整備と conformance test suite の関係が WG 内議題となる際の伏線
openid/authzen#162 — Ordered vs. Mapped Evaluation Response
- 起票: 2024-10-03 / close: 2025-04-16(completed)
- 問題提起: draft 1.1 が evaluations レスポンスを map(並列処理可能)として規定していたのに対し、draft 1.1-01 では array(順次処理)に変更された経緯
- 5 つの未解決質問:
- Error handling complexity: array 形式は decision が単純な true/false ではなく invalid input 等の error も含む可能性を示唆
- Processing logic の PEP 多様性: fail-on-first を要する PEP もあれば、すべてのリクエストを処理するものもある
- Batch processing の目的: 単一 subject のワークフローを支えるのか、validation オーバーヘッド削減のための request pooling か
- Fast-fail の定義: deny との違い、invalid input への適用か policy 違反への適用か
- Error vs. Deny distinction: invalid attributes は error を返すべきか deny を返すべきか。SCIM / LDAP の filter 未定義属性扱いに従うべきか
- 意義: この 5 点の論点リストは、12 月 17 日コールでの
execute_all/deny_on_first_deny/permit_on_first_permit3 値導入合意の直接的な土台となった。Phil Hunt の 10 月 3 日提起が無ければ、3 値合意は別の経路をたどった可能性が高い
openid/authzen#163 — Discussion: Is providing reason reasonable?
- 起票: 2024-10-03 / close: 2024-12-03(not planned) / assignee: davidjbrossard
- 問題提起: 「default-deny 系では、policy match なしの応答に reason は付与できない」現実を踏まえ、reason フィールドの設計意図を WG に問う
- 派生論点: permit に対しても「which policy が permit したか」を reason として返すべきか。security-sensitive システムにおける情報開示のトレードオフ
- closure: 12 月 3 日コールで「Evaluation API は immutable な Implementer's Draft として完了」と確認された直後にクローズ(not planned)
openid/authzen#164 — Allowing a PDP to specify Application id in a multi-Application/PEP to PDP environment
- 起票: 2024-10-03 / close: 2025-06-20(completed)
- 問題提起: 「1.1-01 仕様には application id を明示する仕組みがない」。同じ resource(todo)を扱う複数アプリ(todo アプリと projectMgmt アプリ)が異なる権限を必要とするシナリオを表現できない
- 解決方向の提案: Hexa Policy が「resources を condition、applications を policy target」として扱う方式を引きつつ、AuthZEN request に application パラメータの追加を提案
- 意義: 後の 12 月 10 日コールで Michiel Trimpe(VNG)が API Gateway 統合の文脈で「HTTP request を AuthZEN data model にどうマッピングするか」を提起した際、Phil Hunt のこの application id 論点も類似の「実装環境の文脈情報をどう request に運ぶか」問題として参照される
5.2 Authenticate 2024 interop 結果ファイルの集中投入(PR #165 〜 #175)
10 月 4 日 〜 16 日にかけて、interop website 関連の PR が立て続けにマージされた。これは Authenticate 2024(10/14〜16)に向けた最終整備と、その期間中の実装間調整がそのまま GitHub 上の coordination として現れたものである。
- PR #165(10-04 マージ、ogazitt): Hexa(Strata Identity)と PingAuthorize の interop 結果(最初の interop website 追加)
- PR #166 / #167(10-08 マージ、eazerad / ogazitt): Kogito 追加(1.0 implementer draft と 1.1 preview の両系統)
- PR #168 → #172(08-22 起票 → 10-12 close、vladiber / 10-12 マージ、ogazitt): Vladi Berger による PlainID 1.1-preview の初版(#168)には
yarn.lockの余分な差分と1.0-preview合格不能化の問題があり、ogazitt が #172 で「正しい差分」のみで置き換えてマージ。実装ベンダーからの contribution に対する maintainer 側 review プロセスの好例 - PR #169 / #170(10-12 マージ、tulshi): SGNL の test file 追加と boxcarred evaluations action 名 typo 修正。SGNL は
1.0-preview合格不能化のため当該リストから削除(コミットメッセージ「removed SGNL from 1.0-preview since it does not pass this suite anymore」) - PR #173(10-14 マージ、davidjbrossard): Axiomatics の implementer's draft 結果ファイルを interop website 想定 md フォーマットへ整形。Authenticate 会期初日(10-14)のマージ
- PR #174(10-15 マージ、baboulebou〔Alex Babeanu / 3edges〕、15 コミット): IndyKite の 1.0 / 1.1 interop config と結果。マージ過程で他 PR(SGNL / PlainID / Axiomatics)との衝突を 2 回解消。Authenticate Day 2(interop live session 当日)のマージ
- PR #175(10-16 マージ、davidjbrossard、3 コミット): Axiomatics の 1.1 conformance 結果と
pdps.json登録。Alex Olivier(Cerbos)のレビューコメント反映を含む。Authenticate Day 3(read-out session 当日)のマージ
これら 9 件の集中マージにより、Authenticate 2024 期間中に WG として「11 実装が 1.1 interop test suite に合格、3 実装が compliant 化見込み」(Aserto retrospective)と発表できる素地が整った。
6. 関連イベント
Authenticate 2024(Carlsbad CA, 2024-10-14 〜 16, Omni La Costa Resort)
10 月最大の対外イベントは FIDO Alliance 主催 Authenticate 2024(10 月 14〜16 日、FIDO plenary は 10 月 14〜17 日)。AuthZEN として 3 セッションを実施:
- Monday 2-2:50pm PDT — AuthZEN: Standards for modern authorization(panel)
- モデレータ: Omri Gazitt(Aserto)
- パネリスト: Atul Tulshibagwale(SGNL)、David Brossard(Axiomatics)、Alex Babeanu(3Edges)
- 議題: なぜ authorization standards が必要か、AuthZEN がこれまで何を構築したか
- Tuesday 4-5:55pm PDT — Future of Authorization: OpenID AuthZEN Interop Live Session
- 形式: FIDO plenary 参加者に開かれた interop live session
- 対象: 1.1-interoperable implementations 全件
- 想定実装数: 10 超
- 結果: 11 実装が 1.1 interop test suite に合格、3 実装が compliant 化見込み
- Wednesday 9:30-9:55am PDT — Read Out from the AuthZEN Interop Event
- 登壇者: David Brossard、Atul Tulshibagwale、Alex Olivier(Cerbos)、Omri Gazitt
- 議題: interop 結果と takeaway の発表
参加実装ベンダー(5 月 Identiverse 2024 の 9 社: 3Edges、Aserto、Axiomatics、Cerbos、Permit.io、Rock Solid Knowledge、SGNL.ai、Strata Identity、Thales を起点に、10 月の GitHub merge から追加された PlainID、IndyKite、Kogito、PingAuthorize、Hexa を含めて 14 件規模に拡大)。
意義: 5 月 Identiverse / 6 月 EIC に続く WG として 3 回目の大規模 interop イベントであり、Implementer's Draft 投票(11 月 7〜14 日)直前のタイミング で「ベンダーが実際に実装できる仕様」であることを公開検証した形になる。OIDF メンバー投票時に 「13 interoperable implementations を有する preview spec」(Aserto blog)として遡及的に位置づけられる根拠の場となった。
Curity による初の非認可エンジン由来 PEP 実装公開(2024-10-30)
- 報告: #214(David Brossard、2024-10-30 03:14 UTC)
- 実装者: Jonas Iggbom(Curity)
- 対象: Curity の Graph API を保護する PEP(非認可エンジン由来の PEP として初)
- 検証: Axiomatics PDP に対してテスト後、AuthZEN GitHub の他エンドポイントでも validate
- コード: github.com/curityio/authzen-authorization-manager
- 意義: それまでの interop 参加実装はほぼ全て「PDP を提供する認可エンジンベンダー」だった中、Curity という IdP / API Gateway ベンダーが PEP 側として AuthZEN を実装した最初の例。AuthZEN の利用範囲が PDP ベンダーの相互運用から「実際の運用環境で PEP を担うベンダー(IdP、API Gateway、SaaS)」へと拡張し始める転換点として記録される
OpenID Process Document / IPR Policy 改訂可決(2024-10-19)
- 通知: #211(Mike Leszcz、OIDF、2024-10-22 13:44 UTC)
- 可決日: 2024-10-19
- 投票結果: 賛成 106・反対 1・棄権 21(合計 128 票、391 メンバー中 34%、定足数 30% を充足)
- 理事会承認: 2024-09-12 全会一致
- AuthZEN への含意: 直後の 10 月 24 日 Notice of Vote および 11 月 7〜14 日 AuthZEN Implementer's Draft 投票は、この改訂後の Process Document / IPR Policy の下で実施される最初期の WG レベル投票となる
AuthZEN Notice of Vote 公告(2024-10-24)
- 公告: #212(Mike Leszcz、2024-10-24 18:05 UTC、Marie Jordan / OIDF Secretary 署名)
- OIDF ブログ: Public Review Period for Proposed AuthZEN Authorization API 1.0 Implementer's Draft / Notice of Vote(2024-10-24 公開)
- 投票期間: 2024-11-07 〜 2024-11-14 12:00 PT
- 早期投票開始: 2024-10-31
- 45 日 review 期間: 完了
- polling location:
openid.net/foundation/members/polls/343
Gartner IAM Grapevine 期間中の Community Hangout 告知(2024-10-18)
- 告知: #210(Eve Maler、Venn Factory、2024-10-18 22:49 UTC)
- 共催: Gerry Gebel(Strata Identity)、Eve Maler(Venn Factory)
- 開催日: 2024-12-10(Gartner IAM Grapevine 期間中)
- イベント名: 「Barbecue-Based Access Control Authorization Community Hangout」
- 会場: 北テキサス(Gartner IAM Grapevine と同一エリア)
- 意義: 12 月の Gartner Grapevine(AuthZEN の初の対外プレゼンテーション)に向けた早期からのコミュニティ動員。10 月時点で 12 月のハングアウトを WG ML に予告した点で、Implementer's Draft 投票(11 月)→ Grapevine 登壇(12 月)→ Community Hangout(12 月)の連続的なプロセスが 10 月段階で設計されていたことを示す
7. 今後の予定(2024 年 10 月末時点の視点)
10 月末時点で WG が想定していた次月以降の動き:
- 早期投票(10-31 開始)と本投票(11-07 〜 11-14): 公告通り 10 月 31 日から OIDF メンバー早期投票を開始し、11 月 7 日 〜 14 日 12:00 PT に本投票。AuthZEN WG として最初の Implementer's Draft 採決
- Authenticate 2024 interop 結果の WG 振り返り: 11 月の定例コール(11-05 / 11-12 等)で 11 実装合格の意味付けと、追加 3 実装の compliant 化進捗確認
independentidIssue 4 件の WG レビュー: 特に Issue #162(Ordered vs. Mapped Evaluation Response)は Evaluations API の停止条件セマンティクスを直接問うものであり、Implementer's Draft 承認後の作業ドラフト(後に1_0-02と命名される版)での扱い方を 11 月以降に検討- HTTP 400 / required attributes の明文化: 10-31 Omri Gazitt 提案に沿って、HTTPS バインディング節に required attributes 欠落時の HTTP 400 マッピングを追記する PR を 11 月以降に投入
- Search API ドラフト議論の再開: 10-29 Brossard 再浮上の HackMD ドラフトを起点に、11 月以降の火曜コールで partial evaluation 提案(後の 11-12 コールで Vladi Berger〔Kong〕が WIP draft を共有)と統合
- Curity PEP の interop 統合: Jonas Iggbom 実装を AuthZEN interop website に組み込むかどうかを 11 月以降に検討(Curity は authz エンジンを持たないため、interop website の従来カテゴリ「PDP」「PEP+PDP」とは別枠の取り扱いが必要)
- Gartner IAM Grapevine(12-09 〜 11)対外プレゼンテーション: 共同議長 Omri Gazitt と David Brossard による初の Gartner 登壇に向けた準備を 11 月から開始
- Barbecue-Based Access Control Hangout(12-10): Eve Maler / Gerry Gebel 共催のコミュニティハングアウトに向けた登録呼びかけ
8. 参考情報源
- AuthZEN Working Group - OpenID Foundation - WG 公式ページ
- GitHub openid/authzen - 仕様ソース・Issue・PR
- openid-specs-authzen ML 2024 年 10 月アーカイブ - 10 月分 ML スレッド全件(14 通、
000207〜000220) - HackMD @oidf-wg-authzen - 議事録ホスト先
- authzen-interop.net - 相互運用デモサイト
- Authorization API 1.0 - draft 01 - 2024-09-06 publish、10 月時点で public review 中
- OIDF アナウンス: Public Review Period for Proposed AuthZEN Authorization API 1.0 Implementer's Draft / Notice of Vote - 2024-10-24 公開、Marie Jordan / OIDF Secretary 署名
- Authenticate 2024 conference (FIDO Alliance) - 2024-10-14 〜 16、Omni La Costa Resort、Carlsbad CA
- Aserto blog: Aserto at Authenticate 2024 - AuthZEN 3 セッション概要(panel / interop live / read-out)
- Aserto blog: OpenID AuthZEN Implementer's Draft and Why it Matters - 2024-09-19 公開、Authenticate 2024 interop event の事前情報
- Aserto blog: OpenID AuthZEN, One Year In: A Retrospective - Authenticate 2024 で 11 実装合格・3 実装が後数週で compliant 化見込みと振り返り
- ML #207: Feedback on Authzen Authorization API 1.0 – draft 01 - 7 論点フィードバック(Gabriel Corona、2024-10-02)
- ML #208: Feedback on Authzen Authorization API 1.0 – draft 01 -
can_*撤廃支持(Andrew Clymer、Rock Solid Knowledge、2024-10-02) - ML #209: Tomorrow's call canceled - 10-15 コール Authenticate 重複でキャンセル(David Brossard、2024-10-15)
- ML #210: Hangout during Gartner IAM - signup is now live! - 12-10 BBQ hangout 告知(Eve Maler、2024-10-18)
- ML #211: Revisions to OpenID Process Document and IPR Policy Approved - OIDF プロセス改訂可決(Mike Leszcz、2024-10-22)
- ML #212: Notice of Vote for Proposed AuthZEN Authorization API 1.0 Implementer's Draft - 投票公告(Marie Jordan / Mike Leszcz、2024-10-24)
- ML #213: Fwd: The Search API - Search API 議論 resurfacing、HackMD
BydEeGJqT共有(David Brossard、2024-10-29) - ML #214: We have our first non-authz engine implementation! - Curity Jonas Iggbom の PEP 公開報告(David Brossard、2024-10-30)
- ML #215: HTTP 400 and required attributes - 問題提起(David Brossard、2024-10-30)
- ML #216: HTTP 400 and required attributes - 明示化に同意(Omri Gazitt、2024-10-30)
- ML #217: HTTP 400 and required attributes - 明文化を後押し(David Brossard、2024-10-30)
- ML #218: HTTP 400 and required attributes - HTTP qualifier 提起(Eve Maler、2024-10-30)
- ML #219: HTTP 400 and required attributes - qualifier 支持(David Brossard、2024-10-31)
- ML #220: HTTP 400 and required attributes - HTTPS バインディング節への明文追加提案でクローズ(Omri Gazitt、2024-10-31)
- Issue #161: Make Testing Harness Permissive of Extra Data - test harness と spec の乖離(independentid、2024-10-03)
- Issue #162: Ordered vs. Mapped Evaluation Response - map → array 変更と fast-fail / error / deny セマンティクス 5 論点(independentid、2024-10-03)
- Issue #163: Discussion: Is providing reason reasonable? - default-deny 系での reason フィールド設計問題(independentid、2024-10-03)
- Issue #164: Allowing a PDP to specify Application id in a multi-Application/PEP to PDP environment - application id 識別の欠如(independentid、2024-10-03)
- PR #165: Interop/hexa pingauthorize results - Hexa / PingAuthorize 結果(ogazitt、2024-10-04 マージ)
- PR #166: Update pdps.json - Kogito 追加(eazerad、2024-10-08 マージ)
- PR #167: added Kogito to interop website results list - Kogito interop 結果(ogazitt、2024-10-08 マージ)
- PR #168: Plainid 1.1-preview - vladiber 起票、#172 に置換され close(2024-10-09 起票・2024-10-12 close)
- PR #169: added SGNL test file - SGNL test と PDP リスト更新(tulshi、2024-10-12 マージ)
- PR #170: fixed typo in action name for boxcarred evaluations - boxcarred evaluations action 名 typo 修正(tulshi、2024-10-12 マージ)
- PR #172: added PlainID to PDP list and interop results - PR #168 のリプレース(ogazitt、2024-10-12 マージ)
- PR #173: Updated md format to be in the format expected by the interop website - Axiomatics md 整形(davidjbrossard、2024-10-14 マージ)
- PR #174: Indykite 1.0 and 1.1 interop config and results - IndyKite interop(baboulebou、2024-10-15 マージ)
- PR #175: Updated the Axiomatics results for 1.1 conformance - Axiomatics 1.1 conformance(davidjbrossard、2024-10-16 マージ)
- PR #176: Bump http-proxy-middleware from 2.0.4 to 2.0.7 - dependabot、2024-10-25 起票・2025-02-25 close(未マージ)
- curityio/authzen-authorization-manager - Curity の Graph API を保護する PEP 実装(Jonas Iggbom、2024-10-30 ML 公開)
- HackMD: AuthZEN Search API ドラフト - Brossard / Babeanu の Search API 議論ドキュメント(2024-01-24 作成、2024-10-29 resurfacing)