diff --git a/cmd/iam.go b/cmd/iam.go index 4dc67b21e..b6c20b175 100644 --- a/cmd/iam.go +++ b/cmd/iam.go @@ -2089,6 +2089,10 @@ func setDefaultCannedPolicies(policies map[string]iampolicy.Policy) { if !ok { policies["diagnostics"] = iampolicy.AdminDiagnostics } + _, ok = policies["consoleAdmin"] + if !ok { + policies["consoleAdmin"] = iampolicy.Admin + } } // buildUserGroupMemberships - builds the memberships map. IMPORTANT: diff --git a/pkg/iam/policy/constants.go b/pkg/iam/policy/constants.go index 3575d600f..9605ca35a 100644 --- a/pkg/iam/policy/constants.go +++ b/pkg/iam/policy/constants.go @@ -18,6 +18,7 @@ package iampolicy import ( "github.com/minio/minio/pkg/bucket/policy" + "github.com/minio/minio/pkg/bucket/policy/condition" ) // Policy claim constants @@ -80,3 +81,24 @@ var AdminDiagnostics = Policy{ }, }, } + +// Admin - provides admin all-access canned policy +var Admin = Policy{ + Version: DefaultVersion, + Statements: []Statement{ + { + SID: policy.ID(""), + Effect: policy.Allow, + Actions: NewActionSet(AllAdminActions), + Resources: NewResourceSet(), + Conditions: condition.NewFunctions(), + }, + { + SID: policy.ID(""), + Effect: policy.Allow, + Actions: NewActionSet(AllActions), + Resources: NewResourceSet(NewResource("*", "")), + Conditions: condition.NewFunctions(), + }, + }, +}