Skip to content

Alias

The Alias resource lets you manage AWS KMS Aliases for your AWS Key Management Service (KMS) keys. An alias is a friendly name for a KMS key that you can use in place of the key's ID.

Minimal Example

Create a basic KMS Alias for a specific key.

ts
import AWS from "alchemy/aws/control";

const kmsAlias = await AWS.KMS.Alias("myKmsAlias", {
  TargetKeyId: "arn:aws:kms:us-west-2:123456789012:key/abcd1234-ab12-cd34-ef56-abcdef123456",
  AliasName: "alias/my-key-alias"
});

Advanced Configuration

Create a KMS Alias while adopting an existing resource to avoid failure if the alias already exists.

ts
const kmsAliasWithAdoption = await AWS.KMS.Alias("myKmsAliasAdopt", {
  TargetKeyId: "arn:aws:kms:us-west-2:123456789012:key/abcd1234-ab12-cd34-ef56-abcdef123456",
  AliasName: "alias/my-existing-key-alias",
  adopt: true
});

Updating an Existing Alias

Update the target key of an existing alias.

ts
const updatedKmsAlias = await AWS.KMS.Alias("myKmsAliasUpdate", {
  TargetKeyId: "arn:aws:kms:us-west-2:123456789012:key/efgh5678-ef56-ab12-cd34-abcdef123456",
  AliasName: "alias/my-key-alias"
});

Listing All Aliases

While this example does not create a resource, it demonstrates how you can list all KMS aliases in your AWS account.

ts
const listAliases = await AWS.KMS.Alias("listKmsAliases", {
  TargetKeyId: "arn:aws:kms:us-west-2:123456789012:key/abcd1234-ab12-cd34-ef56-abcdef123456", // This is just to maintain the structure
  AliasName: "alias/my-key-alias" // This is just to maintain the structure
});

// Note: You would replace this with actual logic to fetch and handle the list of aliases
console.log("KMS Aliases:", listAliases);