管理密钥别名

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

密钥别名(Key Alias)是指特定密钥的简称,是密钥的可选标识。您可以在API接口调用中使用别名来代替密钥ID,方便您管理密钥。本文介绍如何创建及管理密钥的别名。

注意事项

  • 别名必须拥有前缀alias/。除前缀以外,长度为1~255个字符,支持英文字母、数字、下划线(_)、短划线(-)以及正斜线(/)。

    说明

    alias/acs/<云产品>(例如alias/acs/oss)是KMS为服务密钥预留的别名,自定义别名时请勿使用该格式。

  • 别名在一个阿里云账号的一个地域中具有唯一性,不同地域下密钥的别名可以相同。

  • 一个别名只能关联一个密钥,但是一个密钥可以拥有多个别名。

  • 别名不支持修改,您可以通过为一个密钥创建新的别名,并且删除旧的别名来达到修改别名的目的,删除别名不会删除其关联的密钥。

    警告

    删除别名前,请确保该别名已不再使用,否则可能会导致数据加密失败。

  • 当RAM用户使用别名代替密钥ID进行操作时,RAM用户必须拥有对应密钥的权限,无需拥有对应别名的权限。

创建别名

您可以为密钥创建别名方便您管理密钥,为密钥创建新的别名时不会影响已有的别名。

前提条件

当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"
      ]
    }
  ]
}

操作步骤

您可以根据业务需要,选择合适的创建方式创建别名。

创建别名的方式

操作步骤

通过控制台创建别名

  1. 登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击资源 > 密钥管理

  2. 用户主密钥页签或默认密钥页签,定位到目标密钥,单击操作列的详情

  3. 在密钥详情页面的别名区域,单击创建别名

    说明

    别名必须拥有前缀alias/。除前缀以外,长度为1~255个字符,支持英文字母、数字、下划线(_)、短划线(-)以及正斜线(/)。

通过API创建别名

通过调用CreateAlias接口创建别名。

通过ALIYUN CLI创建别名

通过命令aliyun kms CreateAlias创建别名。

aliyun kms CreateAlias --KeyId 08ec3bb9-034f-485b-b1cd-3459baa8**** --AliasName alias/example

更新别名

更新别名可以将已有的别名关联到其他密钥。

前提条件

当RAM用户更新别名时,您需要创建自定义权限策略,并授予该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更新别名。

aliyun kms UpdateAlias --AliasName alias/example --KeyId 127d2f84-ee5f-4f4d-9d41-dbc1aca2****

查询别名列表

您可以查询当前用户在当前地域的所有别名。

前提条件

当RAM用户查询别名列表时,您需要创建自定义权限策略,并授予该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查询别名列表。

aliyun kms ListAliases

查询指定密钥关联的别名

查询结果将返回与指定密钥相关联的所有别名信息。

前提条件

当RAM用户查询指定密钥关联的别名时,您需要创建自定义权限策略,并授予该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查询指定密钥关联的别名。

aliyun kms ListAliasesByKeyId --KeyId 127d2f84-ee5f-4f4d-9d41-dbc1aca2****

删除别名

如果您不再需要别名,可以直接删除别名,删除别名不会影响其关联的密钥。

前提条件

当RAM用户删除别名时,您需要创建自定义权限策略,并授予该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"
      ]
    }
  ]
}

操作步骤

您可以根据业务需要,选择合适的删除方式删除别名。

删除别名的方式

操作步骤

通过控制台删除别名

  1. 登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击资源 > 密钥管理

  2. 用户主密钥页签或默认密钥页签,定位到目标密钥,单击操作列的详情

  3. 在密钥详情页面的别名区域,定位到目标别名,单击操作列的删除别名

通过API删除别名

通过调用DeleteAlias接口删除别名。

通过ALIYUN CLI删除别名

通过命令aliyun kms DeleteAlias删除别名。

aliyun kms DeleteAlias --AliasName alias/example