diff --git a/weed/s3api/s3api_server.go b/weed/s3api/s3api_server.go index bf1a44e54..464ca1c8b 100644 --- a/weed/s3api/s3api_server.go +++ b/weed/s3api/s3api_server.go @@ -653,6 +653,11 @@ func loadIAMManagerFromConfig(configPath string, filerAddressProvider func() str DefaultEffect: sts.EffectDeny, StoreType: sts.StoreTypeMemory, } + } else if configRoot.Policy.StoreType == "" { + // If policy config exists but storeType is not specified, use memory store + // This ensures JSON-defined policies are stored in memory and work correctly + configRoot.Policy.StoreType = sts.StoreTypeMemory + glog.V(1).Infof("Policy storeType not specified; using memory store for JSON config-based setup") } // Create IAM configuration