[
https://issues.apache.org/jira/browse/HADOOP-11341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14230684#comment-14230684
]
Andrew Wang commented on HADOOP-11341:
--------------------------------------
Patch looks good, thanks Arun for working on this and Dian for reviewing. One
question, do you think we could rename it to not be "root key ACL"? I think
it's kind of confusing with the root user. Maybe "whitelist key ACL" ? Other
ideas welcome.
Otherwise, just some nitty stuff:
* Extra space in "for KEY_OP"
* typos "ro0t", "privilegaes"
* Would like a bigger config example in the documentation. Also would recommend
a paragraph like the following for the doc, just to expand it out:
{quote}
It is also possible to configure a "root key" ACL for each operation type. The
root key ACL is a whitelist in addition to the explicit or default per-key ACL.
That is, if no per-key ACL is explicitly set, a user will be granted access if
they are present in the default per-key ACL or the root key ACL. If a per-key
ACL is explicitly set, a user will be granted access if they are present in the
per-key ACL or the root key ACL.
{quote}
> 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,
> HADOOP-11341.3.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)