
Amazon S3 Utilities
by Appian Corporation
Description
The Amazon S3 Utilities Plug-in leverages the Amazon AWS Java API to connect with Amazon S3 to store and retrieve files.
Features
The following smart services are included:
- Upload documents to AWS S3
- Download documents from AWS S3
- Create Folders in AWS S3
- Delete documents from AWS S3
The plugin also includes a function:
- getPreSignedURLForS3 that generates a V4 pre signed url that expires after 5s. This allows for a short term access grant to a secured resource. It can be used in a WebAPI object to redirect a user from Appian to a resource on S3.
Amazon S3 Utilities supports the following Amazon S3 features:
Client side encryption with AWS KMS–Managed Customer Master Key (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html) Server side encryption with Amazon S3-Managed Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html)
Note: The plug-in requires Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files when using client side encryption. (https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html)
The Appian Secure Credential Store is leveraged for the credentials to integrate with Amazon S3. Before executing the plug-in, create an new secure credential store with the following 3 attributes. These values are obtained from Amazon AWS IAM console.
- accesskeyid: this is the access key id for connecting to AWS S3
- accesskeysecret: this is the access key secret for connecting to AWS S3
- kmscmkid: this attribute is only required if using AWS Client Side Encryption
Release notes
Fixed the errors with AWS KMS keys when using regions other than "us-east-1"
Version history (15)
1.5.0
Updated function getPreSignedURLForS3. Added new parameter newFilename, to allow files to be renamed upon download from S3. This is handy if the S3 file uses a non-user friendly naming convention, and you want to rename it to something else.
1.4.4
Removed the conflicting dependency libraries(commons-logging 1.2 jar)
1.4.3
New version of UploadObjectsToAmazonS3 which accepts an optional list of file names, allowing the uploaded files to be named differently in S3 than the Appian documents. Updated all dependencies to latest version
1.4.2
Upgraded ion-java library and renamed the jar in order to avoid scanner picking false positive CVE
1.4.1
v1.4.1 - Fix a deployment error when upgrading to v1.4.0 ---------- The plugin allows to store and retrieve files in Amazon S3.
It leverages the Amazon AWS Java API to connect with Amazon S3.
It supports the following Amazon S3 features:
- Client side encryption with AWS KMS–Managed Customer Master Key (http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html)
- Server side encryption with Amazon S3-Managed Keys (http://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html)
Note that the plugin requires Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files when using client side encryption. (http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html)
1.4.0
Updated deprecated API and license file.
1.3.6
Updates to Jackson databind, core, and annotations libraries
1.3.5
Security Updates
1.3.4
Security Updates
1.3.3
Security Updates
1.3.2
Security Updates
1.3
- Added AWS region as a parameter to all of the Smart Services
- The previous Smart Services have been deprecated
- To utilize the new version, remove existing nodes and replace them with the new one
- Security changes
- Changed dependency httpclient from 4.5.3 to 4.5.13
- Changed dependency jackson-annotations from 2.6.0 to 2.13.1
- Changed dependency jackson-core from 2.6.7 to 2.13.1
1.3.1
- Added AWS region as a parameter to all of the Smart Services
- The previous Smart Services have been deprecated
- To utilize the new version, remove existing nodes and replace them with the new one
- Security changes
- Changed dependency httpclient from 4.5.3 to 4.5.13
- Changed dependency jackson-annotations from 2.6.0 to 2.13.1
- Changed dependency jackson-core from 2.6.7 to 2.13.1
1.2.0
Version 1.2 adds a function getPreSignedURL that generates a V4 pre-signed URL that expires after 5s. This allows for temporary sharing of secured resources with non-authorized users. This would be mainly used in a WebAPI object to redirect a user to an S3 resource.
1.1.0
[MIGRATED] The plugin allows to store and retrieve files in Amazon S3.
It leverages the Amazon AWS Java API to connect with Amazon S3.
It supports the following Amazon S3 features:
- Client side encryption with AWS KMS–Managed Customer Master Key (http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html)
- Server side encryption with Amazon S3-Managed Keys (http://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html)
Note that the plugin requires Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files when using client side encryption. (http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html)