ACL

The ACL section defines operations for managing access control lists (ACLs) that grant users and roles access to objects on the backup server. You can retrieve the access control list, get an ACL record for a specific object, change the owner of an object and change the effective access permissions for an object.

Get Access Control List

The HTTP POST request to the /api/v1/acl endpoint gets an array of ACL rules.

Available to: Backup Administrator, Backup Operator, Restore Operator, Backup Viewer, Security Administrator. Also available to custom roles that have backup or restore permissions.

SecurityBearer
Request
query Parameters
forceReload
boolean

If true, the cache will be reset for this request. Resetting the cache slows down request processing but it allows you to get up-to-date data.

header Parameters
x-api-version
required
string
Default: 1.3-rev2

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
object (PaginationFilter)

Pagination settings.

object (FilterExpressionModel)

Filter settings.

object (SortExpressionModel)

Sorting settings.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/acl
Request samples
application/json
{
  • "pagination": {
    }
}
Response samples
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get ACL Record

The HTTP GET request to the /api/v1/acl/{objectType}/{objectId} endpoint gets an Access Control List (ACL) record for the object that has the specified objectType and objectId.

Available to: Backup Administrator, Backup Operator, Restore Operator, Backup Viewer, Security Administrator. Also available to custom roles that have backup or restore permissions.

SecurityBearer
Request
path Parameters
objectType
required
string (EAclObjectKind)

ACL object type.

Enum: "backupJob" "backup"
objectId
required
string <uuid>

ACL object ID.

header Parameters
x-api-version
required
string
Default: 1.3-rev2

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/acl/{objectType}/{objectId}
Request samples
Response samples
application/json
{
  • "object": {
    },
  • "principal": {
    }
}

Change Owner of ACL Record

The HTTP POST request to the /api/v1/acl/{objectType}/{objectId}/changeOwner endpoint changes the owner of an Access Control List (ACL) record for the object that has the specified objectType and objectId.

Available to: Backup Administrator.

SecurityBearer
Request
path Parameters
objectType
required
string (EAclObjectKind)

ACL object type.

Enum: "backupJob" "backup"
objectId
required
string <uuid>

ACL object ID.

header Parameters
x-api-version
required
string
Default: 1.3-rev2

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
owner
required
string

Username or SID of the new object owner. To get the username or SID, run the Get ACL Record request.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/acl/{objectType}/{objectId}/changeOwner
Request samples
application/json
{
  • "owner": "TECH\\sheila.d.cory"
}
Response samples
application/json
{
  • "object": {
    },
  • "principal": {
    }
}

Change Effective Access of ACL Record

The HTTP POST request to the /api/v1/acl/{objectType}/{objectId}/changeEffectiveAccess endpoint changes the effective access of an Access Control List (ACL) record for the object that has the specified objectType and objectId.

Available to: Backup Administrator.

SecurityBearer
Request
path Parameters
objectType
required
string (EAclObjectKind)

ACL object type.

Enum: "backupJob" "backup"
objectId
required
string <uuid>

ACL object ID.

header Parameters
x-api-version
required
string
Default: 1.3-rev2

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
required
Array of objects (AclPrincipalDelegationModel)

Array of delegated rules. Visible only to the owner & admin.

Responses
200

OK

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/acl/{objectType}/{objectId}/changeEffectiveAccess
Request samples
application/json
{
  • "effectiveAccess": [
    ]
}
Response samples
application/json
{
  • "object": {
    },
  • "principal": {
    }
}