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(),