Raising Authorization Awareness in a DBMS
Abhijeet Mohapatra, Ravi Ramamurthy, Raghav Kaushik · Conference on Innovative Data Systems Research · 2015
Fine-grained authorization (FGA) is a critical feature of many database applications. The general approach to FGA both in research and practice is the following: FGA policies are enforced by rewriting queries as a function of the current user. This query rewriting suffices for supporting the functionality of FGA but essentially treats FGA as a second-class citizen — most of the DBMS is unaware of authorizations; all the authorization logic is encapsulated in a small component that performs query rewriting. In this paper, we argue that in order to engineer good performance, it is essential to treat FGA as a first-class citizen by making the core components of the DBMS authorization-aware. As concrete evidence, we propose a novel index structure that we call an authorization index and show how an optimizer can exploit it to generate plans that are significantly better than the plans obtained using the rewriting approach. We also discuss how the tightlycoupled integration of authorizations provides an interesting case for revisiting other query processing problems.