Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions,
see Getting Started with Amazon Web Services in China
(PDF).
Use UpdateAlias
with an Amazon SDK or CLI
The following code examples show how to use UpdateAlias
.
- CLI
-
- Amazon CLI
-
To associate an alias with a different KMS key
The following update-alias
example associates the alias alias/test-key
with a different KMS key.
The --alias-name
parameter specifies the alias. The alias name value must begin with alias/
.The --target-key-id
parameter specifies the KMS key to associate with the alias. You don't need to specify the current KMS key for the alias.
aws kms update-alias \
--alias-name alias/test-key \
--target-key-id 1234abcd-12ab-34cd-56ef-1234567890ab
This command produces no output. To find the alias, use the list-aliases
command.
For more information, see Updating aliases in the Amazon Key Management Service Developer Guide.
- Python
-
- SDK for Python (Boto3)
-
class AliasManager:
def __init__(self, kms_client):
self.kms_client = kms_client
self.created_key = None
def update_alias(self, alias, current_key_id):
"""
Updates an alias by assigning it to another key.
:param alias: The alias to reassign.
:param current_key_id: The ARN or ID of the key currently associated with the alias.
"""
new_key_id = input(
f"Alias {alias} is currently associated with {current_key_id}. "
f"Enter another key ID or ARN that you want to associate with {alias}: "
)
if new_key_id != "":
try:
self.kms_client.update_alias(AliasName=alias, TargetKeyId=new_key_id)
except ClientError as err:
logger.error(
"Couldn't associate alias %s with key %s. Here's why: %s",
alias,
new_key_id,
err.response["Error"]["Message"],
)
else:
print(f"Alias {alias} is now associated with key {new_key_id}.")
else:
print("Skipping alias update.")
For a complete list of Amazon SDK developer guides and code examples, see
Using Amazon KMS with an Amazon SDK.
This topic also includes information about getting started and details about previous SDK versions.