GET ACLs¶
Description¶
Returns access information for all users defined in the ACL (Access Control List) for the object with the UUID provided in the URI.
Requests¶
Syntax¶
To get the ACL for a domain:
GET /acls HTTP/1.1
Host: DOMAIN
Authorization: <authorization_string>
To get the ACL for a group:
GET /groups/<id>/acls HTTP/1.1
Host: DOMAIN
Authorization: <authorization_string>
To get the ACL for a dataset:
GET /datasets/<id>/acls HTTP/1.1
Host: DOMAIN
Authorization: <authorization_string>
To get the ACL for a committed datatype:
GET /datatypes/<id>/acls HTTP/1.1
Host: DOMAIN
Authorization: <authorization_string>
where:
- <id> is the UUID of the requested dataset/group/committed datatype
Request Parameters¶
This implementation of the operation does not use request parameters.
Request Headers¶
This implementation of the operation uses only the request headers that are common to most requests. See Common Request Headers
Responses¶
Response Headers¶
This implementation of the operation uses only response headers that are common to most responses. See Common Response Headers.
Response Elements¶
On success, a JSON response will be returned with the following elements:
acls¶
A JSON list that contains one element for each user specified in the ACL. The elements will be JSON object that describe the users acces permisions. Subkeys of the element are are:
userName: the userid of the user (‘default’ for the default access)
create: A boolean flag that indicated if the user is authorized to create new resources
delete: A boolean flag that indicated if the user is authorized to delete resources
read: A boolean flag that indicated if the user is authorized to read (GET) resources
update: A boolean flag that indicated if the user is authorized to update resources
readACL: A boolean flag that indicated if the user is authorized to read the object’s ACL
updateACL: A boolean flag that indicated if the user is authorized to update the object’s ACL
hrefs¶
An array of hypertext links to related resources. See Hypermedia.
Special Errors¶
The implementation of the operation does not return special errors. For general information on standard error codes, see Common Error Responses.
Examples¶
Sample Request¶
GET /groups/052dcbbd-9d33-11e4-86ce-3c15c2da029e/acls HTTP/1.1
host: tall.test.hdfgroup.org
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.3.0 CPython/2.7.8 Darwin/14.0.0
Sample Response¶
HTTP/1.1 200 OK
Date: Fri, 16 Jan 2015 20:06:08 GMT
Content-Length: 660
Etag: "2c410d1c469786f25ed0075571a8e7a3f313cec1"
Content-Type: application/json
Server: TornadoServer/3.2.2
{
"acls": [
{
"create": true,
"delete": true,
"read": true,
"readACL": true,
"update": true,
"updateACL": true,
"userName": "test_user2"
},
{
"create": false,
"delete": false,
"read": true,
"readACL": false,
"update": false,
"updateACL": false,
"userName": "test_user1"
},
{
"create": false,
"delete": false,
"read": false,
"readACL": false,
"update": false,
"updateACL": false,
"userName": "default"
}
],
"hrefs": [
{
"href": "http://tall_acl.test.hdfgroup.org/groups/eb8f6959-8775-11e5-96b6-3c15c2da029e/acls",
"rel": "self"
},
{
"href": "http://tall_acl.test.hdfgroup.org/groups/eb8f6959-8775-11e5-96b6-3c15c2da029e",
"rel": "root"
},
{
"href": "http://tall_acl.test.hdfgroup.org/",
"rel": "home"
},
{
"href": "http://tall_acl.test.hdfgroup.org/groups/eb8f6959-8775-11e5-96b6-3c15c2da029e",
"rel": "owner"
}
]