[jboss-as7-dev] Securing the Console
Brian Stansberry
brian.stansberry at redhat.com
Mon Jan 24 08:50:52 EST 2011
On 1/21/11 11:04 AM, Heiko W.Rupp wrote:
>
> Am 21.01.2011 um 16:20 schrieb Brian Stansberry:
>> To me, "simple permissions" means if you can authenticate as an admin,
>> you're root. Everything else below is "complex permissions."
>
> One may (as we discussed on the phone iirc) have three categories:
> - root
> - deploy + view
> - view only
>
This is a kind of in-between stage between really simple permissions and
truly complex permissions. In a "complex permission" system, we'd:
a) Figure out all the request characteristics which users would want to
use in access control decisions.
b) Determine the control point(s) where the request could be evaluated.
c) Provide a configuration mechanism where users can express what roles
are allowed to access what combination of characteristics. Expose such
via the configuration files and all our management interfaces.
This 3 category approach eliminates c) by making it static. Big savings
in effort. One that by itself doesn't prevent a full, more complex
approach in a later release; i.e. we could always add configuration
capability as a new feature.
It also affects a) by specifying a limited number of relevant request
charactistics (is request read-only, is it deployment related.) That
could be ok too as a way to reduce the amount of AS 7.0 work, but we'd
need to think through what all the characteristics are that we're going
to be asked (i.e. required) to support in the future. And make sure we
don't design things in a way where that's not doable.
> If the REST verbs would be used, GET could be filtered for read-only,
> and all allowed for root - and the deploy role would need some
> filtering on the url.
>
The REST verbs are just other ways of describing CRUD. And what a
request does in CRUD terms is certainly a big characteristic in any ACL
system.
> But then urls could also be constructed in a way of
>
> /metric/domain/x/subsystem/y/...
Metrics aren't the only CRUD "Read" so I don't think elevating them to a
top level concern in the model solves much.
> /deploy/server-group/x/..
Deployment related stuff is already in just a couple easily identified
branches of the resource tree, so I don't think making it a top level
concept helps much in terms of evaluating requests.
> /<other>/....
>
> Which can be relatively easy be matched to the above three roles.
>
> But then I am fine with "root" - only being present
:-)
It's a good discussion though.
--
Brian Stansberry
Principal Software Engineer
JBoss by Red Hat
More information about the jboss-as7-dev
mailing list