Send to Amazon S3 Bucket

One of the output options for a configured channel is to send to the Amazon S3 bucket. This delivery method creates an output file and uploads it to Amazon S3.

Use the Amazon S3 receiver when file deliveries should be uploaded directly to an Amazon S3 bucket rather than downloaded manually or transferred through SFTP / HTTP. This delivery method is commonly used for automated integrations, large file transfers, and cloud-based workflows.

Creating the Configuration

To complete the configuration, follow the 'Next' prompts in the 'Output configuration' popup after selecting the desired output type and completing the required fields.

If the 'Category output template' is enabled, the standard template will be overridden.

Note: A template must be available and selected in the Default output template section in order to publish the receiver.

Connection Settings

The table below contains specific information for Amazon S3 bucket connection settings.

Field What to enter

Bucket ID

The bucket name only, for example my-company-share. Do not enter an ARN.

Region

The AWS region the bucket lives in, for example us-east-1.

Access Key ID

The access key ID of an IAM user that is permitted to write to the bucket.

Secret Access Key The matching secret access key.
Remote Path The key prefix inside the bucket that files are written to, for example exports/pdx/.

The Bucket ID provided should not be an Amazon Resource Name (ARN). The Amazon Web Services Software Development Kit (AWS SDK) does not accept a bucket ARN where a bucket name is expected. Using an ARN will cause the upload request to fail before it reaches AWS. Enter only the part after the final colon. The below screenshot provides examples.

Value entered Result

my-company-share

Correct

arn:aws:s3:::my-company-share

Rejected — this is a bucket ARN

aws:s3:::my-company-share

Rejected — not a valid bucket name

s3://my-company-share Rejected — not a valid bucket name

Output Configuration Settings

  1. Link expiration: sets the length of live availability for the link to the download file.

  2. Asset settings

    1. Asset delivery: allows you to select the method of asset delivery for the download from a dropdown.

    2. Rename asset(s): allows renaming of assets following a set rule as described below.

      A default setting is also available to rename assets as shown in the screenshot below.

    3. Assets grouping: provides a dropdown to allow you to select how assets are grouped.

  3. Single output file

    1. Do not zip output containing single file – user has ability to turn zip function off.

    2. Allows user to rename single file output according to a set rule as shown below.

      A default setting is also available to rename the output file as shown in the screenshot below.

  4. Product settings: either (but not both) of the options in the screenshot below can be activated by the user.

  5. Products batch size: user can choose how many products will be sent in a single submission.

Completed Form

The screenshot below is an example of a completed receiver form. Once a form has been completed, click 'Apply' to apply the selected values.

 

Prerequisites: Granting Stibo Systems Access to Bucket

Before the receiver can deliver files, the AWS Identity and Access Management (IAM) user or role associated with the configured credentials must be able to perform s3:PutObject on the target prefix, and the bucket policy must not deny the request.

If the bucket policy restricts access by network

Many organizations restrict bucket access with a Deny statement conditioned on source IP. In this instance, an IP allow-list on its own is not sufficient for PDX.

PDX reaches Amazon S3 by two different network paths — which one is used depends on where the bucket is located:

  • The bucket is in the same AWS region as the PDX environment: Traffic goes through an S3 gateway Virtual Private Cloud (VPC) endpoint and never leaves the AWS network. The source IP that arrives at the bucket is a private address, not a public Stibo Systems IP so an aws:SourceIp condition can never match it.

  • The bucket is in a different region: Traffic leaves through Stibo's Network Address Translation (NAT) gateway and arrives from one of our public IP addresses.

Because either path may be used, the policy must allow both — our public IP addresses and our S3 gateway VPC endpoint IDs.

Public IP addresses

All listed IP addresses should be allowed — any may be used during failover or a service outage.

Copy
50.16.149.59
34.206.196.233
44.193.104.249
3.135.21.33
3.143.162.117
3.143.198.87

S3 gateway VPC endpoint IDs

Endpoint ID Environment Region
vpce-0469ca6d8211c4953 PDX Production us-east-1
vpce-09822acde3eaa88b3 PDX Production (DR) us-east-2

vpce-0c9abccdd7e6960e5

PDX Pre-production us-west-2

If the restriction is expressed as a Deny with a NotIpAddress condition, add the endpoint IDs alongside it so that both paths are permitted as shown in the example below:

Copy
"Condition": {
  "NotIpAddress": {
    "aws:SourceIp": [
      "50.16.149.59/32",
      "34.206.196.233/32",
      "44.193.104.249/32",
      "3.135.21.33/32",
      "3.143.162.117/32",
      "3.143.198.87/32"
    ]
  },
  "StringNotEquals": {
    "aws:SourceVpce": [
      "vpce-0469ca6d8211c4953",
      "vpce-09822acde3eaa88b3",
      "vpce-0c9abccdd7e6960e5"
    ]
  }
}

Other bucket policy conditions to check

If uploads are still denied, good practice is to check if the existing bucket policy denies s3:PutObject under any of the following conditions:

  • Encryption required: a Deny when s3:x-amz-server-side-encryption is absent, or when s3:x-amz-server-side-encryption-aws-kms-key-id is not one specific key. If a Key Management Service (KMS) key is required, the IAM user also needs kms:GenerateDataKey and kms:Encrypt on that key.

  • Access Control List (ACL) required: a Deny unless s3:x-amz-acl is bucket-owner-full-control.

  • Prefix-scoped deny: confirm the folder path configured in PDX falls inside the permitted prefixes.

Troubleshooting

Messages in the left column are generated in the submission log.

Message on the submission log Cause What to do

The bucket is configured as a bucket ARN.

Bucket ID contains an ARN.

Enter the bucket name only.

The bucket name is not valid.

Bucket ID contains a prefix such as aws:s3::: or s3://.

Enter the bucket name only.

S3 rejected the upload with AccessDenied.

The IAM user is not permitted to write, or a Deny in the bucket policy matches the request.

Check the bucket policy's Deny statements and their conditions — see Prerequisites: Granting Stibo Systems Access to Bucket above.
The S3 endpoint could not be resolved. Wrong bucket name or wrong region Check Bucket ID and Region.
The AWS access key or secret key is missing. One of the credential fields is empty. Re-enter both credentials.
The connection to S3 was interrupted. Temporary network problem Retry the submission.

Note: If your AWS administrator needs to trace a specific denied request, Stibo Systems Support can provide the AWS request ID and extended request ID from our logs. These identify the exact call in your CloudTrail events.

Note: You can be notified automatically when submissions fail, rather than discovering it later. See Notifications Settings under Profile and Account Settings.

Frequently Asked Questions

Question Answer

What do I enter in the Bucket ID field — the bucket name or the ARN?

The bucket name only. An ARN is rejected before the upload is attempted.

We allow-listed the Stibo Systems IP addresses but uploads are still denied. Why?

If your bucket is in the same AWS region as the PDX environment, our traffic reaches it through an S3 gateway VPC endpoint and the source IP is not a public Stibo Systems address. Your bucket policy must also allow our S3 gateway VPC endpoint IDs. See Prerequisites: Granting Stibo Systems Access to Bucket.

Which IP addresses and endpoints do we need to allow-list for S3 delivery?

Both the six public IP addresses and the three S3 gateway VPC endpoint IDs listed in Prerequisites: Granting Stibo Systems Access to Bucket.
Are the Azure IP subnets published for STEP relevant to PDX submissions? No. Those ranges belong to STEP, a different part of the platform, and do not apply to PDX channel submissions. Allow-listing them has no effect on S3 delivery.