[ 
https://issues.apache.org/jira/browse/ATLAS-3755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17095559#comment-17095559
 ] 

Madhan Neethiraj commented on ATLAS-3755:
-----------------------------------------

[~bolke] - I suggest to introduce an API to update system attributes like 
homeId, isProxy, provenanceType - just as APIs to change entity 
classifications, labels and business-metadata. This is to prevent inadvertent 
update of system attributes by entity-update calls i.e. current API users don't 
explicitly provide system attribute values, but Atlas server will receive 
default values FALSE (for boolean), and 0 (for numbers). Also, updates to such 
system attributes should be infrequent, compared to entity-updates; hence it 
will help to not take the additional cost of updating these attributes during 
entity-updates.

Is it necessary to have separate permissions for create and update i.e. 
{{entity-create-system-attribute and entity-create-system-attribute}}? I 
suggest to have only one - {{entity-update-system-attribute}}.

Also, the patch introduces authorization for each attribute update. What is the 
use case for this? This can be very expensive - both in terms of CPU cycles and 
amount of audit logs generated (in Ranger). Hence I suggest sticking to 
{{entity-update}} permission to cover update to any attribute of the entity.

> Allow system attributes to be updated when policy allows
> --------------------------------------------------------
>
>                 Key: ATLAS-3755
>                 URL: https://issues.apache.org/jira/browse/ATLAS-3755
>             Project: Atlas
>          Issue Type: Improvement
>          Components:  atlas-core
>    Affects Versions: 2.0.0, 2.1.0
>            Reporter: Bolke de Bruin
>            Assignee: Bolke de Bruin
>            Priority: Critical
>         Attachments: 
> 0001-ATLAS-3755-Allow-system-attributes-to-be-updated-by-.patch, 
> 0001-ATLAS-3755-Allow-system-attributes-to-be-updated-by-.patch, 
> 0001-ATLAS-3755-Allow-system-attributes-to-be-updated-by-.patch
>
>
> Atlas does not operate in a isolated environment, this is one of the reasons 
> the "homeId" system attribute was introduced. Unfortunately system attributes 
> can only be updated when importing. This means any integration with other 
> services is significantly limited (Kafka, Rest API will not work). (See also 
> ATLAS-3754)
> To resolve this I propose to make it possible to update the system attributes 
> when policy allows it. This introduces new 
> AtlasPrivilege.ENTITY_UPDATE_SYSTEM_ATTRIBUTE and 
> AtlasPrivilege.ENTITY_CREATE_SYSTEM_ATTRIBUTE next to 
> AtlasPrivilege.ENTITY_UPDATE_ATTRIBUTE and 
> AtlasPrivilege.ENTITY_CREATE_ATTRIBUTE rather than just checking on the 
> entity level. In certain places we will then drop the requirement for an 
> import to be active as this can now happen through other channels as well.
> This allows operators to specify policies that allow granular controls over 
> attributes and system attributes.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to