]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw: adapt verify_user_permission() for account users
authorCasey Bodley <cbodley@redhat.com>
Sat, 27 Jan 2024 00:02:39 +0000 (19:02 -0500)
committerCasey Bodley <cbodley@redhat.com>
Fri, 12 Apr 2024 19:34:28 +0000 (15:34 -0400)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit cb81a429fdeca31c3ae28d85d331f2a3052baaa1)

src/rgw/rgw_common.cc

index 905d34f48eb11c204d762d1190d15e79f9902c56..1e7b29d65777b72715894cba1257ad55e62d0f3f 100644 (file)
@@ -1213,6 +1213,11 @@ bool verify_user_permission(const DoutPrefixProvider* dpp,
                             bool mandatory_policy)
 {
   perm_state_from_req_state ps(s);
+
+  if (std::holds_alternative<rgw_account_id>(s->owner.id)) {
+    // account users always require an Allow from identity-based policy
+    mandatory_policy = true;
+  }
   return verify_user_permission(dpp, &ps, s->user_acl, s->iam_user_policies, s->session_policies, res, op, mandatory_policy);
 }