本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
密钥别名(Key Alias)是指特定密钥的简称,是密钥的可选标识。您可以在API接口调用中使用别名来代替密钥ID,方便您管理密钥。本文介绍如何创建及管理密钥的别名。
注意事项
- 别名必须拥有前缀 - alias/。除前缀以外,长度为1~255个字符,支持英文字母、数字、下划线(_)、短划线(-)以及正斜线(/)。说明- alias/acs/<云产品>(例如alias/acs/oss)是KMS为服务密钥预留的别名,自定义别名时请勿使用该格式。
- 别名在一个阿里云账号的一个地域中具有唯一性,不同地域下密钥的别名可以相同。 
- 一个别名只能关联一个密钥,但是一个密钥可以拥有多个别名。 
- 别名不支持修改,您可以通过为一个密钥创建新的别名,并且删除旧的别名来达到修改别名的目的,删除别名不会删除其关联的密钥。 警告- 删除别名前,请确保该别名已不再使用,否则可能会导致数据加密失败。 
- 当RAM用户使用别名代替密钥ID进行操作时,RAM用户必须拥有对应密钥的权限,无需拥有对应别名的权限。 
创建别名
您可以为密钥创建别名方便您管理密钥,为密钥创建新的别名时不会影响已有的别名。
前提条件
当RAM用户创建别名时,您需要创建自定义权限策略,并授予该RAM用户,使其拥有别名和关联密钥的权限。更多信息,请参见密钥管理服务自定义权限策略参考。
以用户123456为密钥08ec3bb9-034f-485b-b1cd-3459baa8****创建别名alias/example为例,RAM权限策略内容如下:
{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:CreateAlias"
      ],
      "Resource": [
        "acs:kms:cn-hangzhou:123456:key/08ec3bb9-034f-485b-b1cd-3459baa8****",
        "acs:kms:cn-hangzhou:123456:alias/example"
      ]
    }
  ]
}操作步骤
您可以根据业务需要,选择合适的创建方式创建别名。
| 创建别名的方式 | 操作步骤 | 
| 通过控制台创建别名 | 
 | 
| 通过API创建别名 | 通过调用CreateAlias接口创建别名。 | 
| 通过ALIYUN CLI创建别名 | 通过命令aliyun kms CreateAlias创建别名。  | 
更新别名
更新别名可以将已有的别名关联到其他密钥。
前提条件
当RAM用户更新别名时,您需要创建自定义权限策略,并授予该RAM用户,使其拥有原密钥、目标密钥以及别名的权限。更多信息,请参见密钥管理服务自定义权限策略参考。
以用户123456将密钥08ec3bb9-034f-485b-b1cd-3459baa8****关联的别名alias/example关联到新密钥127d2f84-ee5f-4f4d-9d41-dbc1aca2****为例,RAM权限策略内容如下:
{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:UpdateAlias"
      ],
      "Resource": [
        "acs:kms:cn-hangzhou:123456:key/08ec3bb9-034f-485b-b1cd-3459baa8****",
        "acs:kms:cn-hangzhou:123456:key/127d2f84-ee5f-4f4d-9d41-dbc1aca2****",
        "acs:kms:cn-hangzhou:123456:alias/example"
      ]
    }
  ]
}操作步骤
您可以根据业务需要,选择合适的更新方式更新别名。
| 更新别名的方式 | 操作步骤 | 
| 通过API更新别名 | 通过调用UpdateAlias接口更新别名。 | 
| 通过ALIYUN CLI更新别名 | 通过命令aliyun kms UpdateAlias更新别名。  | 
查询别名列表
您可以查询当前用户在当前地域的所有别名。
前提条件
当RAM用户查询别名列表时,您需要创建自定义权限策略,并授予该RAM用户,使其拥有别名资源类型的权限。更多信息,请参见密钥管理服务自定义权限策略参考。
以用户123456查询别名列表为例,RAM权限策略内容如下:
{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:ListAliases"
      ],
      "Resource": [
        "acs:kms:cn-hangzhou:123456:alias"
      ]
    }
  ]
}操作步骤
您可以根据业务需要,选择合适的查询方式查询别名列表。
| 查询别名列表的方式 | 操作步骤 | 
| 通过API查询别名列表 | 通过调用ListAliases接口查询别名列表。 | 
| 通过ALIYUN CLI查询别名列表 | 通过命令aliyun kms ListAliases查询别名列表。  | 
查询指定密钥关联的别名
查询结果将返回与指定密钥相关联的所有别名信息。
前提条件
当RAM用户查询指定密钥关联的别名时,您需要创建自定义权限策略,并授予该RAM用户,使其拥有指定密钥的权限。更多信息,请参见密钥管理服务自定义权限策略参考。
以用户123456查询密钥127d2f84-ee5f-4f4d-9d41-dbc1aca2****关联的所有别名为例,RAM权限策略内容如下:
{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:ListAliasesByKeyId"
      ],
      "Resource": [
        "acs:kms:cn-hangzhou:123456:key/127d2f84-ee5f-4f4d-9d41-dbc1aca2****"
      ]
    }
  ]
}操作步骤
您可以根据业务需要,选择合适的查询方式查询指定密钥关联的别名。
| 查询方式 | 操作步骤 | 
| 通过API查询指定密钥关联的别名 | 通过调用ListAliasesByKeyId接口查询指定密钥关联的别名。 | 
| 通过ALIYUN CLI查询指定密钥关联的别名 | 通过命令aliyun kms ListAliasesByKeyId查询指定密钥关联的别名。  | 
删除别名
如果您不再需要别名,可以直接删除别名,删除别名不会影响其关联的密钥。
前提条件
当RAM用户删除别名时,您需要创建自定义权限策略,并授予该RAM用户,使其拥有别名及其关联密钥的权限。更多信息,请参见密钥管理服务自定义权限策略参考。
以用户123456删除密钥127d2f84-ee5f-4f4d-9d41-dbc1aca2****关联的别名alias/example为例,RAM权限策略内容如下:
{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:DeleteAlias"
      ],
      "Resource": [
        "acs:kms:cn-hangzhou:123456:key/127d2f84-ee5f-4f4d-9d41-dbc1aca2****",
        "acs:kms:cn-hangzhou:123456:alias/example"
      ]
    }
  ]
}操作步骤
您可以根据业务需要,选择合适的删除方式删除别名。
| 删除别名的方式 | 操作步骤 | 
| 通过控制台删除别名 | 
 | 
| 通过API删除别名 | 通过调用DeleteAlias接口删除别名。 | 
| 通过ALIYUN CLI删除别名 | 通过命令aliyun kms DeleteAlias删除别名。  |