AWS KMS API

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

Dependencies

SKD 2

TODO: Gradle dependencies for ASW SDK for Java 2 look differently: https://kb.novaordis.com/index.php/AWS_SDK_for_Java_Version_2#Gradle_Project

dependencies {
    // SDK 2
    implementation 'software.amazon.awssdk:kms:2.1.1'
}
http://repo1.maven.org/maven2/software/amazon/awssdk/kms/

SDK 1

TODO: Gradle dependencies for ASW SDK for Java 1 look differently: https://kb.novaordis.com/index.php/AWS_SDK_for_Java_Version_1#Gradle_Project

dependencies {
    // SDK 1
    implementation 'com.amazonaws:aws-java-sdk-kms:1.11.458'
}
http://repo1.maven.org/maven2/com/amazonaws/aws-java-sdk-kms/

Playground Example

KMS Example in Playground

Setting Explicit Credentials

import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.services.kms.AWSKMS;
import com.amazonaws.services.kms.AWSKMSClientBuilder;
import com.amazonaws.services.kms.model.DescribeKeyRequest;
import com.amazonaws.services.kms.model.DescribeKeyResult;

String masterKeyArn = "...";
        
AWSKMS kmsClient = AWSKMSClientBuilder.defaultClient();

DescribeKeyRequest req = 
        new DescribeKeyRequest().
                withKeyId(masterKeyArn).
                withRequestCredentialsProvider(new AWSCredentialsProvider() {
                     @Override
                     public AWSCredentials getCredentials() {
                                
                         return new AWSCredentials() {
                                    
                             @Override
                             public String getAWSAccessKeyId() {
                                 return "my-access-key-id";
                             }

                             @Override
                             public String getAWSSecretKey() {
                                 return "my-secret-key-id";
                             }
                         };
                     }
                     @Override
                     public void refresh() {
                     }
                 });

DescribeKeyResult res = kmsClient.describeKey(req);

Also see:

Setting AWS Credentials