{"record":{"id":"45cb00d87e2d634d","repo":"rustfs/rustfs","slug":"access-key-contains-reserved-characters","errorCode":null,"errorMessage":"access key contains reserved characters =,","messagePattern":"access key contains reserved characters =,","errorType":"exception","errorClass":"Error::ContainsReservedChars","httpStatus":null,"severity":"error","filePath":"crates/iam/src/error.rs","lineNumber":71,"sourceCode":"    #[error(\"policy in use\")]\n    PolicyInUse,\n\n    #[error(\"group not empty\")]\n    GroupNotEmpty,\n\n    #[error(\"invalid arguments specified\")]\n    InvalidArgument,\n\n    #[error(\"not initialized\")]\n    IamSysNotInitialized,\n\n    #[error(\"invalid access key length\")]\n    InvalidAccessKeyLength,\n\n    #[error(\"invalid secret key length\")]\n    InvalidSecretKeyLength,\n\n    #[error(\"access key contains reserved characters =,\")]\n    ContainsReservedChars,\n\n    #[error(\"group name contains reserved characters =,\")]\n    GroupNameContainsReservedChars,\n\n    #[error(\"access key is already in use\")]\n    AccessKeyAlreadyExists,\n\n    #[error(\"action not allowed\")]\n    IAMActionNotAllowed,\n\n    #[error(\"no secret key with access key\")]\n    NoSecretKeyWithAccessKey,\n\n    #[error(\"no access key with secret key\")]\n    NoAccessKeyWithSecretKey,\n\n    #[error(\"policy too large\")]","sourceCodeStart":53,"sourceCodeEnd":89,"githubUrl":"https://github.com/rustfs/rustfs/blob/35af688cd9d41b4346fbe27dcf7250ba72046c1f/crates/iam/src/error.rs#L53-L89","documentation":"IAM validation guard meaning the access key contains characters reserved by the IAM store's key-value encoding ('=' or ','). Because identities are serialized as k=v,comma lists, those characters would corrupt round-tripping, so account creation is rejected at the boundary; callers surface it as InvalidArgument telling the operator to pick a different access key.","triggerScenarios":"Thrown at crates/iam/src/error.rs:71 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Choose an access key without '=' or ','","Reject such keys at the API boundary"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"35af688cd9d41b4346fbe27dcf7250ba72046c1f","analyzedAt":"2026-08-20T21:57:04.799Z","contentChangedAt":"2026-08-20T21:57:04.799Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}