ExAws.KMS (ex_aws_kms v2.5.0)

View Source

Operations on AWS KMS

Summary

Functions

Cancel a key deletion

Creates a customer master key (CMK)

Decrypts ciphertext

Delete a alias

Delete a imported key material

Disable a key rotation

Enable a key

Encrypt a data by a key

Generate a data key pair without plaintext

Generate a data key without plaintext

Generates an unpredictable byte string

Retrieves a policy attached to the specified key

Indicates whether key rotation is enabled for the specified key

Returns the public key of an asymmetric CMK

Imports key material into an AWS KMS customer master key (CMK)

Lists all of the key aliases

List the grants for a specified key

Retrieves a list of policies attached to a key

Retrieves a list of all completed key material rotations for a key

Lists the customer master keys

A list of all grants for which the grant's RetiringPrincipal matches the one specified

Attaches a key policy to the specified customer master key (CMK)

Encrypts data with a new CMK without exposing the plaintext of the data

Retires a grant

Rotates key material opf a key

Create a signature for a message or digest

Updates an alias to map it to a different key

Updates the description of a key

Verify a signature generated by the sign operation

Types

describe_key_opts()

@type describe_key_opts() :: [{:grant_tokens, [binary()]}]

disable_key_opts()

@type disable_key_opts() :: [{:grant_tokens, [binary()]}]

encrypt_opts()

@type encrypt_opts() :: [encryption_context: map(), grant_tokens: [binary()]]

generate_data_key_opts()

@type generate_data_key_opts() :: [
  encryption_context: map(),
  grant_tokens: [binary()],
  key_spec: binary(),
  number_of_bytes: pos_integer()
]

generate_data_key_pair_opts()

@type generate_data_key_pair_opts() :: [
  encryption_context: map(),
  grant_tokens: [binary()],
  key_pair_spec: binary()
]

generate_data_key_pair_without_plaintext_opts()

@type generate_data_key_pair_without_plaintext_opts() :: [
  encryption_context: map(),
  grant_tokens: [binary()],
  key_pair_spec: binary()
]

generate_data_key_without_plaintext_opts()

@type generate_data_key_without_plaintext_opts() :: [
  encryption_context: map(),
  grant_tokens: [binary()],
  key_spec: binary(),
  number_of_bytes: pos_integer()
]

get_public_key_opts()

@type get_public_key_opts() :: [{:grant_tokens, [binary()]}]

import_key_material_opts()

@type import_key_material_opts() :: [expiration_model: binary(), valid_to: binary()]

list_aliases_opts()

@type list_aliases_opts() :: [limit: integer(), marker: binary()]

list_grants_opts()

@type list_grants_opts() :: [limit: integer(), marker: binary()]

list_key_policies_opts()

@type list_key_policies_opts() :: [limit: integer(), marker: binary()]

list_key_rotations_opts()

@type list_key_rotations_opts() :: [limit: integer(), marker: binary()]

list_keys_opts()

@type list_keys_opts() :: [limit: integer(), marker: binary()]

list_retirable_grants_opts()

@type list_retirable_grants_opts() :: [limit: integer(), marker: binary()]

re_encrypt_opts()

@type re_encrypt_opts() :: [
  destination_encryption_context: map(),
  grant_tokens: [binary()],
  source_encryption_context: map()
]

retire_grant_opts()

@type retire_grant_opts() :: [
  grant_id: binary(),
  grant_token: binary(),
  key_id: binary()
]

sign_opts()

@type sign_opts() :: [grant_tokens: [binary()], message_type: binary()]

verify_opts()

@type verify_opts() :: [grant_tokens: [binary()], message_type: binary()]

Functions

cancel_key_deletion(key_id)

@spec cancel_key_deletion(key_id :: binary()) :: ExAws.Operation.JSON.t()

Cancel a key deletion

create_alias(alias_name, target_key_id)

@spec create_alias(alias_name :: binary(), target_key_id :: binary()) ::
  ExAws.Operation.JSON.t()

Create a alias

create_grant(grantee_principal, key_id, opts \\ [])

@spec create_grant(
  grantee_principal :: binary(),
  key_id :: binary(),
  opts :: Keyword.t()
) ::
  ExAws.Operation.JSON.t()

