Author: angela
Date: Mon Feb 15 17:51:50 2016
New Revision: 1730580

URL: http://svn.apache.org/viewvc?rev=1730580&view=rev
Log:
OAK-4016 : Document composite authorization setup (WIP)
minor improvement: security doc

Modified:
    
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authentication/externalloginmodule.md
    
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authorization/composite.md
    jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/privilege.md
    jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/privilege/default.md

Modified: 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authentication/externalloginmodule.md
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authentication/externalloginmodule.md?rev=1730580&r1=1730579&r2=1730580&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authentication/externalloginmodule.md
 (original)
+++ 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authentication/externalloginmodule.md
 Mon Feb 15 17:51:50 2016
@@ -126,7 +126,7 @@ for the [ExternalLoginModuleFactory]/[Ex
 | `PARAM_IDP_NAME`          | String   | \-         | Name of the external IDP 
to be retrieved from the `ExternalIdentityProviderManager` |
 | `PARAM_SYNC_HANDLER_NAME` | String   | \-         | Name of the sync handler 
to be retrieved from the `SyncManager` |
 |                           |          |            |                          
|
-| *Optional (OSGi-setup)*   |          |            |                          
|
+| _Optional (OSGi-setup)_   |          |            |                          
|
 | `JAAS_RANKING`            | int      | 50         | Ranking of the 
`ExternalLoginModule` in the JAAS configuration, see [LoginModuleFactory] |
 | `JAAS_CONTROL_FLAG`       | String   | SUFFICIENT | See 
[LoginModuleControlFlag] for supported values. |
 | `JAAS_REALM_NAME`         | String   | \-         | See [LoginModuleFactory] 
|

Modified: 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authorization/composite.md
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authorization/composite.md?rev=1730580&r1=1730579&r2=1730580&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authorization/composite.md
 (original)
+++ 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/authorization/composite.md
 Mon Feb 15 17:51:50 2016
@@ -20,25 +20,78 @@ Combining Multiple Authorization Models
 
 ### General Notes
 
-_TODO_
+Since Oak 1.4 it is possible to combine multiple authorization models within 
the
+default security setup.
+
+The main entry point for the aggregation of multiple authorization models is 
the
+[CompositeAuthorizationConfiguration], which is in charge of generating 
composite 
+variants of the `AccessControlManager`, `PermissionProvider` and 
`RestrictionProvider` 
+if multiple authorization modules have been configured (see section 
+[Implementation Details](#details) below.
+
+_Please note:_
+Despite the fact that Oak supports the aggregation of multiple authorization 
+models, this extension is only recommended for experts that have in-depth
+knowledge and understanding of Jackrabbit/Oak authorization concepts. Doing so 
+might otherwise result in severe security issues and heavily impact overall 
performance.
 
 <a name="api_extensions"/>
 ### API Extensions
 
+There are two interfaces required to make a given authorization model 
deployable 
+in an aggregated setup:
+
+- [PolicyOwner]: Extension to the `AccessControlManager`, that allows a given 
implementation to claim responsibility for handling certain 
`AccessControlPolicy` implementations.
+- [AggregatedPermissionProvider]: Subclass of `PermissionProvider` which is 
mandated for permission evaluation once multiple providers are configured.
+
+#### PolicyOwner
+
+_TODO_
+
+#### AggregatedPermissionProvider
+
 _TODO_
 
 <a name="details"/>
 ### Implementation Details
 
+#### Access Control
+
+_TODO_
+
+#### Permission Evaluation
+
+_TODO_
+
+#### Restriction Management
+
+Support for multiple restriction providers has already been been present with 
the 
+default authorization implementation since Oak 1.0. The mechnism described in 
+section [Restriction Management](restriction.html) is not affected by the new 
functionality.
+
+The `CompositeAuthorizationConfiguration` is in charge of collecting 
+the `RestrictionProvider`s from the aggregated modules and expose the complete 
+set of restrictions in order to meet the API contract. 
+
+Nevertheless, each authorization model is in charge of exposing, validating 
and 
+evaluating the subset of restrictions it can handle through the access control 
API 
+extensions and the permission evaluation, respectively. Similarly, a given 
module  
+may decide to provide no support for restrictions. Examples include modules 
that 
+provide different types of `AccessControlPolicy`, where restrictions may 
simply 
+not apply (see for example `oak-authorization-cug`).
                
 <a name="configuration"/>
 ### Configuration
 
-_TODO_
+There are no implementation specific configuration options associated with 
+the `CompositeAuthorizationConfiguration`.
 
 <a name="pluggability"/>
 ### Pluggability
 
+_TODO_
 
 <!-- hidden references -->
-[OAK-1268]: https://issues.apache.org/jira/browse/OAK-1268
\ No newline at end of file
+[PolicyOwner]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/PolicyOwner.html
+[AggregatedPermissionProvider]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authorization/permission/AggregatedPermissionProvider.html
+[CompositeAuthorizationConfiguration]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAuthorizationConfiguration.html
\ No newline at end of file

Modified: jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/privilege.md
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/privilege.md?rev=1730580&r1=1730579&r2=1730580&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/privilege.md 
(original)
+++ jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/privilege.md Mon 
Feb 15 17:51:50 2016
@@ -90,10 +90,14 @@ The [PrivilegeConfiguration] is the Oak
 implementation of the `PrivilegeManager` interface is based on Oak API and can
 equally be used for privilege related tasks in the Oak layer.
 
-Please note: While it's in theory possible to replace the default privilege
+<a name="pluggability"/>
+### Pluggability
+
+_Please note:_ While it's in theory possible to replace the default privilege
 management implementation in Oak, this is only recommended if you have in depth
 knowledge and understanding of Jackrabbit/Oak internals and are familiar with
-the security risk associated with it.
+the security risk associated with it. Doing so, will most likely require a 
re-write
+of the default access control and permission evaluation.
 
 <!-- references -->
 [PrivilegeConfiguration]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeConfiguration.html

Modified: 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/privilege/default.md
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/privilege/default.md?rev=1730580&r1=1730579&r2=1730580&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/privilege/default.md 
(original)
+++ 
jackrabbit/oak/trunk/oak-doc/src/site/markdown/security/privilege/default.md 
Mon Feb 15 17:51:50 2016
@@ -139,5 +139,5 @@ The corresponding errors are all of type
 <a name="configuration"/>
 ### Configuration
 
-There are implementation specific configuration options associated with the 
+There are no implementation specific configuration options associated with the 
 privilege management implementation.
\ No newline at end of file


Reply via email to