Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

新屋 司
August 11, 2024
320

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

「アクセス制御の新時代OpenFGAできめ細かなアクセス制御(FGA)に入門してみた」というタイトルでDevelopersIO 2024 Odysseyに登壇しました

新屋 司

August 11, 2024
Tweet

Transcript

  1. ロールベースアクセス制御 • 強み ◦ シンプル ▪ RBACは、開発者とエンドユーザーの両⽅にとってシンプルで使い慣 れたソリューションを提供する。 • 弱み

    ◦ 限られた柔軟性 ▪ アクセス制御はロールによってのみ定義されるため、システムがス ケールすることによる、きめ細かいアクセス制御要件が出現すると、 RBACのシステムはすぐに不⼗分になる可能性がある。 12
  2. 属性ベースアクセス制御 • 強み ◦ きめ細かさ ▪ ABACは、属性を使⽤して⾮常にきめ細かなアクセス制御ポリ シーを作成する機能を提供する。 • 弱み

    ◦ 複雑さ ▪ ABACの実装、管理、保守は⼤きな課題となる可能性があり、 設計が⾮常に複雑で時間がかかるだけでなく、システム更改 のたびに⾒直すなど、継続的なメンテナンスが必要。 15
  3. 関係ベースアクセス制御 23 Root Folder File Folder Folder File File File

    owner parent parent parent parent editor viewer 太郎 健太郎 花⼦
  4. 属性ベースアクセス制御 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) …
  5. 関係ベースアクセス制御 • 強み ◦ 複雑な階層の処理 ▪ ReBACは階層とネストされた関係を表すように設計されている。 ▪ ReBACを使⽤すると、チームやグループを使⽤してリソースごとに個 別に

    権限を定義するのではなく、⼀括して権限を定義できる。 • 弱み ◦ パフォーマンス ▪ 複雑な関係を処理するために多くの計算リソースを必要とするため、 ⼤規模なシステムではパフォーマンスが低下する可能性がある。 28
  6. OpenFGAの使いどころ • Google Driveのような階層構造を持つドキュメント管理アプリ ◦ フォルダーとファイルの階層構造に対して、柔軟なアクセス制御 が可能。 • Githubのような組織(グループ)を持つアプリ ◦

    リポジトリや組織の管理権限を動的に設定できる。 • X(旧Twitter)やYouTubeのようなシェア機能を持つアプリ ◦ 特定の投稿や動画に対して、⼀時的なアクセス権を付与すること が可能。 44