Currently, CDAP allows users to enforce authorization for READWRITEEXECUTE, and ADMIN operations.

In general, this summarizes the authorization policies in CDAP:

Additionally:

Authorization policies for various CDAP operations are listed in the following tables. Policies for more complex operations can be checked here.

Namespaces

Operation

Privileges Required

Create

ADMIN

Update

ADMIN

Delete

ADMIN on the namespace, and ADMIN on all entities in the namespace. Note that lack of the privileges may result in an inconsistent state for the namespace. Some entities may get cleaned up while entities with insufficient privileges will remain.

List/View

Only returns those namespaces which user has at least one of READ, WRITE, EXECUTE, or ADMIN on the namespace or on any of its descendants.

Get

At least one of READ, WRITE, EXECUTE, or ADMIN on the namespace or any of its descendants.

Artifacts

Operation

Privileges Required

Add

ADMIN

Add a property

ADMIN

Remove a property

ADMIN

Delete

ADMIN

List/View

Only returns those artifacts on which user has at least one of READ, WRITE, EXECUTE, or ADMIN.

Get

At least one of READ, WRITE, EXECUTE, or ADMIN.

Applications

Operation

Privileges Required

Add

ADMIN (on the application) and ADMIN (if adding new artifacts) or any privileges(if using existing artifacts) on the artifact.

Delete

ADMIN

List/View

Only returns those applications that user has at least one of READ, WRITE, EXECUTE, or ADMIN on the application or on any of its descendants.

Get

At least one of READ, WRITE, EXECUTE, or ADMIN on the application or any of its descendants.

Programs

Operation

Privileges Required

Start, Stop, or Debug

EXECUTE

Set instances

ADMIN

Set runtime arguments

ADMIN

Retrieve runtime arguments

At least one of READ, EXECUTE or ADMIN.

Retrieve status

At least one of READ, WRITE, EXECUTE, or ADMIN.

List/View

Only returns those programs on which user has at least one of READ, WRITE, EXECUTE, or ADMIN.

Get

At least one of READ, WRITE, EXECUTE, or ADMIN.

Resume/Suspend schedule

EXECUTE on the program.

Add/Delete/Update schedule

ADMIN on the application.

Datasets

Operation

Privileges Required

Create

ADMIN on the dataset and, for custom datasets, at least one of READ, WRITE, EXECUTE, or ADMIN on the dataset type.

Read

READ

Write

WRITE

Update

ADMIN

Upgrade

ADMIN

Truncate

ADMIN

Drop

ADMIN

List/View

Only returns those datasets on which user has at least one of READ, WRITE, EXECUTE, or ADMIN.

Get

At least one of READ, WRITE, EXECUTE, or ADMIN.

Dataset Modules

Operation

Privileges Required

Deploy

ADMIN

Delete

ADMIN

Delete-all in the namespace

ADMIN on all dataset modules in the namespace.

List/View

Only returns those dataset modules on which user has at least one of READ, WRITE, EXECUTE, or ADMIN.

Get

At least one of READ, WRITE, EXECUTE, or ADMIN.

Dataset Types

Operation

Privileges Required

List/View

Only returns those dataset types on which user has at least one of READ, WRITE, EXECUTE, or ADMIN.

Get

At least one of READ, WRITE, EXECUTE, or ADMIN.

Secure Keys

Operation

Privileges Required

Create

ADMIN

READ the secure data

READ

Delete

ADMIN

List/View

Only returns those secure keys on which user has at least one of READ, WRITE, EXECUTE, or ADMIN.

Kerberos Principal

Operation

Privileges Required

Deploy an app to impersonate a kerberos principal

ADMIN on the principal.

Create a namespace with owner principal

ADMIN on the principal.

Create a dataset with owner principal

ADMIN on the principal.