Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アクセス制御の新時代OpenFGAできめ細かなアクセス制御(FGA)に入門してみた
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
新屋 司
August 11, 2024
0
1.1k
アクセス制御の新時代OpenFGAできめ細かなアクセス制御(FGA)に入門してみた
「アクセス制御の新時代OpenFGAできめ細かなアクセス制御(FGA)に入門してみた」というタイトルでDevelopersIO 2024 Odysseyに登壇しました
新屋 司
August 11, 2024
Tweet
Share
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
54
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
93
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
370
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
310
Color Theory Basics | Prateek | Gurzu
gurzu
0
190
How to make the Groovebox
asonas
2
1.9k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
KATA
mclloyd
PRO
34
15k
Transcript
アクセス制御の新時代 OpenFGAできめ細かなアクセ ス制御(FGA)に⼊⾨してみた 2024.7.23 産業⽀援グループゲームソリューション部 新屋 司
Xへの投稿の際は、 ハッシュタグ #cm_odyssey でお願いいたします。 2 お願い
⾃⼰紹介 新屋 司 クラスメソッド株式会社 ゲームソリューション部 福岡(北九州) 業務効率化⽀援(認証‧認可) 3
OpenFGA 4
Googleドライブのような、きめ細 かいアクセス制御を実装できる 認可ソリューション 5
Googleドライブのようなものとは? きめ細かいアクセス制御とは? そもそも認可とは?
前提知識 7
認証/認可 8
認証/認可 • 認証はユーザーが本⼈であることを確認する。 • 認可はリソースにアクセスする権限を確認する。 9
アクセス制御 10
ロールベースアクセス制御 ユーザーには「管理者」や「編集者」などのロールが 割り当てられ 、各ロールには特定の権限が関連付け られる。 11 RBAC
ロールベースアクセス制御 • 強み ◦ シンプル ▪ RBACは、開発者とエンドユーザーの両⽅にとってシンプルで使い慣 れたソリューションを提供する。 • 弱み
◦ 限られた柔軟性 ▪ アクセス制御はロールによってのみ定義されるため、システムがス ケールすることによる、きめ細かいアクセス制御要件が出現すると、 RBACのシステムはすぐに不⼗分になる可能性がある。 12
属性ベースアクセス制御 属性(ユーザー、リソース、アクション、条 件)に基づいたアクセス制御を⾏う。 13 ABAC
S3バケットポリシー 14
属性ベースアクセス制御 • 強み ◦ きめ細かさ ▪ ABACは、属性を使⽤して⾮常にきめ細かなアクセス制御ポリ シーを作成する機能を提供する。 • 弱み
◦ 複雑さ ▪ ABACの実装、管理、保守は⼤きな課題となる可能性があり、 設計が⾮常に複雑で時間がかかるだけでなく、システム更改 のたびに⾒直すなど、継続的なメンテナンスが必要。 15
認可って なんか⼤変そう... 16
ReBAC登場 17
ReBACとは Relationship-Based Access Control リソース間の関係性に焦点を当てたアクセス制御モデ ル 18 ReBAC
関係性?
関係ベースアクセス制御 20 Root Folder File Folder Folder File File File
? ? ? ? ? 太郎
関係ベースアクセス制御 21 Root Folder File Folder Folder File File File
? parent parent parent parent 太郎
関係ベースアクセス制御 22 Root Folder File Folder Folder File File File
owner parent parent parent parent 太郎
関係ベースアクセス制御 23 Root Folder File Folder Folder File File File
owner parent parent parent parent editor viewer 太郎 健太郎 花⼦
関係ベースアクセス制御 24 Group Folder Folder editor member member 太郎 健太郎
花⼦ editor viewer
RBACやABACで同じことが出来ないの?
ロールベースアクセス制御 26 Folder Folder editor special_viewer owner edit 太郎 健太郎
花⼦ view edit
属性ベースアクセス制御 27 Folder Folder owner.太郎 editor.太郎 viewer.太郎 editor.健太郎 viewer.健太郎 太郎
健太郎 花⼦ owner.太郎 editor.太郎 viewer.太郎 editor.健太郎 viewer.健太郎 viewer.花⼦ if (user.name == folder.owner) … if (user.name == folder.editor) … if (user.name == folder.viewer) …
関係ベースアクセス制御 • 強み ◦ 複雑な階層の処理 ▪ ReBACは階層とネストされた関係を表すように設計されている。 ▪ ReBACを使⽤すると、チームやグループを使⽤してリソースごとに個 別に
権限を定義するのではなく、⼀括して権限を定義できる。 • 弱み ◦ パフォーマンス ▪ 複雑な関係を処理するために多くの計算リソースを必要とするため、 ⼤規模なシステムではパフォーマンスが低下する可能性がある。 28
RBAC/ABAC/ReBACはなんとなく分かったけど OpenFGAとの関係は?
OpenFGA ReBACは、RBACやABACの機能を含む柔軟なアクセス制御 モデルであり、OpenFGAはこれ(ReBAC)を利⽤して⾼度 なアクセス制御シナリオをサポートします。 30 https://openfga.dev/
実践編 31
認可モデル 32
認可モデル 33
認可モデル 34 対象 主体 関係
関係タプル 35
関係タプル 36
認可モデルの例 37
Direct Access 38
Roles and Permissions 39
User Groups 40
Parent-Child Objects 41
実装編 42
さいごに 43
OpenFGAの使いどころ • Google Driveのような階層構造を持つドキュメント管理アプリ ◦ フォルダーとファイルの階層構造に対して、柔軟なアクセス制御 が可能。 • Githubのような組織(グループ)を持つアプリ ◦
リポジトリや組織の管理権限を動的に設定できる。 • X(旧Twitter)やYouTubeのようなシェア機能を持つアプリ ◦ 特定の投稿や動画に対して、⼀時的なアクセス権を付与すること が可能。 44
None