Appendix2 (Security)

Base security

The object_data security domain is applied for any CRUD operation until the secure parameter is set to true in service configuration, or with the secure request parameter.

Additional security rules

See

As a default, security rules defined in configuration are applied before any action, making sure the user is allowed to view / update / create / delete / workflow…

Additional rules can be added for REST access to data. Such rules need to be created in the RESTAPI domain.

Domain

All the REST API is ruled by one domain, called RESTAPI. If the domain exists, it can be deactivated to disable all rules. If the domain exists, but not a endpoint action, the global action is used to control access. If the global action doesn’t existe, the access is granted or not depending of the value of the plugin parameter allowAccessIfActionDoesntExist (see ).

Global action

One action can be used to rule all service access : api.

The parameters for this action are:

Name

Type

Description

Optional

Name

Type

Description

Optional

request

wsnoheto.securite.parameter.RequestParameter

The HTTP request

No

endPoint

wsnoheto.securite.parameter.StringParameter

The ID of endpoint

No

endPointType

wsnoheto.securite.parameter.StringParameter

Type of endpoint

No.

surfer

wsnoheto.securite.parameter.SurferParameter

The surfer

No

objectName

wsnoheto.securite.parameter.StringParameter

The structure object name

Yes. Depends on the endpoint.

resourceName

wsnoheto.securite.parameter.StringParameter

The resource name

Yes. Depends on the endpoint.

fieldName

wsnoheto.securite.parameter.StringParameter

The name of the object field

Yes. Depends on the endpoint.

preset

wsnoheto.securite.parameter.StringParameter

The name of the preset

Yes. Depends on the endpoint.

You can control access to a particular endpoint by a specific action by creating one whose name is the ID of the corresponding endpoint parameter.

Some parameters may not be present depending on the service. Refer to the descriptions of the specific actions/endpoints to see which parameters are specified in each case.

Parameter mappings

In the global action, some parameters of specific actions are mapped to standard parameters:

Specific action parameter name

Global action parameter name

Specific action parameter name

Global action parameter name

actionName

resouceName

viewName

resouceName

service

resourceName

Specific actions per endpoint

All the REST API is ruled by one domain, called RESTAPI. Many actions allow to configure access to different end points.

Endpoint ID

Endpoint type

Description

Endpoint ID

Endpoint type

Description

catalog

 

catalog endpoints (legacy services)

Parameters

request

surfer

endPoint = endPointType

endPointType

collection_add

collection

add item to collection

Parameters

request

surfer

actionName

endPointType

collection_clear

collection

remove collection items

Parameters

request

surfer

actionName

endPointType

create

createorupdate

create endpoint (legacy)

Parameters

request

surfer

actionName

endPointType

dam_aggs

dam

aggregates endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_asset

dam

assets list (also assets by type/nature) endpoint

Parameters

request

surfer

endPointType

dam_asset_aggs

dam

assets aggregates endpoint (dam)

Parameters

request

surfer

endPointType

dam_asset_headers

dam

asset list headers endpoint

Parameters

request

surfer

endPointType

dam_catalog

dam

catalog endpoint (dam)

Parameters

request

surfer

endPoint = endPointType

endPointType

dam_create

dam

create endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_delete

dam

delete endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_list

dam

list endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_list_headers

dam

list headers endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_lock

dam

lock endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_read

dam

data read endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_read_headers

dam

read headers endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_preset

dam

preset endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_preview

dam

preview endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_resource

dam

binary resource endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_search

dam

search endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

data_show_workflow

dam

show workflow endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_tree

dam

tree endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_unlock

dam

unlock endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_update

dam

update endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_update_binary

dam

update binary endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_workcopy

dam

workcopy endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

dam_workflow

dam

workflow endpoint (dam)

Parameters

request

surfer

resourceName

objectName

endPointType

data_aggs

data

aggregates endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_assign

data

data collection item assignation end point (data)

Parameters

request

surfer

resourceName

objectName

fieldName

endPointType

data_catalog

data

catalog endpoint (data)

Parameters

request

surfer

endPoint = endPointType

endPointType

data_create

data

create endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_delete

data

delete endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_list

data

list endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_list_headers

data

list headers endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_lock

data

lock endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_read

data

data read endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_read_headers

data

read headers endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_resource

data

binary resource endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_show_workflow

data

show workflows

Parameters

request

surfer

resourceName

objectName

endPointType

data_tree

data

tree endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_preset

data

preset endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_preview

data

preview endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_search

data

search endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_show_workflow

data

show workflow endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_unlock

data

unlock endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_update

data

update endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_update_binary

data

update binary endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_workcopy

data

workcopy endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

data_workflow

data

workflow change endpoint (data)

Parameters

request

surfer

resourceName

objectName

endPointType

delete

delete

delete endpoint (legacy)

Parameters

request

surfer

actionName

endPointType

extension_invoke

extension

extension service invokation (legacy)

Parameters

request

surfer

service

endPointType

imageprocessing

imageprocessing

image processing endpoint (legacy)

Parameters

request

surfer

actionName

endPointType

lock

createorupdate

lock endpoint (legacy)

Parameters

request

surfer

actionName

endPointType

locks_get

createorupdate

lock status get endpoint (legacy)

Parameters

request

surfer

actionName

endPointType

massimport_aggs

massimport

aggregates endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_assign

massimport

data collection item assignation end point (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_create

massimport

create endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_aggs

massimport

aggregates endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_assign

massimport

data collection item assignation end point (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_create

massimport

create endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_delete

massimport

delete endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_list

massimport

list endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_list_headers

massimport

list headers endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_lock

massimport

lock endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_read

massimport

data read endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_read_headers

massimport

read headers endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_preset

massimport

preset endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_preview

massimport

preview endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_resource

massimport

binary resource endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_search

massimport

search endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_show_workflow

massimport

show workflow endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_tree

massimport

tree endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_unlock

massimport

unlock endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_update

massimport

update endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_update_binary

massimport

update binary endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_workcopy

massimport

workcopy endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_data_workflow

massimport

workflow change endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_delete

massimport

delete endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_job_changestate

massimport

job change status endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_job_import

massimport_import

job file import endpoint (massimport)

Parameters

request

surfer

 

 

endPointType

massimport_job_import_delete

massimport_import

delete job file import endpoint (massimport)

 

Parameters

request

 

 

surfer

 

 

endPointType

massimport_list

massimport

list endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_list_headers

massimport

list headers endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_lock

massimport

lock endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_preset

massimport

preset endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_preview

massimport

preview endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_read

massimport

data read endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_read_headers

massimport

read headers endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_resource

massimport

binary resource endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_show_workflow

massimport

show workflow endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_search

massimport

search endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_tree

massimport

tree endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_unlock

massimport

unlock endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_update

massimport

update endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_update_binary

massimport

update binary endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_workcopy

massimport

workcopy endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

massimport_workflow

massimport

workflow change endpoint (massimport)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_assign

profile

data collection item assignation end point (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_create

profile

create endpoint (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_delete

profile

delete endpoint (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_list

profile

list endpoint (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_list_headers

profile

list headers endpoint (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_lock

profile

lock endpoint (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_preset

profile

preset endpoint (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_preview

profile

preview endpoint (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_resource

profile

binary resource endpoint (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_search

profile

search endpoint (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_unlock

profile

unlock endpoint (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_update

profile

update endpoint (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_updatebinary

profile

update binary endpoint (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_update_me

profile

user update himself endpoint (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_delete_me

profile

user delete himself endpoint (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

profil_workcopy

profile

workcopy endpoint (profile)

Parameters

request

surfer

resourceName

objectName

endPointType

resource

resource

resource endpoint (legacy)

Parameters

request

surfer

viewName

endPointType

tree

tree

treeview endpoint (legacy)

Parameters

request

surfer

viewName

endPointType

patch

createorupdate

patch endpoint (legacy)

Parameters

request

surfer

actionName

endPointType

unlock

createorupdate

unlock endpoint (legacy)

Parameters

request

surfer

actionName

endPointType

update

createorupdate

update endpoint (legacy)

Parameters

request

surfer

actionName

endPointType

usermention_delete

usermention

usermention delete endpoint

usermention_list

usermention

usermention list endpoint

usermention_markread

usermention

mark usermention read endpoint

usermention_read

usermention

read usermention endpoint

usermention_read_headers

usermention

read headers usermention endpoint

usermention_unread

usermention

unread usermention count endpoint

userpref

system

user preference endpoint

Parameters

request

surfer

method (READ, WRITE, DELETE)

namespace

key

name

variation

variation

variation (preset) endpoint

Parameters

request

surfer

resourceName

objectName

endPointType

preset

view

view

view endpoint (legacy)

Parameters

request

surfer

viewName

endPointType

whoami

system

whoami endpoint

Parameters

request

surfer

workflow_actions

createorupdate

workflow action list endpoint (legacy)

Parameters

request

surfer

actionName

endPointType

workflow_do

createorupdate

workflow change endpoint (legacy)

Parameters

request

surfer

actionName

endPointType