diff --git a/crates/iam/src/sys.rs b/crates/iam/src/sys.rs index 4de858810..b59663abb 100644 --- a/crates/iam/src/sys.rs +++ b/crates/iam/src/sys.rs @@ -528,7 +528,7 @@ impl IamSys { return Err(IamError::NoSuchServiceAccount(access_key.to_string())); }; - if u.credentials.is_service_account() { + if !u.credentials.is_service_account() { return Err(IamError::NoSuchServiceAccount(access_key.to_string())); } diff --git a/crates/policy/src/policy/policy.rs b/crates/policy/src/policy/policy.rs index c4596fae8..334ae1650 100644 --- a/crates/policy/src/policy/policy.rs +++ b/crates/policy/src/policy/policy.rs @@ -154,8 +154,8 @@ impl Validator for Policy { type Error = Error; fn is_valid(&self) -> Result<()> { - if !self.id.is_empty() && !self.id.eq(DEFAULT_VERSION) { - return Err(IamError::InvalidVersion(self.id.0.clone()).into()); + if !self.version.is_empty() && !self.version.eq(DEFAULT_VERSION) { + return Err(IamError::InvalidVersion(self.version.clone()).into()); } for statement in self.statements.iter() { @@ -213,8 +213,8 @@ impl Validator for BucketPolicy { type Error = Error; fn is_valid(&self) -> Result<()> { - if !self.id.is_empty() && !self.id.eq(DEFAULT_VERSION) { - return Err(IamError::InvalidVersion(self.id.0.clone()).into()); + if !self.version.is_empty() && !self.version.eq(DEFAULT_VERSION) { + return Err(IamError::InvalidVersion(self.version.clone()).into()); } for statement in self.statements.iter() { diff --git a/rustfs/src/admin/handlers/user.rs b/rustfs/src/admin/handlers/user.rs index 5f26f31b0..e2a09eabf 100644 --- a/rustfs/src/admin/handlers/user.rs +++ b/rustfs/src/admin/handlers/user.rs @@ -675,7 +675,7 @@ impl Operation for ImportIam { let policies: HashMap = serde_json::from_slice(&file_content) .map_err(|e| S3Error::with_message(S3ErrorCode::InternalError, e.to_string()))?; for (name, policy) in policies { - if policy.id.is_empty() { + if policy.is_empty() { let res = iam_store.delete_policy(&name, true).await; removed.policies.push(name.clone()); if let Err(e) = res {