Creating a Basic AWS Credential Provider in Java
@kylewbanks on Jun 27, 2013.
Written by Hey! 👋 I recently left my job as a software engineer to become a full-time indie game developer. After four years of development you can find my first game, Farewell North, on Xbox, Nintendo Switch, and Steam!
Amazon recommends using a properties file to supply AWS credentials to your Java application, and while this is generally the most appropriate way to do it, what happens if you want to dynamically connect to different AWS accounts, or for whatever reason you need to provide the credentials in code?
The solution to this is to implement the AWSCredentials interface and override the getAWSAccessKeyId() and getAWSSecretKey() methods, like so:
public class AWSCredentialProvider implements AWSCredentials { @Override public String getAWSAccessKeyId() { return "AWS-Access-Key"; } @Override public String getAWSSecretKey() { return "AWS-Secret-Key"; } }
Because this is a Java class, you can obtain and return the keys however you like. When it comes time to create an AWS client, such as an AmazonEC2Client for example, you just pass an instance of AWSCredentialProvider:
AmazonEC2Client ec2Client = new AmazonEC2Client(new AWSCredentialProvider())
Let me know if this post was helpful on Twitter @kylewbanks or down below!