Access Control List
- Last UpdatedNov 16, 2022
- 2 minute read
The access control API is used to secure assets by setting their ownership and permissions.
Get Collection Acl
Returns the default AccessControlList for the assets collection and asset type collection.
Request
GET /api/v1/Tenants/{tenantId}/Namespaces/{namespaceId}/AccessControl/{resource}
Parameters
string tenantId
Tenant identifier.string namespaceId
Namespace identifier.string resource
Assets or AssetTypes.
Response
| Status Code | Body Type | Description |
|---|---|---|
| 200 | AccessControlList | OK. |
| 400 | ErrorTemplate | Request is not valid. See the response body for additional details. |
| 403 | ErrorTemplate | Forbidden. |
| 408 | ErrorTemplate | Request Timeout. |
| 503 | ErrorTemplate | Service unavailable. |
Example response body
200 Response
{
"RoleTrusteeAccessControlEntries": [
{
"Trustee": {
"Type": 3,
"ObjectId": "11111111-1111-1111-1111-111111111111"
},
"AccessRights": 3
},
{
"Trustee": {
"Type": 3,
"ObjectId": "22222222-2222-2222-1111-111111111111"
},
"AccessRights": 1
}
]
}
400 Response (ErrorTemplate)
{
"OperationId": "string",
"Error": "string",
"Resolution": "string",
"Reason": "string",
"property1": null,
"property2": null
}
Update Collection Acl
Updates default AccessControlList for the assets collection and asset type collection.
Request
PUT /api/v1/Tenants/{tenantId}/Namespaces/{namespaceId}/AccessControl/{resource}
Parameters
string tenantId
Tenant identifier.string namespaceId
Namespace identifier.string resource
Assets or AssetTypes.
Request Body
Updated ACL.
{
"RoleTrusteeAccessControlEntries": [
{
"Trustee": {
"Type": 3,
"ObjectId": "11111111-1111-1111-1111-111111111111"
},
"AccessRights": 3
},
{
"Trustee": {
"Type": 3,
"ObjectId": "22222222-2222-2222-1111-111111111111"
},
"AccessRights": 1
}
]
}
Response
| Status Code | Body Type | Description |
|---|---|---|
| 204 | None | No Content. |
| 400 | ErrorTemplate | Request is not valid. See the response body for additional details. |
| 403 | ErrorTemplate | Forbidden. |
| 408 | ErrorTemplate | Request Timeout. |
| 503 | ErrorTemplate | Service unavailable. |
List Collection Access Rights
Returns the default access rights for the assets collection and asset type collection.
Request
GET /api/v1/Tenants/{tenantId}/Namespaces/{namespaceId}/AccessRights/{resource}
Parameters
string tenantId
Tenant identifier.string namespaceId
Namespace identifier.string resource
Assets or AssetTypes.
Response
| Status Code | Body Type | Description |
|---|---|---|
| 200 | Inline | OK. |
| 400 | ErrorTemplate | Request is not valid. See the response body for additional details. |
| 403 | ErrorTemplate | Forbidden. |
| 408 | ErrorTemplate | Request Timeout. |
| 503 | ErrorTemplate | Service unavailable. |
Example response body
200 Response
[
"Read",
"Write",
"Delete",
"ManageAccessControl"
]
400 Response (ErrorTemplate)
{
"OperationId": "string",
"Error": "string",
"Resolution": "string",
"Reason": "string",
"property1": null,
"property2": null
}
Definitions
ErrorTemplate
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| OperationId | string | false | true | Operation identifier |
| Error | string | false | true | Error string |
| Resolution | string | false | true | Resolution string |
| Reason | string | false | true | Error reason string |
{
"OperationId": "string",
"Error": "string",
"Resolution": "string",
"Reason": "string",
"property1": null,
"property2": null
}
AccessControlList
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| RoleTrusteeAccessControlEntries | [AccessControlEntry] | false | true | None |
{
"RoleTrusteeAccessControlEntries": [
{
"Trustee": {
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
},
"AccessType": 0,
"AccessRights": 0
}
]
}
AccessControlEntry
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| Trustee | Trustee | false | true | None |
| AccessType | AccessType | false | false | None |
| AccessRights | int64 | false | false | None |
{
"Trustee": {
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
},
"AccessType": 0,
"AccessRights": 0
}
Trustee
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| Type | TrusteeType | false | false | None |
| ObjectId | string | false | true | None |
| TenantId | string | false | true | None |
{
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
}
TrusteeType
Enumerated Values
| Property | Value |
|---|---|
| User | 1 |
| Client | 2 |
| Role | 3 |
AccessType
Enumerated Values
| Property | Value |
|---|---|
| Allowed | 0 |
| Denied | 1 |