使用别名
本主题中的示例使用 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#
-
有关详细信息,请参阅 https://docs.amazonaws.cn/sdkfornet/v3/apidocs/items/KeyManagementService/MKeyManagementServiceCreateAliasCreateAliasRequest.html 中的 Amazon SDK for .NETCreateAlias 方法。
// 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
-
有关详细信息,请参阅 https://docs.amazonaws.cn/sdk-for-php/latest/reference/api-kms-2014-11-01.html#createalias 中的 Amazon SDK for PHPCreateAlias 方法。
// 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 中的 JavaScript 的 Amazon 开发工具包中的 createAlias 属性。
// 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 cmdlets,请安装 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#
-
有关详细信息,请参阅 https://docs.amazonaws.cn/sdkfornet/v3/apidocs/items/KeyManagementService/MKeyManagementServiceListAliasesListAliasesRequest.html 中的 Amazon SDK for .NETListAliases 方法。
// 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 的 Amazon 开发工具包中的 listAliases 属性。
// List the aliases in this Amazon Web Services 账户 // const Limit = 10; kmsClient.listAliases({ Limit }, (err, data) => { ... });
- PowerShell
要列出账户和区域中的别名,请使用 Get-KMSAliasList cmdlet。
为限制输出对象的数量,此示例使用 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 cmdlets,请安装 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#
-
有关详细信息,请参阅 https://docs.amazonaws.cn/sdkfornet/v3/apidocs/items/KeyManagementService/MKeyManagementServiceListAliasesListAliasesRequest.html 中的 Amazon SDK for .NETListAliases 方法。
// 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 的 Amazon 开发工具包中的 listAliases 属性。
// 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-KMSAliasList cmdlet 的
KeyId
参数。# 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 cmdlets,请安装 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#
-
有关详细信息,请参阅 https://docs.amazonaws.cn/sdkfornet/v3/apidocs/items/KeyManagementService/MKeyManagementServiceUpdateAliasUpdateAliasRequest.html 中的 Amazon SDK for .NETUpdateAlias 方法。
// 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
-
有关详细信息,请参阅 https://docs.amazonaws.cn/sdk-for-php/latest/reference/api-kms-2014-11-01.html#updatealias 中的 Amazon SDK for PHPUpdateAlias 方法。
// 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 的 Amazon 开发工具包中的 updateAlias 属性。
// 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-KMSAliasList cmdlet。# 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 cmdlets,请安装 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#
-
有关详细信息,请参阅 https://docs.amazonaws.cn/sdkfornet/v3/apidocs/items/KeyManagementService/MKeyManagementServiceDeleteAliasDeleteAliasRequest.html 中的 Amazon SDK for .NETDeleteAlias 方法。
// 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
-
有关详细信息,请参阅 https://docs.amazonaws.cn/sdk-for-php/latest/reference/api-kms-2014-11-01.html#deletealias 中的 Amazon SDK for PHPDeleteAlias 方法。
// Delete an alias for a KMS key // $aliasName = "alias/projectKey1"; $result = $KmsClient->deleteAlias([ 'AliasName' => $aliasName, ]);
- Node.js
有关详细信息,请参阅适用于 Node.js 中的 JavaScript 的 Amazon 开发工具包中的 deleteAlias 属性。
// Delete an alias for a KMS key // const AliasName = 'alias/projectKey1'; kmsClient.deleteAlias({ AliasName }, (err, data) => { ... });
- PowerShell
要删除别名,请使用 Remove-KMSAlias cmdlet。别名名称区分大小写。
由于此 cmdlet 永久删除别名,因此 PowerShell 会提示您确认该命令。
ConfirmImpact
是High
,因此您不能使用ConfirmPreference
禁止显示此提示。如果必须禁止显示确认提示,请添加值为$false
的Confirm
公共参数,例如:-Confirm:$false
。Remove-KMSAlias
cmdlet 不返回任何输出。要验证该命令是否有效,请使用 Get-KMSAliasList cmdlet。# Delete an alias for a KMS key $aliasName = 'alias/projectKey1' Remove-KMSAlias -AliasName $aliasName
要使用 Amazon KMS PowerShell cmdlets,请安装 AWS.Tools.KeyManagementService
模块。有关更多信息,请参阅 Amazon Tools for Windows PowerShell 用户指南。