-
|
Hello again 😄 , We are running into an ACL issue in a Kerberized Ozone cluster using When a user creates a key, Ozone automatically adds a default ACL for the user's primary group. In our setup, that primary group comes from Hadoop The specific Ozone code path is OzoneAclUtil#getDefaultAclList(), where the group ACL is built from ugi.getPrimaryGroupName(): For example, a newly created key may get: {
"type": "GROUP",
"name": "some-user-group",
"aclScope": "ACCESS",
"aclList": [ "READ", "LIST" ]
}The problem is that, with LDAP/AD groups, this "primary group" can be somewhat arbitrary from the storage-admin point of view. It may be an unrelated egroup, and then every member of that group receives default access to newly created keys. We tried setting: <property>
<name>ozone.om.group.rights</name>
<value>NONE</value>
</property>but this has an unfortunate interaction with inherited DEFAULT ACLs. If the same group is also granted by a bucket DEFAULT ACL, the final ACL can become: {
"type": "GROUP",
"name": "some-group",
"aclScope": "ACCESS",
"aclList": [ "ALL", "NONE" ]
}Since Using Would the project be open to a PR adding a configuration option to control this behavior? Possible approaches:
From our side, option 1 looks cleanest: keep the existing behavior by default, but allow operators to opt out of automatic primary-group ACL creation. Before we work on a PR, is there already another recommended way to solve this? Thanks a lot 👍 |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
|
Ozone uses the same user/group management class as Hadoop. If LDAP is used, have you already tried set the property "hadoop.security.group.mapping" to "org.apache.hadoop.security.LdapGroupsMapping", along with a few LDAP connection configurations? FYI, https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/GroupsMapping.html#LDAP_Groups_Mapping. If you have already configured LDAP correctly, the only problem is you cannot control the right primary group of user is returned first by LDAP, then first approach, enable/disable default group ACL creation looks OK to me. |
Beta Was this translation helpful? Give feedback.
Ozone uses the same user/group management class as Hadoop. If LDAP is used, have you already tried set the property "hadoop.security.group.mapping" to "org.apache.hadoop.security.LdapGroupsMapping", along with a few LDAP connection configurations? FYI, https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/GroupsMapping.html#LDAP_Groups_Mapping.
If you have already configured LDAP correctly, the only problem is you cannot control the right primary group of user is returned first by LDAP, then first approach, enable/disable default group ACL creation looks OK to me.