diff --git a/pkg/acl/permissions.go b/pkg/acl/permissions.go index edc847c20..73392d5ef 100644 --- a/pkg/acl/permissions.go +++ b/pkg/acl/permissions.go @@ -78,4 +78,5 @@ var BucketAdminRole = iampolicy.NewActionSet( iampolicy.ReplicateTagsAction, iampolicy.GetObjectVersionForReplicationAction, iampolicy.AllActions, + iampolicy.AllAdminActions, ) diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessDetailsPanel.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessDetailsPanel.tsx index 810378772..a16428e87 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessDetailsPanel.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessDetailsPanel.tsx @@ -136,7 +136,7 @@ const AccessDetails = ({ setLoadingUsers(false); } } - }, [loadingUsers, setErrorSnackMessage, bucketName]); + }, [loadingUsers, setErrorSnackMessage, bucketName, displayUsersList]); useEffect(() => { if (loadingPolicies) { @@ -156,7 +156,7 @@ const AccessDetails = ({ setLoadingPolicies(false); } } - }, [loadingPolicies, setErrorSnackMessage, bucketName]); + }, [loadingPolicies, setErrorSnackMessage, bucketName, displayPoliciesList]); return ( diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddReplicationModal.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddReplicationModal.tsx index e7d4053ce..07eff116e 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddReplicationModal.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddReplicationModal.tsx @@ -81,7 +81,6 @@ const AddReplicationModal = ({ const [useTLS, setUseTLS] = useState(true); const [repDeleteMarker, setRepDeleteMarker] = useState(true); const [repDelete, setRepDelete] = useState(true); - const [repMetadata, setRepMetadata] = useState(true); const [tags, setTags] = useState(""); const [replicationMode, setReplicationMode] = useState("async"); const [bandwidthScalar, setBandwidthScalar] = useState("100"); @@ -116,7 +115,6 @@ const AddReplicationModal = ({ tags: tags, replicateDeleteMarkers: repDeleteMarker, replicateDeletes: repDelete, - replicateMetadata: repMetadata, }; api @@ -365,20 +363,6 @@ const AddReplicationModal = ({ description={"Replicate versioned deletes"} /> - {/*TODO: This will be enabled later on when we update the dependency on mc*/} - {/**/} - {/* {*/} - {/* setRepMetadata(e.target.checked);*/} - {/* }}*/} - {/* value={repMetadata}*/} - {/* description={"Replicate object metadata"}*/} - {/* />*/} - {/**/} @@ -797,12 +809,18 @@ const License = ({ classes, operatorMode }: ILicenseProps) => { {item.communityLink !== undefined && item.communityLink ? ( - setLicenseModal(true)} > {item.community} - + ) : ( item.community )} diff --git a/restapi/user_buckets.go b/restapi/user_buckets.go index 1448f6a6a..4485feadb 100644 --- a/restapi/user_buckets.go +++ b/restapi/user_buckets.go @@ -551,7 +551,6 @@ func getPolicyActionSetForBucket(bucketName string, statement []minioIAMPolicy.S bucketNameARN := fmt.Sprintf("arn:aws:s3:::%s/*", bucketName) for _, st := range statement { if st.Effect == "Allow" { - if len(st.Resources.ToSlice()) == 0 { mergedActions := append(bucketActions.ToSlice(), st.Actions.ToSlice()...) bucketActions = minioIAMPolicy.NewActionSet(mergedActions...) diff --git a/restapi/user_session.go b/restapi/user_session.go index 00ad8b26d..35dbf9208 100644 --- a/restapi/user_session.go +++ b/restapi/user_session.go @@ -85,17 +85,6 @@ func getSessionResponse(session *models.Principal) (*models.SessionResponse, *mo return nil, prepareError(err, errorGenericInvalidSession) } userAdminClient := AdminClient{Client: mAdminClient} - // Policy used by the current user - accountInfo, err := userAdminClient.AccountInfo(ctx) - if err != nil { - return nil, prepareError(err) - } - - var sessionPolicy *models.IamPolicy - err = json.Unmarshal(accountInfo.Policy, &sessionPolicy) - if err != nil { - return nil, prepareError(err) - } // Obtain the current policy assigned to this user // necessary for generating the list of allowed endpoints policy, err := getAccountPolicy(ctx, userAdminClient) @@ -110,7 +99,15 @@ func getSessionResponse(session *models.Principal) (*models.SessionResponse, *mo if policy != nil { actions = acl.GetActionsStringFromPolicy(policy) } - + rawPolicy, err := json.Marshal(policy) + if err != nil { + return nil, prepareError(err, errorGenericInvalidSession) + } + var sessionPolicy *models.IamPolicy + err = json.Unmarshal(rawPolicy, &sessionPolicy) + if err != nil { + return nil, prepareError(err) + } sessionResp := &models.SessionResponse{ Pages: acl.GetAuthorizedEndpoints(actions), Features: getListOfEnabledFeatures(),