|
18 | 18 | */
|
19 | 19 | package org.apache.polaris.core.auth;
|
20 | 20 |
|
| 21 | +import static org.apache.polaris.core.entity.PolarisPrivilege.CATALOG_ATTACH_POLICY; |
21 | 22 | import static org.apache.polaris.core.entity.PolarisPrivilege.CATALOG_CREATE;
|
| 23 | +import static org.apache.polaris.core.entity.PolarisPrivilege.CATALOG_DETACH_POLICY; |
22 | 24 | import static org.apache.polaris.core.entity.PolarisPrivilege.CATALOG_DROP;
|
23 | 25 | import static org.apache.polaris.core.entity.PolarisPrivilege.CATALOG_FULL_METADATA;
|
24 | 26 | import static org.apache.polaris.core.entity.PolarisPrivilege.CATALOG_LIST;
|
|
39 | 41 | import static org.apache.polaris.core.entity.PolarisPrivilege.CATALOG_ROLE_USAGE;
|
40 | 42 | import static org.apache.polaris.core.entity.PolarisPrivilege.CATALOG_ROLE_WRITE_PROPERTIES;
|
41 | 43 | import static org.apache.polaris.core.entity.PolarisPrivilege.CATALOG_WRITE_PROPERTIES;
|
| 44 | +import static org.apache.polaris.core.entity.PolarisPrivilege.NAMESPACE_ATTACH_POLICY; |
42 | 45 | import static org.apache.polaris.core.entity.PolarisPrivilege.NAMESPACE_CREATE;
|
| 46 | +import static org.apache.polaris.core.entity.PolarisPrivilege.NAMESPACE_DETACH_POLICY; |
43 | 47 | import static org.apache.polaris.core.entity.PolarisPrivilege.NAMESPACE_DROP;
|
44 | 48 | import static org.apache.polaris.core.entity.PolarisPrivilege.NAMESPACE_FULL_METADATA;
|
45 | 49 | import static org.apache.polaris.core.entity.PolarisPrivilege.NAMESPACE_LIST;
|
46 | 50 | import static org.apache.polaris.core.entity.PolarisPrivilege.NAMESPACE_LIST_GRANTS;
|
47 | 51 | import static org.apache.polaris.core.entity.PolarisPrivilege.NAMESPACE_MANAGE_GRANTS_ON_SECURABLE;
|
48 | 52 | import static org.apache.polaris.core.entity.PolarisPrivilege.NAMESPACE_READ_PROPERTIES;
|
49 | 53 | import static org.apache.polaris.core.entity.PolarisPrivilege.NAMESPACE_WRITE_PROPERTIES;
|
| 54 | +import static org.apache.polaris.core.entity.PolarisPrivilege.POLICY_ATTACH; |
50 | 55 | import static org.apache.polaris.core.entity.PolarisPrivilege.POLICY_CREATE;
|
| 56 | +import static org.apache.polaris.core.entity.PolarisPrivilege.POLICY_DETACH; |
51 | 57 | import static org.apache.polaris.core.entity.PolarisPrivilege.POLICY_DROP;
|
52 | 58 | import static org.apache.polaris.core.entity.PolarisPrivilege.POLICY_FULL_METADATA;
|
53 | 59 | import static org.apache.polaris.core.entity.PolarisPrivilege.POLICY_LIST;
|
|
75 | 81 | import static org.apache.polaris.core.entity.PolarisPrivilege.PRINCIPAL_ROTATE_CREDENTIALS;
|
76 | 82 | import static org.apache.polaris.core.entity.PolarisPrivilege.PRINCIPAL_WRITE_PROPERTIES;
|
77 | 83 | import static org.apache.polaris.core.entity.PolarisPrivilege.SERVICE_MANAGE_ACCESS;
|
| 84 | +import static org.apache.polaris.core.entity.PolarisPrivilege.TABLE_ATTACH_POLICY; |
78 | 85 | import static org.apache.polaris.core.entity.PolarisPrivilege.TABLE_CREATE;
|
| 86 | +import static org.apache.polaris.core.entity.PolarisPrivilege.TABLE_DETACH_POLICY; |
79 | 87 | import static org.apache.polaris.core.entity.PolarisPrivilege.TABLE_DROP;
|
80 | 88 | import static org.apache.polaris.core.entity.PolarisPrivilege.TABLE_FULL_METADATA;
|
81 | 89 | import static org.apache.polaris.core.entity.PolarisPrivilege.TABLE_LIST;
|
@@ -495,6 +503,20 @@ public class PolarisAuthorizerImpl implements PolarisAuthorizer {
|
495 | 503 | POLICY_FULL_METADATA,
|
496 | 504 | CATALOG_MANAGE_METADATA,
|
497 | 505 | CATALOG_MANAGE_CONTENT));
|
| 506 | + SUPER_PRIVILEGES.putAll(POLICY_ATTACH, List.of(POLICY_ATTACH, CATALOG_MANAGE_CONTENT)); |
| 507 | + SUPER_PRIVILEGES.putAll(POLICY_DETACH, List.of(POLICY_DETACH, CATALOG_MANAGE_CONTENT)); |
| 508 | + SUPER_PRIVILEGES.putAll( |
| 509 | + CATALOG_ATTACH_POLICY, List.of(CATALOG_ATTACH_POLICY, CATALOG_MANAGE_CONTENT)); |
| 510 | + SUPER_PRIVILEGES.putAll( |
| 511 | + NAMESPACE_ATTACH_POLICY, List.of(NAMESPACE_ATTACH_POLICY, CATALOG_MANAGE_CONTENT)); |
| 512 | + SUPER_PRIVILEGES.putAll( |
| 513 | + TABLE_ATTACH_POLICY, List.of(TABLE_ATTACH_POLICY, CATALOG_MANAGE_CONTENT)); |
| 514 | + SUPER_PRIVILEGES.putAll( |
| 515 | + CATALOG_DETACH_POLICY, List.of(CATALOG_DETACH_POLICY, CATALOG_MANAGE_CONTENT)); |
| 516 | + SUPER_PRIVILEGES.putAll( |
| 517 | + NAMESPACE_DETACH_POLICY, List.of(NAMESPACE_DETACH_POLICY, CATALOG_MANAGE_CONTENT)); |
| 518 | + SUPER_PRIVILEGES.putAll( |
| 519 | + TABLE_DETACH_POLICY, List.of(TABLE_DETACH_POLICY, CATALOG_MANAGE_CONTENT)); |
498 | 520 | }
|
499 | 521 |
|
500 | 522 | private final PolarisConfigurationStore featureConfig;
|
|
0 commit comments