Skip to main content
QUICK REVIEW

[論文レビュー] Sieve: A Middleware Approach to Scalable Access Control for Database Management Systems

Primal Pappachan, Roberto Yus|arXiv (Cornell University)|Apr 16, 2020
Access Control and Trust参考文献 33被引用数 5
ひとこと要約

SIEVE は、クエリコンテキストに応じたポリシーのフィルタリングとインデックス最適化されたガarded式を用いることで、ポリシー評価のオーバーヘッドを低減するミドルウェアアーキテクチャであり、データベース管理システムにおけるスケーラブルな細粒度アクセス制御(FGAC)を実現する。1,200件のポリシーを強制する際、ベースラインのクエリリライト戦略に比べて最大5.6倍の高速化を達成し、大規模な環境でも低レイテンシを維持する。

ABSTRACT

Current approaches for enforcing Fine Grained Access Control (FGAC) in DBMS do not scale to scenarios when the number of access control policies are in the order of thousands. This paper identifies such a use case in the context of emerging smart spaces wherein systems may be required by legislation, such as Europe's GDPR and California's CCPA, to empower users to specify who may have access to their data and for what purposes. We present Sieve, a layered approach of implementing FGAC in existing DBMSs, that exploits a variety of their features (e.g., UDFs, index usage hints, query explain) to scale to a large number of policies. Given a query, Sieve exploits its context to filter the policies that need to be checked. It also generates guarded expressions that save on evaluation cost by grouping policies and exploit database indices to cut on read cost. Our experimental results demonstrate that existing DBMSs can utilize Sieve to significantly reduce query-time policy evaluation cost. Using Sieve DBMSs can support real-time access control in applications such as emerging smart environments.

研究の動機と目的

  • 既存のデータベースシステムにおいて、多数の細粒度アクセス制御ポリシーを強制する際のスケーラビリティのボトル neck を解決すること。
  • スマートキャンパスや IoT システムなどのプライバシーに配慮した環境で、リアルタイムでのアクセス制御の強制をサポートすること。
  • 低レベルのシステム変更を加えずに、既存の DBMS が数千件のポリシーを効率的に処理できるようにすること。
  • ポリシーのリライトによるクエリ実行オーバーヘッドを低減させることで、ポリシーのチェックとタプル評価の両方の回数を最小限に抑えること。
  • MySQL や PostgreSQL といった多様な DBMS プラットフォームで動作する汎用的なミドルウェアソリューションを設計すること。

提案手法

  • SIEVE は、ベンダーロックの制約を避けるために、既存の DBMS の上位に配置されたレイヤードミドルウェアアーキテクチャを採用する。
  • SIEVE は、ユーザー定義関数(UDFs)、インデックス使用のヒント、クエリの EXPLAIN プランといった DBMS 機能を活用して、ポリシー評価を最適化する。
  • SIEVE は、クエリ実行時にコンテキスト情報を用いて関連するポリシーをフィルタリングし、1つのタプルあたり評価するポリシー数を削減する。
  • SIEVE は、データベースのインデックスを活用してディスク I/O と述語評価を最小限に抑えるために、ポリシーをグループ化した「ガード式」を生成する。
  • SIEVE は、効率的なインデックススキャンを可能にするために、動的にガードインデックスを生成する。
  • SIEVE は、PostgreSQL でビットマップスキャンを活用して、複数のガードからの結果を効率的に統合し、I/O と評価コストをさらに低減する。

実験結果

リサーチクエスチョン

  • RQ1既存の DBMS において、下位のシステムを変更せずに、数千件のポリシーに対する細粒度アクセス制御をどのようにスケーラブルに実現できるか。
  • RQ2クエリ実行中のポリシー強制に起因するパフォーマンスオーバーヘッドを低減するためのミドルウェアレベルの最適化は何か。
  • RQ3UDFs やヒント、インデックススキャンといった DBMS 機能を効果的に統合することで、ポリシー評価を加速できるか。
  • RQ4ポリシー負荷が増加する条件下で、SIEVE のパフォーマンスは、従来のクエリリライトベースのポリシー強制と比べてどの程度優れているか。
  • RQ5SIEVE は、異なる DBMS プラットフォームやデータセットにおいて、どの程度低レイテンシのクエリ処理を維持できるか。

主な発見

  • PostgreSQL で 1,200 件のポリシーをクエリあたり強制する際、SIEVE はベースラインのクエリリライト戦略に比べて最大 5.6 倍の高速化を達成する。
  • ポリシー数が増えるほどパフォーマンス向上が顕著に現れ、ポリシーセットの拡大に伴う強力なスケーラビリティを示している。
  • PostgreSQL においても、インデックス使用のヒントがなくても、ネイティブのビットマップスキャンサポートにより、SIEVE はベースラインを上回る性能を発揮する。
  • PostgreSQL が複数のガードからの結果をメモリ上でのビットマップで OR 演算できる能力のおかげで、ディスク I/O と評価コストが顕著に低減される。
  • SIEVE は、数千件のポリシーを処理しても低レイテンシのクエリ処理を維持でき、プライバシーに配慮したアプリケーションにおけるリアルタイムアクセス制御を可能にする。
  • ミドルウェアアプローチにより、MySQL や PostgreSQL といった異なる DBMS への移植性が実現され、汎用性と実用的な展開可能性が示された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。