|
| 1 | +// This file is part of MinIO Orchestrator |
| 2 | +// Copyright (c) 2021 MinIO, Inc. |
| 3 | +// |
| 4 | +// This program is free software: you can redistribute it and/or modify |
| 5 | +// it under the terms of the GNU Affero General Public License as published by |
| 6 | +// the Free Software Foundation, either version 3 of the License, or |
| 7 | +// (at your option) any later version. |
| 8 | +// |
| 9 | +// This program is distributed in the hope that it will be useful, |
| 10 | +// but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 11 | +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 12 | +// GNU Affero General Public License for more details. |
| 13 | +// |
| 14 | +// You should have received a copy of the GNU Affero General Public License |
| 15 | +// along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 16 | + |
| 17 | +package acl |
| 18 | + |
| 19 | +import iampolicy "github.com/minio/pkg/iam/policy" |
| 20 | + |
| 21 | +var BucketViewerRole = iampolicy.NewActionSet( |
| 22 | + iampolicy.ListBucketAction, |
| 23 | + iampolicy.GetObjectAction, |
| 24 | +) |
| 25 | + |
| 26 | +var BucketEditorRole = iampolicy.NewActionSet( |
| 27 | + iampolicy.ListBucketAction, |
| 28 | + iampolicy.GetObjectAction, |
| 29 | + iampolicy.DeleteObjectAction, |
| 30 | + iampolicy.PutObjectAction, |
| 31 | +) |
| 32 | +var BucketAdminRole = iampolicy.NewActionSet( |
| 33 | + iampolicy.AbortMultipartUploadAction, |
| 34 | + iampolicy.CreateBucketAction, |
| 35 | + iampolicy.DeleteBucketAction, |
| 36 | + iampolicy.ForceDeleteBucketAction, |
| 37 | + iampolicy.DeleteBucketPolicyAction, |
| 38 | + iampolicy.GetBucketLocationAction, |
| 39 | + iampolicy.GetBucketNotificationAction, |
| 40 | + iampolicy.GetBucketPolicyAction, |
| 41 | + iampolicy.HeadBucketAction, |
| 42 | + iampolicy.ListAllMyBucketsAction, |
| 43 | + iampolicy.GetBucketPolicyStatusAction, |
| 44 | + iampolicy.ListBucketVersionsAction, |
| 45 | + iampolicy.ListBucketMultipartUploadsAction, |
| 46 | + iampolicy.ListenNotificationAction, |
| 47 | + iampolicy.ListenBucketNotificationAction, |
| 48 | + iampolicy.ListMultipartUploadPartsAction, |
| 49 | + iampolicy.PutBucketLifecycleAction, |
| 50 | + iampolicy.GetBucketLifecycleAction, |
| 51 | + iampolicy.PutBucketNotificationAction, |
| 52 | + iampolicy.PutBucketPolicyAction, |
| 53 | + iampolicy.BypassGovernanceRetentionAction, |
| 54 | + iampolicy.PutObjectRetentionAction, |
| 55 | + iampolicy.GetObjectRetentionAction, |
| 56 | + iampolicy.GetObjectLegalHoldAction, |
| 57 | + iampolicy.PutObjectLegalHoldAction, |
| 58 | + iampolicy.GetBucketObjectLockConfigurationAction, |
| 59 | + iampolicy.PutBucketObjectLockConfigurationAction, |
| 60 | + iampolicy.GetBucketTaggingAction, |
| 61 | + iampolicy.PutBucketTaggingAction, |
| 62 | + iampolicy.GetObjectVersionAction, |
| 63 | + iampolicy.GetObjectVersionTaggingAction, |
| 64 | + iampolicy.DeleteObjectVersionAction, |
| 65 | + iampolicy.DeleteObjectVersionTaggingAction, |
| 66 | + iampolicy.PutObjectVersionTaggingAction, |
| 67 | + iampolicy.GetObjectTaggingAction, |
| 68 | + iampolicy.PutObjectTaggingAction, |
| 69 | + iampolicy.DeleteObjectTaggingAction, |
| 70 | + iampolicy.PutBucketEncryptionAction, |
| 71 | + iampolicy.GetBucketEncryptionAction, |
| 72 | + iampolicy.PutBucketVersioningAction, |
| 73 | + iampolicy.GetBucketVersioningAction, |
| 74 | + iampolicy.GetReplicationConfigurationAction, |
| 75 | + iampolicy.PutReplicationConfigurationAction, |
| 76 | + iampolicy.ReplicateObjectAction, |
| 77 | + iampolicy.ReplicateDeleteAction, |
| 78 | + iampolicy.ReplicateTagsAction, |
| 79 | + iampolicy.GetObjectVersionForReplicationAction, |
| 80 | + iampolicy.AllActions, |
| 81 | +) |
0 commit comments