How do I resolve the "Insufficient privileges for accessing data in S3" error while creating an import job in Amazon Personalize?

2 minute read
0

When I try to create the dataset import job in Amazon Personalize, I get the following error: "Insufficient privileges for accessing data in S3. Please look at https://docs.aws.amazon.com/personalize/latest/dg/granting-personalize-s3-access.html#attach-bucket-policy and fix bucket policy on S3 bucket".

Resolution

This error occurs when Amazon Personalize can't read the data in the input bucket due to insufficient Amazon Simple Storage Service (Amazon S3) bucket permissions.

After you upload all the input CSV files to your S3 bucket, Amazon Personalize imports data from the input location. This means that Amazon Personalize must have permissions to access your S3 bucket.

To grant Amazon Personalize access to your S3 bucket, follow these steps:

1.    Open the Amazon S3 console.

2.    From the list of buckets, open the bucket where you uploaded the CSV files.

3.    Choose Permissions, and then choose Bucket Policy.

4.    In the Bucket policy editor text box, enter the following bucket policy:

{
  "Version": "2012-10-17",
  "Id": "PersonalizeS3BucketAccessPolicy",
  "Statement": [
    {
      "Sid": "PersonalizeS3BucketAccessPolicy",
      "Effect": "Allow",
      "Principal": {
        "Service": "personalize.amazonaws.com"
      },
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET",
        "arn:aws:s3:::DOC-EXAMPLE_BUCKET/*"
      ]
    }
  ]
}

Note: Replace DOC-EXAMPLE-BUCKET with the name of your bucket.

5.    Choose Save.

For more information on setting up permissions to use Amazon Personalize, see Setting up permissions.


Related information

Uploading to an S3 bucket

AWS OFFICIAL
AWS OFFICIALUpdated 2 years ago