Coding Example for aws-sigv4-auth-cassandra-java-driver-plugin, a SigV4 authentication plugin for use with DataStax java driver and Apache Cassandra.
This repo contains example code for using the AWS SigV4 Auth Plugin for Cassandra. These are based on the documentation
for the plugin at https://docs.aws.amazon.com/mcs/latest/devguide/identity-and-access-mgmt.html#IAM.Samples.Roles.
In order to build the example code, you will need Maven version 3.6.3 or higher, which you can obtain from
https://maven.apache.org/. Once you have Maven installed, you can build a shaded (all dependencies included) JAR with
the command:
mvn package
Once this is complete, you should have an target/aws-sigv4-auth-cassandra-java-driver-examples-1.0.3.jar
file.
The OrdersFetcher is a standalone class for retrieving orders from the acme.orders table, as part of the example in the
documentation at https://docs.aws.amazon.com/mcs/latest/devguide/identity-and-access-mgmt.html#IAM.Samples.Roles.
You can copy the shaded JAR, along with the cassandra_truststore.jks
file, to an EC2 instance that has an associated IAM role for MCS
access. You can execute the JAR with the command:
java -Djavax.net.ssl.trustStore=./cassandra_truststore.jks \
-Djavax.net.ssl.trustStorePassword=amazon \
-jar aws-sigv4-auth-cassandra-java-driver-examples-1.0.3.jar \
<region> <endpoint> <customer ID>
For example, to lookup orders for our pretend customer “1234” in us-east-2:
java -Djavax.net.ssl.trustStore=./cassandra_truststore.jks \
-Djavax.net.ssl.trustStorePassword=amazon \
-jar aws-sigv4-auth-cassandra-java-driver-examples-1.0.3.jar \
us-east-2 cassandra.us-east-2.amazonaws.com 1234
The documentation for the AWS SigV4 Auth Plugin for Cassandra can be found at
https://docs.aws.amazon.com/mcs/latest/devguide/programmatic.credentials.html#programmatic.credentials.SigV4_MCS.