[ http://issues.apache.org/jira/browse/DERBY-2109?page=comments#action_12457515 ] Rick Hillegas commented on DERBY-2109: --------------------------------------
Thanks Dan and David for your quick feedback. I will incorporate your suggestions into the next rev of the spec: 1) Improve the package, class, and privilege names as suggested. 2) Avoid talking about what I can't imagine. 3) Say a bit more about database ownership: I don't see any architectural problem with changing the ownership; if someone wants to build this add-on feature, they can. 4) Replace the '???' with a sentence or two stating that I haven't identified all the bits of documentation which need to be changed but that this is something we need to do before closing this issue. 5) Avoid creating the impression that there is an architecturally significant System Administrator role. 6) I believe it is correct that you can grant the system permissons to code as well as users. I will clarify this. 7) I like the flexibility of adding a getPrinciple() method to UserAuthenticator. One question: do our stability conventions let us change an old customer-implemented interface in this way? Dan, could you say something more about how you think we should sand-down the plugin privilege: 8a) I agree that one of the problems is the ability to invoke code outside the jar files supplied with the application. But I think there are other issues. For instance, there may be publicly accessible methods in the application jar files which should not be called without setting up some context. 8b) Are you saying that you think this privilege should be scoped per database rather than per system? If so, do you think we should invent GRANT/REVOKE syntax for this? Or add a database-scoped Java permission which can be granted in the policy file? Thanks, -Rick > 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
