// GetBucketPolicy - get bucket policy rules at a given path. func (c Client) ListBucketPolicies(bucketName, objectPrefix string) (bucketPolicies map[string]policy.BucketPolicy, err error) { // Input validation. if err := isValidBucketName(bucketName); err != nil { return map[string]policy.BucketPolicy{}, err } if err := isValidObjectPrefix(objectPrefix); err != nil { return map[string]policy.BucketPolicy{}, err } policyInfo, err := c.getBucketPolicy(bucketName, objectPrefix) if err != nil { return map[string]policy.BucketPolicy{}, err } return policy.GetPolicies(policyInfo.Statements, bucketName), nil }
// GetllBucketPolicy - get all bucket policy. func (web *webAPIHandlers) ListAllBucketPolicies(r *http.Request, args *ListAllBucketPoliciesArgs, reply *ListAllBucketPoliciesRep) error { objectAPI := web.ObjectAPI() if objectAPI == nil { return toJSONError(errServerNotInitialized) } if !isJWTReqAuthenticated(r) { return toJSONError(errAuthentication) } policyInfo, err := readBucketAccessPolicy(objectAPI, args.BucketName) if err != nil { return toJSONError(err, args.BucketName) } reply.UIVersion = miniobrowser.UIVersion for prefix, policy := range policy.GetPolicies(policyInfo.Statements, args.BucketName) { reply.Policies = append(reply.Policies, bucketAccessPolicy{ Prefix: prefix, Policy: policy, }) } return nil }