]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw/auth: WebIdentityApplier doesn't create shadow users for account roles
authorCasey Bodley <cbodley@redhat.com>
Thu, 29 Feb 2024 18:14:57 +0000 (13:14 -0500)
committerCasey Bodley <cbodley@redhat.com>
Fri, 12 Apr 2024 19:34:29 +0000 (15:34 -0400)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 07cdc65579d8c60399cdde73fddc26c36190fcde)

src/rgw/rgw_auth.cc

index 6fe40836036262770ca9fcf4f7188d0428954537..a357d15a9dfd06855a8390ccbe6fe3eb28ea46dc 100644 (file)
@@ -620,6 +620,15 @@ void rgw::auth::WebIdentityApplier::load_acct_info(const DoutPrefixProvider* dpp
   federated_user.tenant = role_tenant;
   federated_user.ns = "oidc";
 
+  if (account) {
+    // we don't need shadow users for account roles because bucket ownership,
+    // quota, and stats are tracked by the account instead of the user
+    user_info.user_id = std::move(federated_user);
+    user_info.display_name = user_name;
+    user_info.type = TYPE_WEB;
+    return;
+  }
+
   std::unique_ptr<rgw::sal::User> user = driver->get_user(federated_user);
 
   //Check in oidc namespace