Class AwsKeyManagementClient

java.lang.Object
org.apache.iceberg.aws.AwsKeyManagementClient
All Implemented Interfaces:
Closeable, Serializable, AutoCloseable, org.apache.iceberg.encryption.KeyManagementClient

public class AwsKeyManagementClient extends Object implements org.apache.iceberg.encryption.KeyManagementClient
Key management client implementation that uses AWS Key Management Service. To be used for encrypting/decrypting keys with a KMS-managed master key, (by referencing its key ID), and for the generation of new encryption keys.
See Also:
  • Constructor Details

    • AwsKeyManagementClient

      public AwsKeyManagementClient()
  • Method Details

    • initialize

      public void initialize(Map<String,String> properties)
      Specified by:
      initialize in interface org.apache.iceberg.encryption.KeyManagementClient
    • wrapKey

      public ByteBuffer wrapKey(ByteBuffer key, String wrappingKeyId)
      Specified by:
      wrapKey in interface org.apache.iceberg.encryption.KeyManagementClient
    • supportsKeyGeneration

      public boolean supportsKeyGeneration()
      Specified by:
      supportsKeyGeneration in interface org.apache.iceberg.encryption.KeyManagementClient
    • generateKey

      public org.apache.iceberg.encryption.KeyManagementClient.KeyGenerationResult generateKey(String wrappingKeyId)
      Specified by:
      generateKey in interface org.apache.iceberg.encryption.KeyManagementClient
    • unwrapKey

      public ByteBuffer unwrapKey(ByteBuffer wrappedKey, String wrappingKeyId)
      Specified by:
      unwrapKey in interface org.apache.iceberg.encryption.KeyManagementClient
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface org.apache.iceberg.encryption.KeyManagementClient