-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
acp/wac diff: the ACR Document #128
Comments
There's no |
$ curl -s http://www.w3.org/ns/auth/acl | grep accessControl --after-context=8
acl:accessControl a rdf:Property;
:comment """The Access Control file for this information resource.
This may of course be a virtual resource implemented by the access control system.
Note also HTTP's header Link: foo.meta ;rel=meta can be used for this.""";
:domain gen:InformationResource;
:label "access control";
:range gen:InformationResource;
:subPropertyOf :seeAlso . |
@bblfish - It's important to include prefix definitions when using prefixed names in TTL, SPARQL, and the like, especially when the cited ontology does not use the prefix you've chosen (
Without that |
@TallTed good point, but I was referring to |
I made a few clarifying changes @TallTed . There is indeed a legacy issue with naming these ACL's for Access Control Lists, as 1) there are no lists and 2) ACL technology is much more limiting that what the ontology allows: namely potentially Role Based Access Control (using credentials and OWL descriptions as the range of |
Am I right to think @emmettownsend that the wac:authorizes owl:equivalentProperty acp:access . If that is the case the ontology could be improved by specifying the domain like this: acp:access a rdf:Property ;
rdfs:label "access"@en ;
rdfs:comment """
The access property identifies the access policies that apply to the resource that links
to it via the acp:accessControl link header."""@en ;
rdfs:domain acp:AccessControlResource:
rdfs:range acp:Policy ;
rdfs:isDefinedBy acp: . And come to it, it would perhaps be useful to make clear than an acp:AccessControlResource a rdfs:Class ;
rdfs:label "Access Control Resource"@en ;
rdfs:comment """
An RDF resource that includes acp:access statements.
An acp:AccessControlResource is linked to via acp:accessControl HTTP Link header."""@en ;
rdfs:isDefinedBy acp: . |
@emmettownsend I just answered my question above in a comment on acp:apply* relations. Instead acp:access owl:inverseOf wac:accessTo . |
In the spirit of finding the diffs between ACP and WAC (Web Access Control), and the issue on formalization I thought I'd start with the one that struck me first.
Summary
WAC Authorization statements link to the resource. ACP is linked to from the protected resource.
Here I show the change by looking at how a similar idea would be implemented in WAC.
Details
The WAC ontology is very simple. It consists of an
wac:Authorization
class each of which statesACLs have thus been written out as documents listing all three properties
as follows:
Note that anyone can write up such statements. But the server Guard is only bound by those statements located in documents referenced by the
acl
rel HTTP header of the protected resource. This relations is namedwac:accessControl
in the current wac ontology (after renaming "acl"prefix with "wac").As a result there is duplication in the usage of the current wac ontology. The
wac:accessTo
and thewac:accessControl
(aka rel="acl" http link relation) seem to be stating something close to the same thing in an inverse way:wac:accessControl
relates a resource to a resource containingwac:Authorization
s.wac:accessTo
relates an Authorization to a resource for which it is an authorization.We can formalise this as follows. Create a type
:ACR
(for access control resource) and relation:authorizes
Then we can have the following:
wac:accessTo
is the inverse of the relation that consists of the pathwac:accessControl
followed by:authorizes
defined above. I think in OWL2 this can be expressed asACP can be thought of as following the second pattern: an
acp:AccessControl
element does not link to the resource it is protecting, but is linked to from the protected resource.Advantages
Where
/personal
can then contain Authorizations such as:The text was updated successfully, but these errors were encountered: