[ http://issues.apache.org/jira/browse/DERBY-2109?page=comments#action_12458573 ] Rick Hillegas commented on DERBY-2109: --------------------------------------
I do not understand the need to qualify createDatabase privilege with a list of databases which the user is allowed to create. This is not how other vendors manage this privilege. DB2, Oracle, and Postgres all have a generic createDatabase privilege. If you have this privilege, then you can create as many databases as you want. I think that the DB2 documentation is most clear about the danger associated with this privilege. This is discussed in the DB2 SQL Reference manual, volume 1, in the section on "Authorization and privileges". For DB2, the ability to create databases is a superpower granted to the SYSCTL role and the point is to control who can consume system resources, including the power to consume disk space. In general, whether you can consume disk space is a consequence of the ability to create a database and is not refined by how many databases you can create. I don't understand what additional security hole is plugged by qualifying the createDatabase privilege with a list of database names. I recommend that we follow the lead of these other vendors and implement this as a general privilege whose purpose is to control the power to consume disk space. > System privileges > ----------------- > > Key: DERBY-2109 > URL: http://issues.apache.org/jira/browse/DERBY-2109 > Project: Derby > Issue Type: New Feature > Components: Security > Affects Versions: 10.3.0.0 > Reporter: Rick Hillegas > Fix For: 10.3.0.0 > > Attachments: 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. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
