diff --git a/crates/iam/src/store/object.rs b/crates/iam/src/store/object.rs index bc50d5ea1..2cadfd71f 100644 --- a/crates/iam/src/store/object.rs +++ b/crates/iam/src/store/object.rs @@ -130,8 +130,14 @@ impl ObjectStore { } fn decrypt_data(data: &[u8]) -> Result> { - let de = rustfs_crypto::decrypt_data(get_global_action_cred().unwrap_or_default().secret_key.as_bytes(), data)?; - Ok(de) + let cred = get_global_action_cred().unwrap_or_default(); + match rustfs_crypto::decrypt_data(cred.secret_key.as_bytes(), data) { + Ok(decrypted) => Ok(decrypted), + Err(_) => { + warn!("Failed to decrypt IAM config data, treating as unencrypted"); + Ok(data.to_vec()) + } + } } fn encrypt_data(data: &[u8]) -> Result> {