Claims
- 1. A method for executing database commands, comprising the computer-implemented steps of:
receiving a database command that references a set of attributes of a database object; determining which attributes of the set of attributes are referenced in the database command; and based on which of the attributes are referenced, determining whether to modify the database command prior to executing the database command.
- 2. The method of claim 1, wherein the step of determining whether to modify the database command includes the step of determining whether the database command references a restricted attribute.
- 3. The method of claim 2, wherein the step of determining whether to modify the database command includes the step of determining whether to modify the database command based on where within the database command the restricted attribute is referenced.
- 4. The method of claim 2, wherein the step of determining whether to modify the database command further comprises the step of determining whether to modify the database command based on whether the restricted attribute is in a select list of the database command.
- 5. The method of claim 2, wherein the step of determining whether to modify the database command further comprises the step of determining whether to modify the database command based on whether the restricted attribute is in a filter list of the database command.
- 6. The method of claim 1 further comprising the step of in response to determining whether to modify the database command, modifying the database command.
- 7. The method of claim 6, wherein the step of modifying the database command, further comprises the step of adding one or more predicates to the database command based on attribute restriction metadata.
- 8. The method of claim 1, further comprising the step of receiving data that indicates which attributes of the set of attributes are restricted.
- 9. The method of claim 8, wherein the step of receiving the data further includes the step of using an Application Program Interface (API) to receive the data.
- 10. The method of claim 1, wherein the step of determining whether to modify the database command includes the step of comparing one or more restricted attributes to one or more referenced attributes to determine which of the one or more referenced attributes are restricted.
- 11. The method of claim 1, wherein the database object is a table and the attributes of the database object are columns in the table.
- 12. A method for executing database commands, comprising the computer-implemented steps of:
receiving a database command that references a set of attributes of a database object; determining which attributes in the set of attributes are restricted; and generating a result set; wherein the result set includes a set of rows; wherein each row in the set of rows includes values for each attribute of the set of attributes; wherein, for at least one row of the set of rows, values for restricted attributes in the set of attributes are not values from the database object.
- 13. The method of claim 12 wherein, for all rows of the set of rows, the values for the restricted attributes are masked.
- 14. The method of claim 12 wherein, at least one row of the set of rows comprises an unmasked value for at least one of the restricted attributes.
- 15. The method of claim 12 wherein the step of determining which attributes in the set of attributes are restricted, further comprises the step of determining which attributes in the set of attributes are restricted based on attribute restriction metadata.
- 16. The method of claim 12, further comprising the step of receiving data that indicates which attributes of the set of attributes are restricted.
- 17. The method of claim 16, wherein the step of receiving the data further includes the step of using an Application Program Interface (API) to receive the data.
- 18. The method of claim 12, wherein the step of determining which attributes in the set of attributes are restricted further includes the step of comparing one or more restricted attributes to one or more referenced attributes to determine which of the one or more referenced attributes are restricted.
- 19. The method of claim 12, wherein the database object is a table and the attributes of the database object are columns in the table.
- 20. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in any one of claims 1-19.
RELATED APPLICATION AND PATENT
[0001] This application is related to U.S. Pat. No. 6,487,552 B1, issued Nov. 26, 2002, entitled “Database Fine-Grained Access Control”, naming as inventors Chon Hei Lei and Douglass James McMahon, the entire disclosure of which is hereby incorporated by reference. This application is related to U.S. application Ser. No. 09/589,602, filed Jun. 7, 2000, entitled “Partitioned Access Control to a Database”, naming as inventors Daniel ManHung Wong and Chon Hei Lei, the entire disclosure of which is hereby incorporated by reference.