bool RGWUserPermHandler::Bucket::verify_bucket_permission(const rgw_obj_key& obj_key, const uint64_t op) const
{
+ if (ps->identity->is_admin()) {
+ ldpp_dout(dpp, 4) << "admin user, no need to check permissions" << dendl;
+ return true;
+ }
+
const rgw_obj obj(ps->bucket_info.bucket, obj_key);
const auto arn = rgw::ARN(obj);
rgw::IAM::Effect RGWUserPermHandler::Bucket::evaluate_iam_policies(const rgw_obj_key& obj_key, const uint64_t op) const
{
+ if (ps->identity->is_admin()) {
+ ldpp_dout(dpp, 4) << "admin user, no need to check permissions" << dendl;
+ return rgw::IAM::Effect::Allow;
+ }
+
const rgw_obj obj(ps->bucket_info.bucket, obj_key);
const auto arn = rgw::ARN(obj);
const bool account_root = (ps->identity->get_identity_type() == TYPE_ROOT);
id(user.user_id),
display_name(user.display_name),
path(user.path),
- user_is_admin(user.admin),
+ user_is_admin(user.admin || user.system),
type(user.type),
account(std::move(account)),
policies(std::move(policies))