This note discusses usecases and requirements for Access Control for the Linked Data Platform WG. It also outlines a charter for developing a standard for HTTP-based access control. The work delineated in the charter may be pursued in the Linked Data Platform WG or an independent, related WG.
While the Linked Data Platform WG. did not address Access Control directly, a number of usescases and requirements were identified as part of its deliberations. These usecases and requirements are captured in this document to serve as a basis for future work.
Access Control is a mechanism through which an agent ( an HTTP server in this case ) permits other agents -- individuals, organizations, and/or groups made up of these -- to perform certain operations on resources as specified by policies for the resources and for the agents . Within this document, the resources are LDP resources, but the access control may operate at different granularities: RDF or other documents, named graphs, individual triples, or individual attributes. The operations are create, read, update, and delete (CRUD).
When an agent requests a collection of resources it gets to see only those resources or parts of resources it is authorized for.
Depending on the granularity, the access control mechanisms may affect performance, but should not affect semantics.
For access control to come into play, the server must restrict some operations on some resources.
An Access Control Graph (ACG) consists of two kinds of collections: a collection of agents and a collection of resources. It then connects a collection of agents with a collection of resources with the connection identifying the privileges the agents have on the resources: CREATE, READ, UPDATE, DELETE.
ACGs are resources in their own right and can have access control priviledges specified for them just like any other resource. This permits the creation and modification of ACGs to be delegated.
The members of the collection of agents contain tokens that the agents obtain from some authentication service. The members of the collection of resources are URIs or URI templates.
The WG will need to decide whether it also wants to define fine-grained access control at an attribute level.