BEMAロゴ

エンジニアの
成長を支援する
技術メディア

【前編レポート】OpenFGAとは?Zanzibarベースの認可モデルで実現する次世代アクセス制御の全貌

Open in new tab

「認可の複雑さ」とOpenFGAのアプローチをご紹介

2025年6月12日、株式会社メンバーズOpen in new tab主催のエンジニア向けLTイベント「第15回 BEMAトーーク!」を開催しました。

当日は、クラスメソッド株式会社のゲームソリューション部に所属する新屋 司さんがご登壇。 新屋さんは、認証・認可(Authentication / Authorization)や社内ID管理など、IAM領域での業務効率化を専門とするエンジニアです。 

セッションでは、OpenFGAの技術的な仕組みとその可能性について、わかりやすく解説してくださいました。

今回のレポート(前編)では、新屋さんのセッションから特に印象的だったポイントをピックアップして、OpenFGAの基本構造や事例を編集部の視点も交えながらお届けします!

新屋さんによるセッション:「OpenFGAの概要と広がる可能性」

新屋さんは企業向けWebアプリケーションの開発を中心に経験を重ね、現在はクラスメソッド株式会社にて、IAM(アイデンティティ&アクセス管理)領域を専門とするエンジニアとして活躍されています。

セッション冒頭、新屋さんは、OpenFGAが2022年にAuth0から公開されたオープンソースのきめ細やかなアクセス制御(FGA)ソリューションであると紹介しました。

OpenFGAは、Googleの認可システム「Zanzibar」に着想を得て、2022年にAuth0がオープンソースとして公開したアクセス制御ソリューションです。Zanzibarは、GoogleドライブやYouTubeなどで利用される大規模認可システムであり、OpenFGAも同様のアプローチで、きめ細やかなアクセス制御を可能にしています。

新屋さんによると、このソリューションは、Googleドライブのようなきめ細やかなアクセス制御を実装できる点が特徴とのことです。

参加者からは、従来のRBACにおける「ロール爆発」という課題への共感や、OpenFGAのプレイグラウンドが「めっちゃ直感的でありがたい」、「仕事できる感」、「直感的に操作できる点」や「実務で使えるリアルさ」への共感が多数あがりました。

【参考リンク】

アクセス制御の新時代: OpenFGAできめ細かなアクセス制御(FGA)に入門してみた #cm_odysseyOpen in new tab

https://dev.classmethod.jp/articles/openfga-fga-developersio-2024-odyssey-cm_odyssey/

編集部まとめ:OpenFGAが乗り越えるこれまでの壁

印象的だったのは、「認証はよく話題に上がるのに、認可についてはあまり語られない」という言葉です。編集部としても、この指摘に深くうなずきました。実際、私も“認証”については理解しているものの、“認可”に関する話題になると、途端に抽象的になりがちだと感じていました。

そして、認可が難しい理由として、新屋さんは以下のような現実的課題を紹介しました:

  • アプリケーションごとに独自に作られた認可ロジックが乱立
  • 要件の追加や仕様変更が重なることで、複雑なスパゲッティコード化
  • メンテナンス性・再利用性・テスト容易性が低下

ここで、従来のアクセス制御モデルとその課題についても整理されました。

制御モデル

メリット

デメリット

RBAC(ロールベース)

シンプルで分かりやすい。職務に応じた設計が可能。

細かい制御に不向きで、「ロール爆発」により管理が複雑化する可能性。

ABAC(属性ベース)

細かい制御が可能。複雑な要件にも対応しやすい。

定義と運用の手間が大きく、メンテナンスが困難。

ReBAC(リレーションベース)

関係性に基づく自然なアクセス制御が可能。

複雑な関係性の処理には計算リソースが必要(※実用上は問題ないケースが多い)

新屋さんは、複雑な要件がない場合はRBACがシンプルでおすすめであるとしながらも、Googleドライブのようなきめ細やかなアクセス制御が求められるシステム開発において、OpenFGAはエンジニアにとって非常に有効な選択肢となることを話しました。

OpenFGAの基本的な構造(編集部注釈あり)

新屋さんの説明をもとに、編集部でその構造をあらためて整理してみました。OpenFGAでは、認可サーバーをアプリケーションとは独立して設計・運用するのが基本方針となっています。

実際のスライドで紹介されていたポイントは以下の通りです:

1.認可モデルの定義:

 認可のルールは、OpenFGA独自のDSL(Domain Specific Language)を用いて「モデルスキーマ」として定義されます。これはデータベースのスキーマに似ており、ユーザーやドキュメントといった「タイプ」と、それらの間の「リレーション」(例: ビュー、ライト)を記述。

2.関係(タプル)の管理: 

