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

Dian Fu commented on HADOOP-11341:
----------------------------------

Hi, [~asuresh], agree that root key ACL is a good idea to solve this issue.
A few minor issues: 
# {{rott}} should be {{root}}
# In this doc, it's mentioned that {{root key ACL does not support <<<ALL>>> 
operation}}, this should be forced at code level. Actually I found that default 
key ACL also has such problem and have filed a JIRA HADOOP-11342 to fix this 
issue.


> Add support for root key KMS ACLs
> ---------------------------------
>
>                 Key: HADOOP-11341
>                 URL: https://issues.apache.org/jira/browse/HADOOP-11341
>             Project: Hadoop Common
>          Issue Type: New Feature
>          Components: kms, security
>            Reporter: Arun Suresh
>            Assignee: Arun Suresh
>         Attachments: HADOOP-11341.1.patch, HADOOP-11341.2.patch
>
>
> As reported by [~dian.fu] :
> Key based ACL in KMS is currently implemented as whitelist. So if I configure 
> as follows in kms-acl.xml,
> {code}
>  <property>
>     <name>key.acl.testKey.DECRYPT_EEK</name>
>     <value>testUser</value>
>   </property>
> {code}, then only {{testUser}} user can do {{DECRYPT_EEK}} call on key 
> {{testKey}}. If I want {{yarn}} user can also do {{DECRYPT_EEK}} call on 
> {{testKey}} key, I need add {{yarn}} user to the above configuration value 
> manually. This means that if I want to configure key based 
> ACL({{DECRYPT_EEK}}) for {{some key}}, I need also add {{yarn}} user to 
> configuration {{DECRYPT_EEK}} for that key. As I don't know if {{yarn}} user 
> will later need to do {{DECRYPT_EEK}} for this key.. This is inconvenient and 
> tricky.
> This can be alleviated by slightly modifying the key ACL logic in KMS first 
> checks if the user, in this case {{yarn}}, is present in 
> {{key.acl.<key-name>.<OP-name>}} list. And if not, then also check if the 
> user is present in {{default.key.acl.<OP-name>}}. If yes, then grant access.. 
> else deny.
> Currently,  {{default.key.acl.<OP-name>}} is consulted only if NO 
> {{key.acl.<key-name>.<OP-name>}} is specified.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to