Adds a grant to a key

create_key(opts \\ [])

@spec create_key(opts :: Keyword.t()) :: ExAws.Operation.JSON.t()

Creates a customer master key (CMK)

decrypt(ciphertext, opts \\ [])

@spec decrypt(ciphertext :: binary(), opts :: Keyword.t()) :: ExAws.Operation.JSON.t()

Decrypts ciphertext

delete_alias(alias_name)

@spec delete_alias(alias_name :: binary()) :: ExAws.Operation.JSON.t()

Delete a alias

delete_imported_key_material(key_id)

@spec delete_imported_key_material(key_id :: binary()) :: ExAws.Operation.JSON.t()

Delete a imported key material

describe_key(key_id, opts \\ [])

@spec describe_key(key_id :: binary(), opts :: describe_key_opts()) ::
  ExAws.Operation.JSON.t()

Describe a key

disable_key(key_id, opts \\ [])

@spec disable_key(key_id :: binary(), opts :: disable_key_opts()) ::
  ExAws.Operation.JSON.t()

Disable a key

disable_key_rotation(key_id)

@spec disable_key_rotation(key_id :: binary()) :: ExAws.Operation.JSON.t()

Disable a key rotation

enable_key(key_id)

@spec enable_key(key_id :: binary()) :: ExAws.Operation.JSON.t()

Enable a key

enable_key_rotation(key_id, rotation_period_in_days \\ 365)

@spec enable_key_rotation(key_id :: binary(), rotation_period_in_days :: integer()) ::
  ExAws.Operation.JSON.t()

Enable a key rotation

encrypt(key_id, plaintext, opts \\ [])

@spec encrypt(key_id :: binary(), plaintext :: binary(), opts :: encrypt_opts()) ::
  ExAws.Operation.JSON.t()

Encrypt a data by a key

generate_data_key(key_id, opts \\ [])

@spec generate_data_key(key_id :: binary(), opts :: generate_data_key_opts()) ::
  ExAws.Operation.JSON.t()

Generate a data key

generate_data_key_pair(key_id, opts \\ [])

@spec generate_data_key_pair(
  key_id :: binary(),
  opts :: generate_data_key_pair_opts()
) :: ExAws.Operation.JSON.t()

Generate a data key pair

generate_data_key_pair_without_plaintext(key_id, opts \\ [])

@spec generate_data_key_pair_without_plaintext(
  key_id :: binary(),
  opts :: generate_data_key_pair_without_plaintext_opts()
) :: ExAws.Operation.JSON.t()

Generate a data key pair without plaintext

generate_data_key_without_plaintext(key_id, opts \\ [])

@spec generate_data_key_without_plaintext(
  key_id :: binary(),
  opts :: generate_data_key_without_plaintext_opts()
) :: ExAws.Operation.JSON.t()

Generate a data key without plaintext

generate_random(number_of_bytes)

@spec generate_random(number_of_bytes :: pos_integer()) :: ExAws.Operation.JSON.t()

Generates an unpredictable byte string

get_key_policy(key_id, policy_name)

@spec get_key_policy(key_id :: binary(), policy_name :: binary()) ::
  ExAws.Operation.JSON.t()

Retrieves a policy attached to the specified key

get_key_rotation_status(key_id)

@spec get_key_rotation_status(key_id :: binary()) :: ExAws.Operation.JSON.t()

Indicates whether key rotation is enabled for the specified key

get_parameters_for_import(key_id, wrapping_algorithm \\ "RSAES_PKCS1_V1_5", wrapping_key_spec \\ "RSA_2048")

@spec get_parameters_for_import(
  key_id :: binary(),
  wrapping_algorithm :: binary(),
  wrapping_key_spec :: binary()
) :: ExAws.Operation.JSON.t()

Import key matrial

get_public_key(key_id, opts \\ [])

@spec get_public_key(key_id :: binary(), opts :: get_public_key_opts()) ::
  ExAws.Operation.JSON.t()

Returns the public key of an asymmetric CMK

import_key_material(encrypted_key_material, import_token, key_id, opts \\ [])

