[ 
https://issues.apache.org/jira/browse/DERBY-2109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12561092#action_12561092
 ] 

Daniel John Debrunner commented on DERBY-2109:
----------------------------------------------

Right I was seeing authorization identifier as a value that resulted from 
applying the rules of section 5.2/5.4 to the identifiers, but strictly speaking 
that's not true. Then as Dag points out we are really talking about user 
identifier for authentication, though possibly authorization identifier for 
authorization.

So I think we can agree that a user has a unique identity, can we call this 
UID? This corresponds to what is stored in the system tables.

So a user identifier is a mechanism of representing a UID in a SQL statement 
using SQL regular or delimited identifiers. Section 5.2/5.4 provides the rules 
for this mapping.

Derby's Java code and property files use the same syntax rules as SQL's user 
identifier to represent a UID.

So the concept of UserName and user identifier are actually the same, so we 
should drop UserName and use user identifier.
[so that's what I meant by the SQL standard defined the rules from user name to 
authorization identifier - which is really user identifier to UID]

authorization identifier is defined by the SQL spec and can represent a user 
identifier or a role name.

So if SystemPrincipal represents a user then its input format should be that of 
a user identifier. I think if we ever wanted to add role support to the policy 
file then a RolePrincipal would be clearer than having roles and users mixed in 
the same Principal class.


Rick I think you seem to be saying that a system authentication implementation 
could treat regular user identifiers of fred and FRED as different. This then 
contradicts the very definition of user identifier, so it would need a new set 
of terms to describe this. This seems to go against the existing definitions.

> System privileges
> -----------------
>
>                 Key: DERBY-2109
>                 URL: https://issues.apache.org/jira/browse/DERBY-2109
>             Project: Derby
>          Issue Type: New Feature
>          Components: Security
>    Affects Versions: 10.3.1.4
>            Reporter: Rick Hillegas
>            Assignee: Martin Zaun
>         Attachments: DERBY-2109-02.diff, DERBY-2109-02.stat, 
> derby-2109-03-javadoc-see-tags.diff, DERBY-2109-04.diff, DERBY-2109-04.stat, 
> DERBY-2109-05and06.diff, DERBY-2109-05and06.stat, DERBY-2109-07.diff, 
> DERBY-2109-07.stat, DERBY-2109-08.diff, DERBY-2109-08.stat, 
> DERBY-2109-08_addendum.diff, DERBY-2109-08_addendum.stat, 
> SystemPrivilegesBehaviour.html, systemPrivs.html, systemPrivs.html, 
> systemPrivs.html, systemPrivs.html
>
>
> Add mechanisms for controlling system-level privileges in Derby. See the 
> related email discussion at 
> http://article.gmane.org/gmane.comp.apache.db.derby.devel/33151.
> The 10.2 GRANT/REVOKE work was a big step forward in making Derby more  
> secure in a client/server configuration. I'd like to plug more client/server 
> security holes in 10.3. In particular, I'd like to focus on  authorization 
> issues which the ANSI spec doesn't address.
> Here are the important issues which came out of the email discussion.
> Missing privileges that are above the level of a single database:
> - Create Database
> - Shutdown all databases
> - Shutdown System
> Missing privileges specific to a particular database:
> - Shutdown that Database
> - Encrypt that database
> - Upgrade database
> - Create (in that Database) Java Plugins (currently  Functions/Procedures, 
> but someday Aggregates and VTIs)
> Note that 10.2 gave us GRANT/REVOKE control over the following  
> database-specific issues, via granting execute privilege to system  
> procedures:
> Jar Handling
> Backup Routines
> Admin Routines
> Import/Export
> Property Handling
> Check Table
> In addition, since 10.0, the privilege of connecting to a database has been 
> controlled by two properties (derby.database.fullAccessUsers and 
> derby.database.defaultConnectionMode) as described in the security section of 
> the Developer's Guide (see 
> http://db.apache.org/derby/docs/10.2/devguide/cdevcsecure865818.html).

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

Reply via email to