Skip to content

Commit 90578eb

Browse files
committed
HDDS-14539. update native and ranger acl operation mapping
1 parent bab010f commit 90578eb

File tree

2 files changed

+73
-0
lines changed

2 files changed

+73
-0
lines changed

docs/03-core-concepts/04-security/02-acls/01-native-acls.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,3 +175,54 @@ Ozone ACLs and S3 ACLs differ primarily in their scope and support.
175175
- Similarly, HttpFS ACL-related APIs.
176176
177177
These limitations should be taken into account when integrating Ozone with applications that rely on S3 or file system ACL operations.
178+
179+
## Permission comparison table
180+
181+
The table below shows the mapping between Ozone operations and the required Native ACL permissions.
182+
183+
`<admin>`: for native ACL, all access is granted for all operations
184+
185+
`<owner>`: for native ACL, owner of volume / bucket have all access to further hierarchy
186+
187+
### Volume related operation
188+
189+
| `Operation` | `Volume permission` | `Bucket permission` | `Key permission` |
190+
|--------------------------|---------------------|---------------------|------------------|
191+
| `Create volume` | `<admin>` | | |
192+
| `List volume` | `<admin>, <configuration: listall>` | | |
193+
| `Get volume info` | `READ, <admin>, <owner>` | | |
194+
| `Delete volume` | `DELETE, <admin>, <owner>` | | |
195+
| `Set Quota` | `WRITE, <admin>, <owner>` | | |
196+
| `Set Owner` | `WRITE_ACL, <admin>, <owner>` | | |
197+
| `Create Tenant (and volume)` | `CREATE, <admin>, <owner>` | | |
198+
| `Delete Tenant` | `WRITE_ACL, <admin>, <owner>` | | |
199+
| `Read ACL` | `READ_ACL, <admin>, <owner>` | | |
200+
| `Write ACL` | `WRITE_ACL, <admin>, <owner>` | | |
201+
202+
### Bucket related operation
203+
204+
| `Operation` | `Volume permission` | `Bucket permission` | `Key permission` |
205+
|--------------------------|---------------------|---------------------|------------------|
206+
| `Create bucket` | `WRITE, <admin>, <owner>` | | |
207+
| `List bucket` | `LIST, <admin>, <owner>` | | |
208+
| `Get bucket info` | `READ, <admin>, <owner>` | `READ, <admin>, <owner>` | |
209+
| `Delete bucket` | `READ, <admin>, <owner>` | `DELETE, <admin>, <owner>` | |
210+
| `Update bucket property (quota, replication, ...)` | `READ` | `<admin>, <owner>` | |
211+
| `List Snapshot` | `READ, <admin>, <owner>` | `LIST, <admin>, <owner>` | |
212+
| `List Trash` | `READ, <admin>, <owner>` | `LIST, <admin>, <owner>` | |
213+
| `Trash Recover` | `READ, <admin>, <owner>` | `WRITE, <admin>, <owner>` | |
214+
| `Set Owner` | `READ, <admin>, <owner>` | `WRITE_ACL, <admin>, <owner>` | |
215+
| `Read ACL` | `READ, <admin>, <owner>` | `READ_ACL, <admin>, <owner>` | |
216+
| `Write ACL` | `READ, <admin>, <owner>` | `WRITE_ACL, <admin>, <owner>` | |
217+
218+
### FSO / OBS related operation for key and files
219+
220+
| `Operation` | `Volume permission` | `Bucket permission` | `Key permission` |
221+
|--------------------------|---------------------|---------------------|------------------|
222+
| `List key` | `READ, <admin>, <owner>` | `LIST, READ, <admin>, <owner>` | |
223+
| `Write key` | `READ, <admin>, <owner>` | `WRITE, <admin>, <owner>` | `CREATE, WRITE, <admin>` |
224+
| `Delete key` | `READ, <admin>, <owner>` | `READ, <admin>, <owner>` | `DELETE (*recursive check all child), <admin>` |
225+
| `Read key` | `READ, <admin>, <owner>` | `READ, <admin>, <owner>` | `READ, <admin>, <owner>` |
226+
| `Read ACL` | `READ, <admin>, <owner>` | `READ, <admin>, <owner>` | `READ_ACL, <admin>, <owner>` |
227+
| `Write ACL` | `READ, <admin>, <owner>` | `READ, <admin>, <owner>` | `WRITE_ACL, <admin>, <owner>` | |
228+

docs/03-core-concepts/04-security/02-acls/02-ranger-acls.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,38 @@ When Ranger is enabled, it becomes the sole authority for access control, and na
1616

1717
The table below shows the mapping between Ozone operations and the required Ranger permissions. An Ozone Manager plugin synchronizes these policies from Ranger.
1818

19+
### Volume related operation
20+
1921
| `Operation` | `Volume permission` | `Bucket permission` | `Key permission` |
2022
|--------------------------|---------------------|---------------------|------------------|
2123
| `Create volume` | `CREATE` | | |
2224
| `List volume` | `LIST` | | |
2325
| `Get volume info` | `READ` | | |
2426
| `Delete volume` | `DELETE` | | |
27+
| `Set Quota` | `WRITE` | | |
28+
| `Set Owner` | `WRITE_ACL` | | |
29+
| `Create Tenant (and volume)` | `CREATE` | | |
30+
| `Delete Tenant` | `WRITE_ACL` | | |
31+
32+
### Bucket related operation
33+
34+
| `Operation` | `Volume permission` | `Bucket permission` | `Key permission` |
35+
|--------------------------|---------------------|---------------------|------------------|
2536
| `Create bucket` | `READ` | `CREATE` | |
2637
| `List bucket` | `LIST, READ` | | |
2738
| `Get bucket info` | `READ` | `READ` | |
2839
| `Delete bucket` | `READ` | `DELETE` | |
40+
| `Update bucket property (quota, replication, ...)` | `READ` | `WRITE` | |
41+
| `List Snapshot` | `READ` | `LIST` | |
42+
| `List Trash` | `READ` | `LIST` | |
43+
| `Trash Recover` | `READ` | `WRITE` | |
44+
| `Set Owner` | `READ` | `WRITE_ACL` | |
45+
46+
### FSO / OBS related operation for key and files
47+
48+
| `Operation` | `Volume permission` | `Bucket permission` | `Key permission` |
49+
|--------------------------|---------------------|---------------------|------------------|
2950
| `List key` | `READ` | `LIST, READ` | |
3051
| `Write key` | `READ` | `READ` | `CREATE, WRITE` |
3152
| `Read key` | `READ` | `READ` | `READ` |
53+

0 commit comments

Comments
 (0)