@spec import_key_material(
  encrypted_key_material :: binary(),
  import_token :: binary(),
  key_id :: binary(),
  opts :: import_key_material_opts()
) :: ExAws.Operation.JSON.t()

Imports key material into an AWS KMS customer master key (CMK)

list_aliases(opts \\ [])

@spec list_aliases(opts :: list_aliases_opts()) :: ExAws.Operation.JSON.t()

Lists all of the key aliases

list_grants(key_id, opts \\ [])

@spec list_grants(key_id :: binary(), opts :: list_grants_opts()) ::
  ExAws.Operation.JSON.t()

List the grants for a specified key

list_key_policies(key_id, opts \\ [])

@spec list_key_policies(key_id :: binary(), opts :: list_key_policies_opts()) ::
  ExAws.Operation.JSON.t()

Retrieves a list of policies attached to a key

list_key_rotations(key_id, opts \\ [])

@spec list_key_rotations(key_id :: binary(), opts :: list_key_rotations_opts()) ::
  ExAws.Operation.JSON.t()

Retrieves a list of all completed key material rotations for a key

list_keys(opts \\ [])

@spec list_keys(opts :: list_keys_opts()) :: ExAws.Operation.JSON.t()

Lists the customer master keys

list_retirable_grants(retiring_principal, opts \\ [])

@spec list_retirable_grants(
  retiring_principal :: binary(),
  opts :: list_retirable_grants_opts()
) ::
  ExAws.Operation.JSON.t()

A list of all grants for which the grant's RetiringPrincipal matches the one specified

put_key_policy(key_id, policy, policy_name, bypass_policy_lockout_safety_check \\ false)

@spec put_key_policy(
  key_id :: binary(),
  policy :: binary(),
  policy_name :: binary(),
  bypass_policy_lockout_safety_check :: boolean()
) :: ExAws.Operation.JSON.t()

Attaches a key policy to the specified customer master key (CMK)

re_encrypt(ciphertext, destination_key_id, opts \\ [])

@spec re_encrypt(
  ciphertext :: binary(),
  describe_key :: binary(),
  opts :: re_encrypt_opts()
) ::
  ExAws.Operation.JSON.t()

Encrypts data with a new CMK without exposing the plaintext of the data

retire_grant(opts)

@spec retire_grant(opts :: retire_grant_opts()) :: ExAws.Operation.JSON.t()
@spec retire_grant(grant_token :: binary()) :: ExAws.Operation.JSON.t()

Retires a grant

retire_grant(grant_id, key_id)

@spec retire_grant(grant_id :: binary(), key_id :: binary()) ::
  ExAws.Operation.JSON.t()

Retires a grant

revoke_grant(grant_id, key_id)

@spec revoke_grant(grant_id :: binary(), key_id :: binary()) ::
  ExAws.Operation.JSON.t()

Revokes a grant

rotate_key_on_demand(key_id)

@spec rotate_key_on_demand(key_id :: binary()) :: ExAws.Operation.JSON.t()

Rotates key material opf a key

schedule_key_deletion(key_id, pending_windows_in_days \\ 30)

@spec schedule_key_deletion(key_id :: binary(), pending_windows_in_days :: integer()) ::
  ExAws.Operation.JSON.t()

Schedules the deletion of CMK

sign(message, key_id, signing_algorithm, opts \\ [])

@spec sign(
  message :: binary(),
  key_id :: binary(),
  signing_algorithm :: binary(),
  opts :: sign_opts()
) :: ExAws.Operation.JSON.t()

Create a signature for a message or digest

update_alias(alias_name, target_key_id)

@spec update_alias(alias_name :: binary(), target_key_id :: binary()) ::
  ExAws.Operation.JSON.t()

Updates an alias to map it to a different key

update_key_description(description, key_id)

@spec update_key_description(description :: binary(), key_id :: binary()) ::
  ExAws.Operation.JSON.t()

Updates the description of a key

verify(message, signature, key_id, signing_algorithm, opts \\ [])

@spec verify(
  message :: binary(),
  signature :: binary(),
  key_id :: binary(),
  signing_algorithm :: binary(),
  opts :: verify_opts()
) :: ExAws.Operation.JSON.t()

Verify a signature generated by the sign operation