]> git.apps.os.sepia.ceph.com Git - ceph.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>
Wed, 10 Apr 2024 17:09:15 +0000 (13:09 -0400)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/rgw/rgw_common.cc

index 4421c6b566d5fa23d9565d8d3d552b953386836f..80f4f5cf3076b27d6aa83475c1c2e9d79f9a4170 100644 (file)
@@ -1214,6 +1214,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);
 }