The security model inside the ACL consists of 2 parts:
The relation between Zones and Roles is that one controls access by network location while the other controls access by user privileges.
Zone | Description |
---|---|
Private-Zone | Methods within this zone are guaranteed to be reachable from within the GRID processing site and may optionally be reachable within the TM network. Is identified by the "*/internal/*" keyword in the service endpoint address for any processing related services. |
Intranet-Zone | Methods within this zone are guaranteed to be reachable within the TM network. The intranet zone is also identified by the "*/internal/*" keyword. The differentiation between Private and Intranet is performed using the endpoint addresses of the various declared interfaces (see the table below). |
Public-Zone | Methods within this zone are reachable from the public internet. Any service method whose interface class is prefixed with "Public*" and whose endpoint address is not marked with the "*/internal/*" keyword is considered to belong to the public zone. |
Notes:
The following table lists all roles that have been defined including a short explanation:
Role Name | Since | Description |
---|---|---|
"access.details" | 1.2 | Controls the general access to any details (= all data types containing metadata) |
"access.protected.services" | 1.2 | Controls the general access to the protected services (aka. "/internal/") |
"run.hash.queries" | 1.2 | Controls whether, hash based queries can be executed. |
"run.tag.matching.queries" | 1.2 |
Controls whether tag matching queries can be executed.
Notes:
|
"run.package.queries" | 1.2 | Controls whether file packages can be queried. |
"run.categorization.queries" | 1.2 | Controls whether categorization queries can be executed. |
"run.complex.queries" | 1.2 | Controls whether complex queries can be executed. Any query that allows retrieving relationships or does not fall under one of the other categories is considered a complex query. From a performance standpoint, complex queries are typically less expensive than tag matching queries except if the relationships are huge and require fetching many pages. |
"access.binary.content" | 1.2 | Controls whether a previously processed file can be downloaded. |
"create.binary.content" | 1.2 | Controls whether a file can be sent (created) for processing. |
"process.content" | 1.2 | Controls whether new or existing content can be processed or reprocessed. Note: Users that were granted this role but not "create.binary.content" can trigger reprocessing on previously stored content but cannot add new content. |
"manage" | 1.2.2 | Controls whether management tasks like clearing caches can be executed. |
"access.audit.log" | 1.3 | Controls whether the user audit log can be accessed. |
The following table lists all methods mapped against the roles they require and the zones they are accessible in:
a c c e s s . d e t a i l s |
a c c e s s . p r o t e c t e d . s e r v i c e s |
r u n . h a s h . q u e r i e s |
r u n . t a g . m a t c h i n g . q u e r i e s |
r u n . p a c k a g e . q u e r i e s |
r u n . c a t e g o r i z a t i o n . q u e r i e s |
r u n . c o m p l e x . q u e r i e s |
a c c e s s . b i n a r y . c o n t e n t |
c r e a t e . b i n a r y . c o n t e n t |
p r o c e s s . c o n t e n t |
m a n a g e |
a c c e s s . a u d i t . l o g |