Sign up to take part
Registered users can ask their own questions, contribute to discussions, and be part of the Community!
Registered users can ask their own questions, contribute to discussions, and be part of the Community!
Hello,
We are looking to utilize a custom provider class for S3 Credentials on the official S3 connection.
I can see from the credentials dropdown has an option for Custom credentials with an input:
Can you provide documentation on what is needed to create a custom DSS AWS credentials provider?
Thanks!
Hi Hurriel,
I know this is a few months old... but I've just worked through this.
To make it work you need the following:
* Need to grab some of the dataiku jars for some dependencies: ( these are in your install directory )
* dataiku-app-platform.jar (for the com.dataiku.dip.security.AuthCtx)
* dataiku-dip.jar (for the com.dataiku.dip.connections.EC2Connection.AWSConnectionCredentialsProvider )
* Next create a jar with a class implementing the com.dataiku.dip.connections.EC2Connection.AWSConnectionCredentialsProvider interface.
* Make sure to package up the jar with all the required runtime dependencies (but not the dataiku jars as they will already exist. no need to duplicate).
* keep the Jar simple... i.e. don't include anything like springboot etc... (it will clash with the existing jars).
* deploy the jar (with appropriate permissions) to the <dss>/lib/java folder of your installation. (This folder is already on the class path!)
* restart dss.
The AWSConnectionCredentialsProvider essentially has 2 important interfaces. setParams, where you can get the custom paramters setup in the connection. And a 'get' function where you convert your params into a "EC2Connection.SerializableAWSCredential".
You can look these up in the dataiku-dip.jar.
Just popluate this will the AWS acessKeyId, secretAccessKey sessiontoken and optionally the expiry time.