mirror of
https://github.com/minio/minio.git
synced 2025-04-22 03:24:38 -04:00
parent
a62572fb86
commit
de9b391db3
@ -47,6 +47,7 @@ var (
|
|||||||
errAuthentication = errors.New("Authentication failed, check your access credentials")
|
errAuthentication = errors.New("Authentication failed, check your access credentials")
|
||||||
errNoAuthToken = errors.New("JWT token missing")
|
errNoAuthToken = errors.New("JWT token missing")
|
||||||
errIncorrectCreds = errors.New("Current access key or secret key is incorrect")
|
errIncorrectCreds = errors.New("Current access key or secret key is incorrect")
|
||||||
|
errPresignedNotAllowed = errors.New("Unable to generate shareable URL due to lack of read permissions")
|
||||||
)
|
)
|
||||||
|
|
||||||
func authenticateJWTUsers(accessKey, secretKey string, expiry time.Duration) (string, error) {
|
func authenticateJWTUsers(accessKey, secretKey string, expiry time.Duration) (string, error) {
|
||||||
|
@ -1966,6 +1966,20 @@ func (web *webAPIHandlers) PresignedGet(r *http.Request, args *PresignedGetArgs,
|
|||||||
return toJSONError(ctx, errInvalidBucketName)
|
return toJSONError(ctx, errInvalidBucketName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check if the user indeed has GetObject access,
|
||||||
|
// if not we do not need to generate presigned URLs
|
||||||
|
if !globalIAMSys.IsAllowed(iampolicy.Args{
|
||||||
|
AccountName: claims.AccessKey,
|
||||||
|
Action: iampolicy.GetObjectAction,
|
||||||
|
BucketName: args.BucketName,
|
||||||
|
ConditionValues: getConditionValues(r, "", claims.AccessKey, claims.Map()),
|
||||||
|
IsOwner: owner,
|
||||||
|
ObjectName: args.ObjectName,
|
||||||
|
Claims: claims.Map(),
|
||||||
|
}) {
|
||||||
|
return toJSONError(ctx, errPresignedNotAllowed)
|
||||||
|
}
|
||||||
|
|
||||||
reply.UIVersion = browser.UIVersion
|
reply.UIVersion = browser.UIVersion
|
||||||
reply.URL = presignedGet(args.HostName, args.BucketName, args.ObjectName, args.Expiry, creds, region)
|
reply.URL = presignedGet(args.HostName, args.BucketName, args.ObjectName, args.Expiry, creds, region)
|
||||||
return nil
|
return nil
|
||||||
|
Loading…
x
Reference in New Issue
Block a user