db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-4191) Lack of SELECT privilege does not prevent SELECT COUNT(*)
Date Thu, 19 Nov 2009 18:59:39 GMT

    [ https://issues.apache.org/jira/browse/DERBY-4191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12780202#action_12780202

Rick Hillegas commented on DERBY-4191:

Hi Mamta,

Without seeing how the method is used it is hard to comment. However, I think you are trying
to capture the sense of "The absolutely minimal set of permissions needed to SELECT from a
table." That is my sense of what is meant by part 2, section 7.6 <table reference>,
access rule 1.ii.1.B. So a better name for your proposed method may be getMinimalSelectPermissionsList().

Another way to tackle this might be to invent a new kind of permission which can't be granted
but which can be used internally: a MINIMAL_SELECT_PRIVILEGE for tables. This solution would
look something like the following:

o At bind time, you would add a MINIMAL_SELECT_PRIVILEGE( T ) to the list of required table
privileges for every table T that is selected from.

o For extra credit, this privilege could be removed from the list for any table which has
other required SELECT privileges. That removal might happen during bind() or maybe during
code generation. Alternatively, you could wait till execution time to short-circuit the check
for this privilege.

o At execution time, you would then do what I think you're planning on: If you see a MINIMAL_SELECT_PRIVILEGE
required for a table, you would check whether the user/currentRole enjoys a table-wide SELECT
privilege or SELECT privilege on at least one column.


> Lack of SELECT privilege does not prevent SELECT COUNT(*)
> ---------------------------------------------------------
>                 Key: DERBY-4191
>                 URL: https://issues.apache.org/jira/browse/DERBY-4191
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions:,
>            Reporter: Knut Anders Hatlen
>         Attachments: repro.sql
> A user that does not have SELECT privilege on a table can still perform a SELECT COUNT(*)
on that table. Counting a specific column (e.g., SELECT COUNT(X)) is prevented.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message