diff options
Diffstat (limited to 'weed/s3api/s3api_server.go')
| -rw-r--r-- | weed/s3api/s3api_server.go | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/weed/s3api/s3api_server.go b/weed/s3api/s3api_server.go index 053d4f56a..b9c4eb3fc 100644 --- a/weed/s3api/s3api_server.go +++ b/weed/s3api/s3api_server.go @@ -90,7 +90,7 @@ func NewS3ApiServerWithStore(router *mux.Router, option *S3ApiServerOption, expl // Initialize bucket policy engine first policyEngine := NewBucketPolicyEngine() - + s3ApiServer = &S3ApiServer{ option: option, iam: iam, @@ -108,7 +108,7 @@ func NewS3ApiServerWithStore(router *mux.Router, option *S3ApiServerOption, expl // Initialize advanced IAM system if config is provided if option.IamConfig != "" { - glog.V(0).Infof("Loading advanced IAM configuration from: %s", option.IamConfig) + glog.V(1).Infof("Loading advanced IAM configuration from: %s", option.IamConfig) iamManager, err := loadIAMManagerFromConfig(option.IamConfig, func() string { return string(option.Filer) @@ -125,7 +125,7 @@ func NewS3ApiServerWithStore(router *mux.Router, option *S3ApiServerOption, expl // Set the integration in the traditional IAM for compatibility iam.SetIAMIntegration(s3iam) - glog.V(0).Infof("Advanced IAM system initialized successfully") + glog.V(1).Infof("Advanced IAM system initialized successfully") } } @@ -134,7 +134,7 @@ func NewS3ApiServerWithStore(router *mux.Router, option *S3ApiServerOption, expl if err := s3ApiServer.iam.loadS3ApiConfigurationFromFile(option.Config); err != nil { glog.Errorf("fail to load config file %s: %v", option.Config, err) } else { - glog.V(0).Infof("Loaded %d identities from config file %s", len(s3ApiServer.iam.identities), option.Config) + glog.V(1).Infof("Loaded %d identities from config file %s", len(s3ApiServer.iam.identities), option.Config) } }) } @@ -168,6 +168,10 @@ func NewS3ApiServerWithStore(router *mux.Router, option *S3ApiServerOption, expl // This helper method centralizes the logic for loading bucket policies into the engine // to avoid duplication and ensure consistent error handling func (s3a *S3ApiServer) syncBucketPolicyToEngine(bucket string, policyDoc *policy.PolicyDocument) { + if s3a.policyEngine == nil { + return + } + if policyDoc != nil { if err := s3a.policyEngine.LoadBucketPolicyFromCache(bucket, policyDoc); err != nil { glog.Errorf("Failed to sync bucket policy for %s to policy engine: %v", bucket, err) @@ -498,7 +502,7 @@ func loadIAMManagerFromConfig(configPath string, filerAddressProvider func() str if configRoot.Policy == nil { // Provide a secure default if not specified in the config file // Default to Deny with in-memory store so that JSON-defined policies work without filer - glog.V(0).Infof("No policy engine config provided; using defaults (DefaultEffect=%s, StoreType=%s)", sts.EffectDeny, sts.StoreTypeMemory) + glog.V(1).Infof("No policy engine config provided; using defaults (DefaultEffect=%s, StoreType=%s)", sts.EffectDeny, sts.StoreTypeMemory) configRoot.Policy = &policy.PolicyEngineConfig{ DefaultEffect: sts.EffectDeny, StoreType: sts.StoreTypeMemory, @@ -556,7 +560,7 @@ func loadIAMManagerFromConfig(configPath string, filerAddressProvider func() str } } - glog.V(0).Infof("Loaded %d providers, %d policies and %d roles from config", len(configRoot.Providers), len(configRoot.Policies), len(configRoot.Roles)) + glog.V(1).Infof("Loaded %d providers, %d policies and %d roles from config", len(configRoot.Providers), len(configRoot.Policies), len(configRoot.Roles)) return iamManager, nil } |
