Hi Kohei, Thank you for the feedback. The new approach will change the default "ACCESS" type group ACL numbers when a volume/bucket/key is created. These "ACCESS" type group ACLs cannot be inherited. The "DEFAULT" type group ACLs on the buckets/volumes, explicitly set by the users, will still be inherited by new keys. You can still limit actual permissions by setting proper Volume/Bucket ACLs through CLI.
Also Ozone supports set bucket ACL through s3g, https://issues.apache.org/jira/browse/HDDS-4550 https://issues.apache.org/jira/browse/HDDS-4585 Not sure If your concern is addressed. Bests, Sammi On Mon, 25 Nov 2024 at 16:47, Kohei Sugihara <ksugih...@preferred.jp> wrote: > Hi Sammi, > > We're running Ozone with Native ACL via S3 API. > > Reducing and limiting the default ACL is the correct and secure way. Still, > we're afraid that removing ALL and other groups from Key ACL affects some > permission issues via S3 because we do not have the Key ACL modification > API in the S3 interface. > All S3 requests must pass all Volume/Bucket/Key ACLs in the current > implementation. In this case, the loosed permission (the current behavior) > is useful as the default value because we can limit actual permission by > Volume/Bucket ACLs. > > We'd appreciate it if we have a switch for this behavior change or S3 API > respects to the bucket ACL for S3 instead of Volume/Bucket/Key ACL for the > upcoming release. > > Thanks, > Kohei > > 2024年11月19日(火) 23:16 Sammi Chen <sammic...@apache.org>: > > > Dear Ozone community developers and users, > > > > During a recent use case support, we found that when creating a new key, > > the current ozone client will create the default ACLs for the login user > > and all its groups, both with "ALL" privileges. This default behavior > has > > lead to two problems, > > > > (a). security unsafe. Say UserA is in the group “project A”, and “APAC > > employee". If UserA creates a new file for project A, then all other > users > > in the “APAC employee" group will have full control of this file, which > is > > usually not expected. > > > > (b). If a user is in hundreds of groups, then there will be hundreds of > ACL > > created, and saved as metadata of this key, which will consume > unnecessary > > network bandwidth, raft log, and rocksdb space. > > This is an example, the groups of my account in macOS, only few groups > are > > valuable to end users. > > "staff everyone localaccounts _appserverusr admin _appserveradm _lpadmin > > com.apple.sharepoint.group.2 com.apple.sharepoint.group.3 _appstore > > _lpoperator _developer _analyticsusers com.apple.access_ftp > > com.apple.access_screensharing com.apple.access_ssh > > com.apple.access_remote_ae com.apple.sharepoint.group.1" > > > > With JIRA HDDS-11656 <https://issues.apache.org/jira/browse/HDDS-11656> > , > > the default ACL behavior will change from currently creating an ACL with > > "ALL" permission for each group of the user, to only creating one ACL > with > > "READ, LIST" permission for the user's primary group. As for creating a > > "ALL" permission ACL for the user, it's not changed, and remains the > same. > > Use above UserA case as an example, if "project A" group is the primary > > group of this user, then when UserA created a new file, UserA will have > the > > full control of this file with ACL "ALL" permission, group "project A" > will > > have the read and list permission of this file, group “APAC employee" > will > > have no permission of this file. Since UserA has the full control of > this > > file, if the group “APAC employee" really needs to access this file, > UserA > > can explicitly add an ACL for the group “APAC employee" later. > > > > Native ACL is used by many community users. Please let me know if there > is > > any concern about this behavior change. > > > > > > Thanks, > > Sammi > > > > > -- > Kohei Sugihara, Engineer > Preferred Networks, Inc. >