AWS S3 Bucket Management

Overview

Manage AWS S3 data stores with Appian! Users can access their S3 objects directly from an Appian interface. Appian documents can be uploaded to a S3 bucket with Server-Side Encryption and be configured as Public or Private.
 
The AWS S3 Connected System Plug-in uses the AWS Java SDK to connect to S3.

Key Features & Functionality

  • Create Bucket -- Adds a new bucket to the S3 instance. A bucket is needed in order to store objects (files).
  • Upload File -- Uploads a file to any specified bucket on the S3 instance.
  • Upload Multiple Files -- Uploads multiple files to any specified bucket on the S3 instance.
  • List Buckets -- Returns all available buckets on the S3 instance.
  • List Objects -- Returns all available objects from a specified bucket.
  • Delete Bucket -- Permanently removes a bucket from the S3 instance.
  • Delete Object -- Permanently removes an object from a specified bucket.

Requirements

Access Key Id: the access key id for connecting to S3 can be retrieved from AWS Management Console Navigate to the Users > Summary page and click the “Security credentials” tab
Secret Access Key: the secret access key can only be viewed once upon the creation of an access key, see AWS Access Keys documentation for more information: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys

Notes

Users that want to upload objects as 'Public' must have the correct IAM privileges or an "Access Denied" error will return.

Anonymous
Parents
  • ListAllBuckets related error:

    I am using the AWS Assume Role Plug-in with the Amazon S3 plug-in. After providing an Access Key ID, Region, Secret Access Key, Role ARN, and Role, I am getting Access Denied Error (403) when using the following role policy:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Action": [
                    "s3:Put*",
                    "s3:Get*",
                    "s3:Delete*",
                    "s3:List*"
                ],
                "Effect": "Allow",
                "Resource": [
                    "arn:aws:s3:::specificBucket",
                    "arn:aws:s3:::specificBucket/*"
                ]
            }
        ]
    }


    After reading through the past comments I've identified that this error is a ListAllBuckets permissions error, as I've found that the following role policy works (successful connection):
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Action": [
                    "s3:Put*",
                    "s3:Get*",
                    "s3:Delete*",
                    "s3:List*"
                ],
                "Effect": "Allow",
                "Resource": [
                    "arn:aws:s3:::specificBucket",
                    "arn:aws:s3:::specificBucket/*"
                ]
            },
            {
                "Action": [
                    "s3:ListAllMyBuckets"
                ],
                "Effect": "Allow",
                "Resource": [
                    "*"
                ]
            }
        ]
    }

    However, I cannot give full access to AWS S3 and I need to use the first policy.

Comment
  • ListAllBuckets related error:

    I am using the AWS Assume Role Plug-in with the Amazon S3 plug-in. After providing an Access Key ID, Region, Secret Access Key, Role ARN, and Role, I am getting Access Denied Error (403) when using the following role policy:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Action": [
                    "s3:Put*",
                    "s3:Get*",
                    "s3:Delete*",
                    "s3:List*"
                ],
                "Effect": "Allow",
                "Resource": [
                    "arn:aws:s3:::specificBucket",
                    "arn:aws:s3:::specificBucket/*"
                ]
            }
        ]
    }


    After reading through the past comments I've identified that this error is a ListAllBuckets permissions error, as I've found that the following role policy works (successful connection):
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Action": [
                    "s3:Put*",
                    "s3:Get*",
                    "s3:Delete*",
                    "s3:List*"
                ],
                "Effect": "Allow",
                "Resource": [
                    "arn:aws:s3:::specificBucket",
                    "arn:aws:s3:::specificBucket/*"
                ]
            },
            {
                "Action": [
                    "s3:ListAllMyBuckets"
                ],
                "Effect": "Allow",
                "Resource": [
                    "*"
                ]
            }
        ]
    }

    However, I cannot give full access to AWS S3 and I need to use the first policy.

Children
No Data