Skip to content

Commit c2855a5

Browse files
enhance: add privilege group privilege into built-in privilege group (#38393)
related issue: #37031 Signed-off-by: shaoting-huang <[email protected]>
1 parent d0a8110 commit c2855a5

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

configs/milvus.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -831,11 +831,11 @@ common:
831831
enabled: false # Whether to override build-in privilege groups
832832
cluster:
833833
readonly:
834-
privileges: ListDatabases,SelectOwnership,SelectUser,DescribeResourceGroup,ListResourceGroups # Cluster level readonly privileges
834+
privileges: ListDatabases,SelectOwnership,SelectUser,DescribeResourceGroup,ListResourceGroups,ListPrivilegeGroups # Cluster level readonly privileges
835835
readwrite:
836-
privileges: ListDatabases,SelectOwnership,SelectUser,DescribeResourceGroup,ListResourceGroups,FlushAll,TransferNode,TransferReplica,UpdateResourceGroups # Cluster level readwrite privileges
836+
privileges: ListDatabases,SelectOwnership,SelectUser,DescribeResourceGroup,ListResourceGroups,ListPrivilegeGroups,FlushAll,TransferNode,TransferReplica,UpdateResourceGroups # Cluster level readwrite privileges
837837
admin:
838-
privileges: ListDatabases,SelectOwnership,SelectUser,DescribeResourceGroup,ListResourceGroups,FlushAll,TransferNode,TransferReplica,UpdateResourceGroups,BackupRBAC,RestoreRBAC,CreateDatabase,DropDatabase,CreateOwnership,DropOwnership,ManageOwnership,CreateResourceGroup,DropResourceGroup,UpdateUser,RenameCollection # Cluster level admin privileges
838+
privileges: ListDatabases,SelectOwnership,SelectUser,DescribeResourceGroup,ListResourceGroups,ListPrivilegeGroups,FlushAll,TransferNode,TransferReplica,UpdateResourceGroups,BackupRBAC,RestoreRBAC,CreateDatabase,DropDatabase,CreateOwnership,DropOwnership,ManageOwnership,CreateResourceGroup,DropResourceGroup,UpdateUser,RenameCollection,CreatePrivilegeGroup,DropPrivilegeGroup,OperatePrivilegeGroup # Cluster level admin privileges
839839
database:
840840
readonly:
841841
privileges: ShowCollections,DescribeDatabase # Database level readonly privileges

pkg/util/constant.go

+10-4
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,7 @@ var (
363363
MetaStore2API(commonpb.ObjectPrivilege_PrivilegeSelectUser.String()),
364364
MetaStore2API(commonpb.ObjectPrivilege_PrivilegeDescribeResourceGroup.String()),
365365
MetaStore2API(commonpb.ObjectPrivilege_PrivilegeListResourceGroups.String()),
366+
MetaStore2API(commonpb.ObjectPrivilege_PrivilegeListPrivilegeGroups.String()),
366367
}
367368

368369
ClusterReadWritePrivilegeGroup = append(ClusterReadOnlyPrivilegeGroup,
@@ -384,6 +385,9 @@ var (
384385
MetaStore2API(commonpb.ObjectPrivilege_PrivilegeDropResourceGroup.String()),
385386
MetaStore2API(commonpb.ObjectPrivilege_PrivilegeUpdateUser.String()),
386387
MetaStore2API(commonpb.ObjectPrivilege_PrivilegeRenameCollection.String()),
388+
MetaStore2API(commonpb.ObjectPrivilege_PrivilegeCreatePrivilegeGroup.String()),
389+
MetaStore2API(commonpb.ObjectPrivilege_PrivilegeDropPrivilegeGroup.String()),
390+
MetaStore2API(commonpb.ObjectPrivilege_PrivilegeOperatePrivilegeGroup.String()),
387391
)
388392
)
389393

@@ -407,11 +411,13 @@ func StringList(stringMap map[string]struct{}) []string {
407411
// MetaStore2API convert meta-store's privilege name to api's
408412
// example: PrivilegeAll -> All
409413
func MetaStore2API(name string) string {
410-
prefix := PrivilegeWord
411-
if strings.Contains(name, PrivilegeGroupWord) {
412-
prefix = PrivilegeGroupWord
414+
if strings.HasPrefix(name, PrivilegeGroupWord) {
415+
return name[len(PrivilegeGroupWord):]
413416
}
414-
return name[strings.Index(name, prefix)+len(prefix):]
417+
if strings.HasPrefix(name, PrivilegeWord) {
418+
return name[len(PrivilegeWord):]
419+
}
420+
return name
415421
}
416422

417423
func PrivilegeNameForAPI(name string) string {

0 commit comments

Comments
 (0)