Creating and Managing Keys Using AWS KMS

This tutorial provides a step-by-step guide to help you get started with AWS KMS, ensuring your data is securely encrypted and easily manageable.

July 9, 20243 min read

Amazon Web Services (AWS) Key Management Service (KMS) is a managed service that makes it easy to create and control the encryption keys used to encrypt your data. AWS KMS is integrated with other AWS services, making it simple to encrypt data you store in these services. This tutorial will guide you through the process of creating and managing keys using AWS KMS.

Prerequisites

  • An AWS account
  • AWS CLI installed and configured on your local machine
  • Basic understanding of AWS services and IAM roles

Step 1: Creating a KMS Key

  • Sign in to the AWS Management Console
    • Open the AWS Management Console and log in to your account.
  • Navigate to KMS
    • In the AWS Management Console, type "KMS" in the search bar and select "Key Management Service."
Image
  • Create a Key
    • Click on "Create key."
Image
  • Select "Symmetric" or "Asymmetric" based on your needs. For this tutorial, we'll use a symmetric key.
Image
  • Click "Next."
  • Configure Key
    • Alias: Enter an alias for the key (e.g., my-key-alias).
    • Description: Optionally, add a description for the key.
Image
  • Click "Next."
  • Define Key Administrative Permissions
    • Select the IAM roles or users who can administer the key (e.g., create, delete, or manage policies).
    • Click "Next."
Image
  • Define Key Usage Permissions
    • Select the IAM roles or users who can use the key to encrypt and decrypt data.
    • Click "Next."
Image
  • Review and Create Key
    • Review the key policy and settings.
    • Click "Finish" to create the key.
ImageImage

Try Kodaschool for free

Click below to sign up and get access to free web, android and iOs challenges.

Sign Up

Step 2: Managing KMS Keys

  1. Viewing Keys
    • In the KMS console, you can view all your keys under "Customer managed keys."
    • Click on a key alias to view its details, such as key policy, usage permissions, and key metadata.
Image
  1. Editing Key Alias and Description
    • Select the key you want to edit.
    • Click "Edit" to change the alias or description.
Image
  1. Enabling and Disabling Keys
    • You can enable or disable keys to control their usage.
    • Select the key and click "Key actions" > "Enable" or "Disable."
Image
  1. Rotating Keys
    • Key rotation can be enabled to automatically generate new cryptographic material for a key at regular intervals.
    • Select the key and click on the "Key rotation" tab.
    • Click the "Edit" button and choose "Enable" to set the rotation interval in days.
    • You can also make an immediate rotation with the "On-demand key rotation" option.
Image
  1. Deleting Keys
    • Keys can be scheduled for deletion to prevent immediate removal and allow for recovery within a specified period.
    • Select the key and click "Key actions" > "Schedule key deletion."
    • Choose a waiting period (7 to 30 days) before the key is permanently deleted.
Image

Conclusion

AWS KMS provides a secure and straightforward way to manage encryption keys. By following this tutorial, you should now be able to create, manage, and use KMS keys to secure your data in AWS. Regularly review your key policies and usage to ensure they meet your security and compliance requirements

Myles Mburu

About Myles Mburu

Software Developer | AWS Solutions Architect