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

Rick Hillegas commented on DERBY-6160:
--------------------------------------

The "callAbort" permission is granted

o ...to derby.jar if you are running embedded

o ...to derbyclient.jar if you are running client/server

Note that there are 3 policy files which must be considered:

1) The policy file you use when running embedded. This is described by the 
Developer's Guide.

2) The server-side policy file you use when running client/server. This is 
described by the Admin Guide.

3) The client-side policy file you use when running client/server. I can't find 
where we document this policy file.

We ship a server.policy file with the product. This is the default, 
overly-broad policy file used for case (2) if you bring up a server without 
specifying your own, customized policy. This default policy file includes a 
block of permissions for derbyclient.jar. Ordinarily, you wouldn't include 
these derbyclient.jar permissions in a server-side policy file. We could 
probably remove these permissions from server.policy. However, I suppose these 
permissions make sense if your application runs server-side and needs to 
connect across the network to another Derby server.

The template.policy file contains examples of permission blocks which would go 
into (1) , (2), or (3).

There are four kinds of permissions which are granted to Derby:

i) Mandatory, hard-coded permissions. These are permissions which you need to 
include, uncustomized, in the appropriate policy file. These permissions must 
be granted if you want Derby to run at all. These include the permissions which 
are called "Mandatory permissions" in the "Granting permissions to Derby" 
section of the Developer's Guide.

ii) Mandatory, customizable permissions. These are permissions which need to be 
included in the appropriate policy file but which the customer needs to tailor 
to the environment. These permissions must be granted if you want Derby to run 
at all. These include the permissions which are called "Database access 
permissions" in the "Granting permissions to Derby" section of the Developer's 
Guide.

iii) Optional, hard-coded permissions. You can omit these permissions in order 
to tighten your security. However, if you omit these permissions, then some 
Derby features may not work.

iv) Optional, customizable permissions. These are like (iii) but need to be 
customized to your environment.

The "callAbort" permission is an example of (iii) which you would include in 
(1) or (3) as necessary.

Hope this is useful,
-Rick

                
> Fixes needed to documentation topics on security policy permissions
> -------------------------------------------------------------------
>
>                 Key: DERBY-6160
>                 URL: https://issues.apache.org/jira/browse/DERBY-6160
>             Project: Derby
>          Issue Type: Bug
>          Components: Documentation
>    Affects Versions: 10.9.1.0, 10.10.1.1
>            Reporter: Kathey Marsden
>            Assignee: Kim Haase
>         Attachments: DERBY-6160-2.diff, DERBY-6160-2.stat, DERBY-6160-2.zip, 
> DERBY-6160.diff, DERBY-6160.stat, DERBY-6160.zip
>
>
> DERBY-5363 added a new required permission  RuntimePermission 
> "accessUserInformation".
> This should be added to the developer guide information under granting 
> permissions to Derby.
> https://builds.apache.org/job/Derby-docs/lastSuccessfulBuild/artifact/trunk/out/devguide/cdevbabejgjd.html
> I am not sure of the context under which it is required if it is just needed. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to