使用别名 - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用别名

本主题中的示例使用 Amazon KMS API 创建、查看、更新和删除别名。有关别名的信息,请参阅 使用别名

创建别名

在 Amazon Web Services Management Console 中创建 Amazon KMS key 时,您必须创建它的别名。但是,创建 KMS 密钥的CreateKey操作不会创建别名。

要创建别名,请使用CreateAlias操作。别名在账户和 区域中必须是唯一的。您无法创建以 aws/ 开头的别名。aws/ 前缀被 Amazon Web Services 保留用于 Amazon 托管式密钥

在需要客户端对象的语言中,这些示例使用您在 创建客户端 中创建的 Amazon KMS 客户端对象。

Java

有关详细信息,请参阅 Amazon SDK for Java API 参考中的 createAlias 方法

// Create an alias for a KMS key // String aliasName = "alias/projectKey1"; // Replace the following example key ARN with a valid key ID or key ARN String targetKeyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; CreateAliasRequest req = new CreateAliasRequest().withAliasName(aliasName).withTargetKeyId(targetKeyId); kmsClient.createAlias(req);
C#

有关详细信息,请参阅 Amazon SDK for .NET 中的 CreateAlias 方法

// Create an alias for a KMS key // String aliasName = "alias/projectKey1"; // Replace the following example key ARN with a valid key ID or key ARN String targetKeyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; CreateAliasRequest createAliasRequest = new CreateAliasRequest() { AliasName = aliasName, TargetKeyId = targetKeyId }; kmsClient.CreateAlias(createAliasRequest);
Python

有关详细信息,请参阅 Amazon SDK for Python (Boto3) 中的 create_alias 方法

# Create an alias for a KMS key alias_name = 'alias/projectKey1' # Replace the following example key ARN with a valid key ID or key ARN target_key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kms_client.create_alias( AliasName=alias_name, TargetKeyId=key_id )
Ruby

有关详细信息,请参阅 Amazon SDK for Ruby 中的 create_alias 实例方法。

# Create an alias for a KMS key alias_name = 'alias/projectKey1' # Replace the following example key ARN with a valid key ID or key ARN target_key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kmsClient.create_alias({ alias_name: alias_name, target_key_id: target_key_id })
PHP

有关详细信息,请参阅 Amazon SDK for PHP 中的 CreateAlias 方法

// Create an alias for a KMS key // $aliasName = "alias/projectKey1"; // Replace the following example key ARN with a valid key ID or key ARN $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $result = $KmsClient->createAlias([ 'AliasName' => $aliasName, 'TargetKeyId' => $keyId, ]);
Node.js

有关详细信息,请参阅 Node.js Amazon软件开发工具包中的 createAlias 属性 JavaScript 。

// Create an alias for a KMS key // const AliasName = 'alias/projectKey1'; // Replace the following example key ARN with a valid key ID or key ARN const TargetKeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; kmsClient.createAlias({ AliasName, TargetKeyId }, (err, data) => { ... });
PowerShell

要创建别名,请使用 New-KMSAlias cmdlet。别名名称区分大小写。

# Create an alias for a KMS key $aliasName = 'alias/projectKey1' # Replace the following example key ARN with a valid key ID or key ARN $targetKeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' New-KMSAlias -TargetKeyId $targetKeyId -AliasName $aliasName

要使用 Amazon KMS PowerShell cmdlet,请安装 aws.Tools。 KeyManagementService模块。有关更多信息,请参阅 Amazon Tools for Windows PowerShell 用户指南

列出别名

要列出账户和区域中的别名,请使用ListAliases操作。

默认情况下,ListAliases 命令会返回账户和区域中的所有别名。这包括您创建的与您的客户托管密钥关联的别名,以及 Amazon 创建并与您的 Amazon 托管式密钥 关联的别名。该响应可能还包括没有 TargetKeyId 字段的别名。这些是 Amazon 已创建但尚未与 KMS 密钥关联的预定义别名。

在需要客户端对象的语言中,这些示例使用您在 创建客户端 中创建的 Amazon KMS 客户端对象。

Java

有关 Java 实施的详细信息,请参阅中的 Amazon SDK for Java API 参考中的 listAliases 方法

// List the aliases in this Amazon Web Services 账户 // Integer limit = 10; ListAliasesRequest req = new ListAliasesRequest().withLimit(limit); ListAliasesResult result = kmsClient.listAliases(req);
C#

有关详细信息,请参阅 Amazon SDK for .NET 中的 ListAliases 方法

// List the aliases in this Amazon Web Services 账户 // int limit = 10; ListAliasesRequest listAliasesRequest = new ListAliasesRequest() { Limit = limit }; ListAliasesResponse listAliasesResponse = kmsClient.ListAliases(listAliasesRequest);
Python

有关详细信息,请参阅 Amazon SDK for Python (Boto3) 中的 list_aliases 方法

# List the aliases in this Amazon Web Services 账户 response = kms_client.list_aliases( Limit=10 )
Ruby

有关详细信息,请参阅 Amazon SDK for Ruby 中的 list_aliases 实例方法。

