Tracker: https://tracker.ceph.com/issues/72982
Signed-off-by: Raja Sharma <raja@ibm.com>
std::optional<rgw::ARN> get_caller_identity() const override {
rgw::Partition partition = rgw::Partition::aws;
rgw::Service service = rgw::Service::sts;
- std::string acct = role.account->id.empty() ? role.tenant : role.account->id;
+ std::string acct;
+ if (role.account && !role.account->id.empty()) {
+ acct = role.account->id;
+ } else {
+ acct = role.tenant;
+ }
std::string resource = "assumed-role" + role.path + role.name + "/" + token_attrs.role_session_name;
return rgw::ARN(partition, service, "", acct, resource);