I want to add cloud as source of my data to label. I use aws s3 buckets. Configuring and accessing file list works correctly, I can see them appearing in my default labeling view.
The problem occurs when trying to load the actual image files erroring with 403 Forbidden .
the get command:
GET | https://MY_BUCKET_NAME_HERE.s3.eu-central-1.amazonaws.com/IMG_20201215_121448.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=MY_CREDENTIAL_HERE/20210319/eu-central-1/s3/aws4_request&X-Amz-Date=20210319T125741Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=SOME_SIGNATURE_HERE
-- | --
and the server response:
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message><AWSAccessKeyId>MY_CREDENTIAL_HERE</AWSAccessKeyId><StringToSign>AWS4-HMAC-SHA256
20210319T125741Z
20210319/eu-central-1/s3/aws4_request
b2b3c94d27b95a9bf13eb08fa21d1565572085ea82cd8462bb8f3134dde5386b</StringToSign><SignatureProvided>SOME_SIGNATURE_HERE</SignatureProvided><StringToSignBytes>41 57 53 34 2d 48 4d 41 43 2d 53 48 41 32 35 36 0a 32 30 32 31 30 33 31 39 54 31 32 35 37 34 31 5a 0a 32 30 32 31 30 33 31 39 2f 65 75 2d 63 65 6e 74 72 61 6c 2d 31 2f 73 33 2f 61 77 73 34 5f 72 65 71 75 65 73 74 0a 62 32 62 33 63 39 34 64 32 37 62 39 35 61 39 62 66 31 33 65 62 30 38 66 61 32 31 64 31 35 36 35 35 37 32 30 38 35 65 61 38 32 63 64 38 34 36 32 62 62 38 66 33 31 33 34 64 64 65 35 33 38 36 62</StringToSignBytes><CanonicalRequest>GET
/IMG_20201215_121448.jpg
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=MY_CREDENTIAL_HERE%2F20210319%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20210319T125741Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
host:MY_BUCKET_NAME_HERE.s3.eu-central-1.amazonaws.com
host
UNSIGNED-PAYLOAD</CanonicalRequest><CanonicalRequestBytes>47 45 54 0a 2f 49 4d 47 5f 32 30 32 30 31 32 31 35 5f 31 32 31 34 34 38 2e 6a 70 67 0a 58 2d 41 6d 7a 2d 41 6c 67 6f 72 69 74 68 6d 3d 41 57 53 34 2d 48 4d 41 43 2d 53 48 41 32 35 36 26 58 2d 41 6d 7a 2d 43 72 65 64 65 6e 74 69 61 6c 3d 41 4b 49 41 36 46 42 53 51 50 45 47 58 48 45 55 42 58 57 4f 25 32 46 32 30 32 31 30 33 31 39 25 32 46 65 75 2d 63 65 6e 74 72 61 6c 2d 31 25 32 46 73 33 25 32 46 61 77 73 34 5f 72 65 71 75 65 73 74 26 58 2d 41 6d 7a 2d 44 61 74 65 3d 32 30 32 31 30 33 31 39 54 31 32 35 37 34 31 5a 26 58 2d 41 6d 7a 2d 45 78 70 69 72 65 73 3d 33 36 30 30 26 58 2d 41 6d 7a 2d 53 69 67 6e 65 64 48 65 61 64 65 72 73 3d 68 6f 73 74 0a 68 6f 73 74 3a 63 68 6f 70 69 6e 2d 6f 62 6a 65 63 74 2d 64 65 74 65 63 74 69 6f 6e 2e 73 33 2e 65 75 2d 63 65 6e 74 72 61 6c 2d 31 2e 61 6d 61 7a 6f 6e 61 77 73 2e 63 6f 6d 0a 0a 68 6f 73 74 0a 55 4e 53 49 47 4e 45 44 2d 50 41 59 4c 4f 41 44</CanonicalRequestBytes><RequestId>8S4Z9G6311EXCPS3</RequestId><HostId>SOME_HOST_ID_HERE=</HostId></Error>
I have created the ~/.aws/config file with the following contents:
[default]
region=eu-central-1
I have provided api keys and credentials correctly - connection status shows as success and also files list are properly read.
To Reproduce
Steps to reproduce the behavior:
I'm a newbie in AWS an all that cloud stuff so any help is welcome!
@potipot Could you send a screenshot with the browser console please? To clarify this part of your problem:
The problem occurs when trying to load the actual image files erroring with 403 Forbidden .
the get command:
GET | https://MY_BUCKET_NAME_HERE.s3.eu-central-1.amazonaws.com/IMG_20201215_121448.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=MY_CREDENTIAL_HERE/20210319/eu-central-1/s3/aws4_request&X-Amz-Date=20210319T125741Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=SOME_SIGNATURE_HERE
I can't understand when it happens exactly.
I wasn't able to reproduce this error in the last week. I'll close this.
Were you able to resolve this problem? I am facing the same issue. One i sync with the Cloud Storage on S3, i am able to see the tasks which are created for each corresponding object. But when i try to annotate, i get the same error as above.
I managed to get it to function by trying different connection settings in the labelstudio AWS connection profile. Also I made sure I have correct aws_access_key_id and aws_secret_access_key set in my .aws/config file, with the correct s3 permission set in my aws management console (s3 full as I reckon).
Hope that helps