shane310/encrypt_kms

There is no license information available for the latest version (dev-8.x-1.x) of this package.

Provides an AWS KMS encryption method for Encrypt though the AWS SDK.

Installs: 7 014

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 2

Type:drupal-module

dev-8.x-1.x 2021-07-19 03:16 UTC

This package is auto-updated.

Last update: 2025-07-19 12:01:31 UTC


README

Branch Build Status
8.x-1.x CircleCI

This Drupal module adds a new encryption method for the Encrypt framework - it allows you to encrypt data using AWS KMS.

Get Started

This guide assumes you have an AWS account and working knowledge of KMS, and the following resources provisioned in AWS.

  • A KMS key
  • An IAM user with privileges to encrypt and decrypt using aforementioned key

Ensure this module and its dependencies are available in your codebase.

Enable the Encrypt KMS module.

Ensure your user account has the administer encrypt permission.

Add a new Key - select the KMS Key type and enter the ARN of the KMS key. This is just an identifier, and is completely fine to store in the "Configuration" storage provider.

Add a new Encryption Profile - choose the Amazon KMS encryption method and the key you just created.

Go to the Encrypt KMS configuration form and add your AWS IAM user credentials.

PROTIP: Use the Key module's configuration override capability to securely store the AWS credentials.

Great, you are now set up and can use KMS to encrypt fields, webform submissions and lots more.

AWS Credentials

There are alternatives to configuring the AWS credentials in the admin form.

settings.php

$config['encrypt_kms.settings']['aws_key'] = 'foo';
$config['encrypt_kms.settings']['aws_secret'] = 'bar';

If you do not explicitly set AWS key and secret in config, it will fall back to:

  • IAM Instance Profile
  • Exported credentials in environment variables
  • The default profile in a ~/.aws/credentials file

See the AWS SDK Guide on Credentials.

Contribute

Development of this module takes place on GitHub.