Overview
Configuration
AWS Configuration
To use Amazon S3 with eXtendFiles, you'll
need to create an IAM User and an IAM Policy that grant access to
your S3 bucket(s). You'll find a sample
IAM Policy in the "1. Create IAM Policy"
section below.
AWS Prerequisites
- Ensure you have created an S3
bucket with the following
settings:
- Set "Object
Ownership" to "ACLs
enabled".

- Uncheck all "block public access" options on the bucket. When you disable blocking public access keep in mind the following:
- Public files with non-expiring
S3 links that can be shared
outside of NetSuite
indefinitely. Note that
private files can only be
shared using S3 signed links,
which expire after 7 days. For
more details, see Understanding
Amazon S3 Signed
Links.
- Public thumbnails for rendering in the eXtendOrders File Picker.

1. Create
IAM Policy
Follow Amazon's Create
Policies documentation
to create a new IAM
policy. Make sure to
include the policy
information
below in your IAM policy:
{"Version": "2012-10-17","Statement": [{"Sid": "VisualEditor0","Effect": "Allow","Action": ["s3:ListBucketVersions","s3:GetBucketVersioning","s3:GetBucketLocation"],"Resource": ["arn:aws:s3:::netsuite-assets"]},{"Sid": "VisualEditor1","Effect": "Allow","Action": ["s3:PutObject","s3:GetObjectAcl","s3:GetObject","s3:AbortMultipartUpload","s3:DeleteObjectVersion","s3:PutObjectVersionAcl","s3:RestoreObject","s3:GetObjectVersionAcl","s3:DeleteObject","s3:PutObjectAcl","s3:GetObjectVersion","s3:ListMultipartUploadParts"],"Resource": ["arn:aws:s3:::netsuite-assets/*"]},{"Sid": "VisualEditor2","Effect": "Allow","Action": ["s3:GetLifecycleConfiguration","s3:ListBucketMultipartUploads","s3:GetBucketTagging","s3:PutBucketTagging","s3:PutLifecycleConfiguration","s3:GetBucketLogging","s3:GetBucketCORS","s3:PutBucketAcl","s3:GetBucketVersioning","s3:PutBucketCORS","s3:GetBucketAcl","s3:PutBucketVersioning"],"Resource": ["arn:aws:s3:::netsuite-assets/*"]}]}
"Resource": ["arn:aws:s3:::netsuite-assets", "arn:aws:s3:::netsuite-assets2", "arn:aws:s3:::netsuite-assets3"]
{"Sid": "AllowUseOfKMSKey","Effect": "Allow","Action": ["kms:GenerateDataKey"],"Resource": KMS-KEY-ARN}
2.
Create IAM User
Follow Amazon's Create
IAM
Users documentation
to create a new IAM
user. When creating access keys
for your user, use the
"Third-party service"
option:

3. Attach the IAM Policy
NetSuite Configuration
The
configuration steps
below will be
performed from within
your NetSuite
account.
- Go
to eXtendTech
→ eXtendFiles
→ eXtendFiles Configuration.
- In Storage Settings → General, select the "Amazon
S3" Storage Type.
- Define the fields below with the information from your S3 account.
Field | Description |
---|---|
Primary Bucket | Specify the S3 bucket name where files will be stored. |
AWS Region | Specify your S3 bucket's AWS
Region. |
Access Key ID | Enter the access key for your IAM User in S3. |
Secret Access Key | Enter the secret access key for your IAM User ins3. |
Additional Buckets | Specify the names of any additional S3 buckets which you want to use. These buckets can belong to different AWS regions and need not fall into same AWS Region as specified in the AWS Region field. Note: Make sure the buckets specified are included in the IAM Policy created in the "AWS S3 Configuration" section above. |