実際に付与される権限は「関係」(タプル)としてサーバーに流し込みます。たとえば、「太郎さんはドキュメントAに対して書き込み権限を持つ」といった具合に、個別のアクセスルールを記述することができる。

3.権限チェックの簡易性: 

アプリケーション側では、OpenFGAのライブラリにあるcheckメソッドを呼び出すだけで、ユーザー、オブジェクト、関係性を渡すことで、権限の有無(True/False)を簡単に確認できる。

新屋さんが語るOpenFGAの利便性とコスト面での利点

登壇では、新屋さんが「どのような場面でOpenFGAが効果的か?」について以下のような評価・コメントがありました。

  • 複雑な階層権限の処理:Googleドライブのようなドキュメント管理において、階層構造と関連付けられた関係を表現するのに優れている。
  • チーム単位の権限制御:GitHubなどで必要とされる「組織ベースのアクセス管理」も、OpenFGAで柔軟かつ簡潔に実現可能。
  • 実装の簡易性:アプリケーション側での権限チェックは、OpenFGAのライブラリで check メソッドを呼び出すだけで済む。

編集部ピックアップ:導入を支援するツールと環境

OpenFGAの導入をスムーズにするためのツール・環境として以下の紹介がありました。

  • Docker Compose:認可サーバーを簡単に立ち上げるために利用。
  • GUIプレイグラウンド:Webブラウザからアクセスでき、認可モデルの確認や権限パスの視覚的追跡にも対応。直感的なUI設計により、理解がぐっと深まる。

クラウド・生成AIとの親和性

OpenFGAはクラウドネイティブなアプリケーションと高い親和性を持っています。新屋さんが強調されていたのは、RAG(Retrieval-Augmented Generation)システムのような生成AIとの連携において、ReBACによる情報制御が特に効果的だという点でした。

業界別ユースケース

新屋さんが紹介したOpenFGAの活用例は次の通りです:

  • Googleドライブのようなドキュメント管理アプリ
  • GitHubのような組織ベースのアプリケーション
  • X(旧Twitter)やYouTubeなどの共有機能を持つアプリ
  • 法務チェックシステムやワークフロー系の権限管理

会の中での質疑応答(FAQ)

質疑応答では、以下のような導入時に直面しやすい実装課題について議論が交わされました。

Q. 一時的なアクセス制御(期間限定)には対応できるか?

→ OpenFGAでは condition を使って時間条件付きのアクセス制御が可能です。

Q. 大規模システムでスキーマを動的に変更したい場合は?

→ モデルIDを環境変数で切り替える仕組みを活用すれば、動的なスキーマ変更も柔軟に対応できます。

今後必要とされる知識

新屋さんの話から、OpenFGAに関連して必要とされる知識は以下の通りです:

  • 認証・認可の基礎知識(RBAC、ABAC、ReBAC)
  • OpenFGA DSL(認可モデル記述用言語)
  • API/SDKを用いた連携
  • Dockerなどのクラウドインフラ知識
  • 生成AIと連携したシステム構築の理解

編集部が今回のセッションを通じて感じたのは、OpenFGAが「実践的かつ未来的なアクセス制御の選択肢」であるということです。

編集部まとめ:アクセス制御にも“わかりやすさ”と“持ち運びやすさ”を

これまで「認可=地味で複雑でめんどくさいもの...」という印象を持っていた編集部。しかし、新屋さんのセッションを通じて、「構造的に管理すれば、実は再利用性が高く、変更にも強い」という新たな気づきを得ました。

OpenFGAのような仕組みは、まるで「チームのルールブック」をわかりやすく整理し、誰でも簡単に扱える形で持ち運べるようにしてくれるツールのようです。

「認可って難しそう…」と正直思っていた私ですが、OpenFGAの構造的なアプローチに触れて、「これなら使ってみたい」と素直に感じました。

 OpenFGAの理解を深めたい方は、新屋さんのセッション動画(YouTube)もぜひご覧ください!

BEMAでは、こうした“ワクワクする未来”を現実の技術で形にしていくための学びと交流の場を、これからも提供していきます。

このレポートが、少しでも皆さんの“次の一歩”のきっかけになれば幸いです!

この記事が役に立ったと思ったら、
ぜひ「いいね」とシェアをお願いします!

リンクをコピーXでシェアするfacebookでシェアする

この記事を書いた人

濱松 みのり
濱松 みのり
兵庫県出身。2019年に新卒でメンバーズに入社し、現在は福岡県在住。 デザイナーとしてWEB・SNS運用の経験を得て、現在は本メディアの運営を中心にディレクション業務を担当。 最近は「ちい活」を楽しんでおり、ハチワレと栗まんじゅう推し! 手帳をカスタマイズしながら、ジャーナリングや日記を続けるのが楽しみであり、日課。
詳しく見る
ページトップへ戻る