# List the aliases in this Amazon Web Services 账户 response = kmsClient.list_aliases({ limit: 10 })
PHP

有关详细信息,请参阅 https://docs.amazonaws.cn/sdk-for-php/latest/reference/api-kms-2014-11-01.html#listaliases 中的 Amazon SDK for PHPList Aliases 方法

// List the aliases in this Amazon Web Services 账户 // $limit = 10; $result = $KmsClient->listAliases([ 'Limit' => $limit, ]);
Node.js

有关详细信息,请参阅 Node.js 软件开发工具包 JavaScript 中的 AmazonlistAliases 属性。

// List the aliases in this Amazon Web Services 账户 // const Limit = 10; kmsClient.listAliases({ Limit }, (err, data) => { ... });
PowerShell

要列出账户和区域中的别名,请使用 get-KMS cmdlet AliasList

为限制输出对象的数量,此示例使用 Select-Object cmdlet,而不是 Limit 参数,该参数在列表 cmdlet 中将被弃用。有关在 Amazon Tools for PowerShell 中分页输出的帮助,请参阅使用 Amazon Tools for PowerShell 的输出分页

# List the aliases in this Amazon Web Services 账户 $limit = 10 $result = Get-KMSAliasList | Select-Object -First $limit

要使用 Amazon KMS PowerShell cmdlet,请安装 aws.Tools。 KeyManagementService模块。有关更多信息,请参阅 Amazon Tools for Windows PowerShell 用户指南

要仅列出与特定 KMS 密钥关联的别名,请使用 KeyId 参数。其值可以是区域中任何 KMS 密钥的密钥 ID密钥 ARN。您不能指定别名名称或别名 ARN。

Java

有关 Java 实施的详细信息,请参阅中的 Amazon SDK for Java API 参考中的 listAliases 方法

// List the aliases for one KMS key // // Replace the following example key ARN with a valid key ID or key ARN String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; ListAliasesRequest req = new ListAliasesRequest().withKeyId(keyId); ListAliasesResult result = kmsClient.listAliases(req);
C#

有关详细信息,请参阅 Amazon SDK for .NET 中的 ListAliases 方法

// List the aliases for one KMS key // // Replace the following example key ARN with a valid key ID or key ARN String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; ListAliasesRequest listAliasesRequest = new ListAliasesRequest() { KeyId = keyId }; ListAliasesResponse listAliasesResponse = kmsClient.ListAliases(listAliasesRequest);
Python

有关详细信息,请参阅 Amazon SDK for Python (Boto3) 中的 list_aliases 方法

# List the aliases for one KMS key # Replace the following example key ARN with a valid key ID or key ARN key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kms_client.list_aliases( KeyId=key_id )
Ruby

有关详细信息,请参阅 Amazon SDK for Ruby 中的 list_aliases 实例方法。

# List the aliases for one KMS key # Replace the following example key ARN with a valid key ID or key ARN key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kmsClient.list_aliases({ key_id: key_id })
PHP

有关详细信息,请参阅 https://docs.amazonaws.cn/sdk-for-php/latest/reference/api-kms-2014-11-01.html#listaliases 中的 Amazon SDK for PHPList Aliases 方法

// List the aliases for one KMS key // // Replace the following example key ARN with a valid key ID or key ARN $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $result = $KmsClient->listAliases([ 'KeyId' => $keyId, ]);
Node.js

有关详细信息,请参阅 Node.js 软件开发工具包 JavaScript 中的 AmazonlistAliases 属性。

// List the aliases for one KMS key // // Replace the following example key ARN with a valid key ID or key ARN const KeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; kmsClient.listAliases({ KeyId }, (err, data) => { ... });
PowerShell

要列出 KMS 密钥的别名,请使用 get-KMS cmdlet AliasListKeyId参数。

# List the aliases for one KMS key # Replace the following example key ARN with a valid key ID or key ARN $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' $response = Get-KmsAliasList -KeyId $keyId

要使用 Amazon KMS PowerShell cmdlet,请安装 aws.Tools。 KeyManagementService模块。有关更多信息,请参阅 Amazon Tools for Windows PowerShell 用户指南

更新别名

要将现有别名与其他 KMS 密钥关联,请使用UpdateAlias操作。

在需要客户端对象的语言中,这些示例使用您在 创建客户端 中创建的 Amazon KMS 客户端对象。

Java

有关 Java 实施的详细信息,请参阅中的 Amazon SDK for Java API 参考中的 updateAlias 方法

// Updating an alias // String aliasName = "alias/projectKey1"; // Replace the following example key ARN with a valid key ID or key ARN String targetKeyId = "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321"; UpdateAliasRequest req = new UpdateAliasRequest() .withAliasName(aliasName) .withTargetKeyId(targetKeyId); kmsClient.updateAlias(req);
C#

有关详细信息,请参阅 Amazon SDK for .NET 中的 UpdateAlias 方法

// Updating an alias // String aliasName = "alias/projectKey1"; // Replace the following example key ARN with a valid key ID or key ARN String targetKeyId = "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321"; UpdateAliasRequest updateAliasRequest = new UpdateAliasRequest() { AliasName = aliasName, TargetKeyId = targetKeyId }; kmsClient.UpdateAlias(updateAliasRequest);
Python

