×

Techniques for efficient access control in a database system

  • US 10,318,752 B2
  • Filed: 05/26/2006
  • Issued: 06/11/2019
  • Est. Priority Date: 05/26/2006
  • Status: Active Grant
First Claim
Patent Images

1. A method, comprising computer-implemented steps of:

  • storing a plurality of ACLs in a first table, said plurality of ACLs being associated with multiple tables, wherein a database managed by a database server includes said first table and said multiple table;

    wherein a subset of said plurality of ACLs are associated with said multiple tables;

    a database server replicating said subset of said plurality of ACLs by at least storing versions of said subset of said plurality of ACLs in a second table different than said first table, said second table not storing versions of other ACLs of said plurality of ACLs that are not in said subset of said plurality of ACLs, wherein said database includes said second table;

    wherein a second index indexes said second table, said second index having an index key based on principals associated with said subset of said plurality of ACLs;

    a database server receiving a request to execute a query for one or more principals;

    wherein said query requires an operation to a base table that belongs to said multiple tables, said operation requiring a privilege to perform, wherein each row of rows in said base table is associated with an ACL of said subset of said plurality of ACLs;

    a database server rewriting said query to generate a first rewritten query to access said second table and that includes a predicate based on a set of one or more ACLs that grant one or more principles said privilege, wherein said predicate causes execution of said first rewritten query to;

    generate said set of one or more ACLs by at least performing an index evaluation on said second index;

    perform an index evaluation based on the predicate to determine which one or more rows in said base table are associated with said set of one or more ACLs, without accessing said one or more rows in the base table to identify said one or more rows, said index evaluation based on the predicate accessing a first index on said base table using said set of one or more ACLs, wherein said first index is ordered by key values of a key of said first index, wherein each key value of said key values identifies an ACL of said plurality of ACLs; and

    wherein the method is performed by one or more computing devices.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×