有关详细信息,请参阅 Amazon SDK for Python (Boto3) 中的 update_alias 方法

# Updating an alias alias_name = 'alias/projectKey1' # Replace the following example key ARN with a valid key ID or key ARN key_id = 'arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321' response = kms_client.update_alias( AliasName=alias_name, TargetKeyID=key_id )
Ruby

有关详细信息,请参阅 Amazon SDK for Ruby 中的 update_alias 实例方法。

# Updating an alias alias_name = 'alias/projectKey1' # Replace the following example key ARN with a valid key ID or key ARN key_id = 'arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321' response = kmsClient.update_alias({ alias_name: alias_name, target_key_id: key_id })
PHP

有关详细信息,请参阅 Amazon SDK for PHP 中的 UpdateAlias 方法

// Updating an alias // $aliasName = "alias/projectKey1"; // Replace the following example key ARN with a valid key ID or key ARN $keyId = 'arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321'; $result = $KmsClient->updateAlias([ 'AliasName' => $aliasName, 'TargetKeyId' => $keyId, ]);
Node.js

有关详细信息,请参阅 Node.js 软件开发工具包 JavaScript 中的 AmazonupdateAlias 属性。

// Updating an alias // const AliasName = 'alias/projectKey1'; // Replace the following example key ARN with a valid key ID or key ARN const TargetKeyId = 'arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321'; kmsClient.updateAlias({ AliasName, TargetKeyId }, (err, data) => { ... });
PowerShell

若要更改与别名关联的 KMS 密钥,请使用 Update-KMSAlias cmdlet。别名名称区分大小写。

Update-KMSAlias cmdlet 不返回任何输出。要验证该命令是否有效,请使用 get-KMS cmdlet AliasList

# Updating an alias $aliasName = 'alias/projectKey1' # Replace the following example key ARN with a valid key ID or key ARN $keyId = 'arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321' Update-KMSAlias -AliasName $aliasName -TargetKeyID $keyId

要使用 Amazon KMS PowerShell cmdlet,请安装 aws.Tools。 KeyManagementService模块。有关更多信息,请参阅 Amazon Tools for Windows PowerShell 用户指南

删除别名

要删除别名,请使用DeleteAlias操作。删除别名不会影响关联的 KMS 密钥。

在需要客户端对象的语言中,这些示例使用您在 创建客户端 中创建的 Amazon KMS 客户端对象。

Java

有关详细信息,请参阅 Amazon SDK for Java API 参考中的 deleteAlias 方法

// Delete an alias for a KMS key // String aliasName = "alias/projectKey1"; DeleteAliasRequest req = new DeleteAliasRequest().withAliasName(aliasName); kmsClient.deleteAlias(req);
C#

有关详细信息,请参阅 Amazon SDK for .NET 中的 DeleteAlias 方法

// Delete an alias for a KMS key // String aliasName = "alias/projectKey1"; DeleteAliasRequest deleteAliasRequest = new DeleteAliasRequest() { AliasName = aliasName }; kmsClient.DeleteAlias(deleteAliasRequest);
Python

有关详细信息,请参阅 Amazon SDK for Python (Boto3) 中的 delete_alias 方法

# Delete an alias for a KMS key alias_name = 'alias/projectKey1' response = kms_client.delete_alias( AliasName=alias_name )
Ruby

有关详细信息,请参阅 Amazon SDK for Ruby 中的 delete_alias 实例方法。

# Delete an alias for a KMS key alias_name = 'alias/projectKey1' response = kmsClient.delete_alias({ alias_name: alias_name })
PHP

有关详细信息,请参阅 Amazon SDK for PHP 中的 DeleteAlias 方法

// Delete an alias for a KMS key // $aliasName = "alias/projectKey1"; $result = $KmsClient->deleteAlias([ 'AliasName' => $aliasName, ]);
Node.js

有关详细信息,请参阅 Node.js 软件开发工具包 JavaScript 中的 AmazondeleteAlias 属性)。

// Delete an alias for a KMS key // const AliasName = 'alias/projectKey1'; kmsClient.deleteAlias({ AliasName }, (err, data) => { ... });
PowerShell

要删除别名,请使用 Remove-KMSAlias cmdlet。别名名称区分大小写。

由于此 cmdlet 会永久删除别名,因此 PowerShell 会提示您确认该命令。ConfirmImpactHigh,因此您不能使用 ConfirmPreference 禁止显示此提示。如果必须禁止显示确认提示,请添加值为 $falseConfirm 公共参数,例如:-Confirm:$false

Remove-KMSAlias cmdlet 不返回任何输出。要验证该命令是否有效,请使用 get-KMS cmdlet AliasList

# Delete an alias for a KMS key $aliasName = 'alias/projectKey1' Remove-KMSAlias -AliasName $aliasName

要使用 Amazon KMS PowerShell cmdlet,请安装 aws.Tools。 KeyManagementService模块。有关更多信息,请参阅 Amazon Tools for Windows PowerShell 用户指南