全部产品
Search
文档中心

密钥管理服务:管理及使用通用凭据

更新时间:Mar 22, 2024

通用凭据(Generic Secret)是KMS支持的基础类型凭据,您可以使用通用凭据存储账号口令、访问密钥、OAuth密钥和Token等任意的敏感数据,同时通用凭据支持多个凭据版本便于您更新凭据值,解决在代码中硬编码通用凭据带来的数据泄露风险。本文介绍如何管理及使用通用凭据。

通用凭据轮转

通用凭据不支持在KMS直接配置周期性轮转,但您可以通过函数计算配置周期性轮转。具体操作,请参见使用函数计算轮转普通凭据。如果您希望立即轮转凭据,可以通过在控制台或OpenAPI(PutSecretValue)存入新的凭据版本实现立即轮转。

警告

每个通用凭据最多保存10个凭据版本,超出时KMS会滚动删除最早的凭据版本。

前提条件

步骤一:创建通用凭据

创建通用凭据时,KMS会为该凭据版本内置版本状态,即ACSCurrent

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

  2. 单击通用凭据页签,选择实例ID后,单击创建凭据,完成各项配置后单击确定

    配置项

    说明

    凭据名称

    自定义的凭据名称。

    设置凭据值

    根据您要托管的敏感数据类型,选择凭据键/值纯文本

    长度不超过30720字节(30KB)。

    初始版本号

    凭据的初始版本号。默认为v1,也支持自定义版本号。

    加密主密钥

    选择用于加密凭据值的密钥。

    重要

    密钥和凭据需要属于同一个KMS实例,且密钥必须为对称密钥。关于KMS支持哪些对称密钥,请参见密钥管理类型和密钥规格

    标签

    凭据的标签,方便您对凭据进行分类管理。每个标签由一个键值对(Key:Value)组成,包含标签键(Key)、标签值(Value)。

    说明
    • 标签键和标签值的格式:最多支持128个字符,可以包含英文大小写字母、数字、正斜线(/)、反斜线(\)、下划线(_)、短划线(-)、半角句号(.)、加号(+)、等于号(=)、半角冒号(:)、字符at(@)。

    • 标签键不能以aliyun或acs:开头。

    • 每个凭据最多可以设置20个标签键值对。

    描述信息

    凭据的描述信息。

    高级设置

    凭据的策略配置。

    • 默认策略:凭据由当前主账号使用,或者资源共享单元中的主账号使用,请选择默认策略。

      • 实例未共享给其他账号:仅当前主账号能管理及使用凭据。

      • 实例已共享给其他账号:以主账号1将KMS实例A共享给主账号2为例介绍。

        • 主账号1创建的凭据:仅主账号1能管理及使用凭据。

        • 主账号2创建的凭据:主账号1和主账号2,都能管理及使用凭据。

    • 自定义策略:如果凭据需要授权给RAM用户、RAM角色,或授权给其他账号使用,请选择自定义策略。

      重要
      • 选择管理员、使用者时不消耗访问管理数量配额。选择其他账号使用者时,会消耗KMS实例的访问管理数量配额,按主账号个数计算消耗的配额,如果您取消了授权,请等待约5分钟,再查看配额,配额的消耗数量会相应减少。

      • 使用凭据时,还需要授予使用对应密钥进行解密(Decrypt)的权限。

      • 管理员:对凭据进行管控类操作,不支持使用凭据(即获取凭据值)。支持选择当前账号下的RAM用户和RAM角色。

        管理员支持的权限列表

        {
        	"Statement": [
        		{
        			"Action": [
        				"kms:List*",
        				"kms:Describe*",
        				"kms:PutSecretValue",
        				"kms:Update*",
        				"kms:DeleteSecret",
        				"kms:RestoreSecret",
        				"kms:RotateSecret",
        				"kms:TagResource",    
        				"kms:UntagResource" 
        			]
        		}
        	]
        }
      • 使用者:支持使用凭据,即获取凭据值。支持选择当前账号下的RAM用户和RAM角色。

        使用者支持的权限列表

        {
            "Statement": [
                {
                    "Action": [
                        "kms:List*",
        								"kms:Describe*",
        								"kms:GetSecretValue",
                    ]
                }
            ]
        }
      • 其他账号使用者:仅支持使用凭据,即获取凭据值。可以是其他阿里云账号的RAM用户或RAM角色。

        • RAM用户:格式为acs:ram::<userId>:user/<ramuser>,例如acs:ram::119285303511****:user/testpolicyuser

        • RAM角色:格式为acs:ram::<userId>:role/<ramrole>,例如acs:ram::119285303511****:role/testpolicyrole

        说明

        授权给RAM用户、RAM角色后,您仍需在访问控制RAM侧,使用该RAM用户、RAM角色的主账号为其授权使用该凭据,RAM用户、RAM角色才能使用该凭据。

        具体操作,请参见使用RAM实现对资源的访问控制为RAM用户授权为RAM角色授权

        其他账号使用者支持的权限列表

        {
            "Statement": [
                {
                    "Action": [
                        "kms:List*",
        								"kms:Describe*",
        								"kms:GetSecretValue",
                    ]
                }
            ]
        }

步骤二:应用程序集成通用凭据

KMS提供了阿里云SDK、KMS实例SDK、凭据客户端,用于获取凭据值,应用可以通过这些SDK集成通用凭据。关于各SDK的详细介绍,请参见SDK参考

说明
  • 推荐您使用凭据客户端,凭据客户端基于KMS凭据API,封装了凭据缓存、最佳实践和设计模式,使更易于开发者在业务系统中集成。具体操作,请参见凭据客户端

  • 如果您使用SDK进行管控类操作,例如创建通用凭据、修改通用凭据标签等,仅支持使用阿里云SDK。

相关操作

轮转通用凭据

通用凭据不支持在创建时设置轮转信息,您可以通过在控制台或OpenAPI(PutSecretValue)存入新的凭据版本实现立即轮转。

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

  2. 单击通用凭据页签,选择实例ID后,定位到目标凭据,单击操作列的详情

  3. 在凭据详情页面的版本列表区域,单击存入凭据值

  4. 存入凭据值对话框中,输入版本号设置凭据值,然后单击确定

    重要

    成功存入新的凭据版本后,该凭据会立即轮转,即KMS的获取凭据值接口默认返回该最新版本的凭据值。

删除通用凭据

删除前请确认该凭据已不再使用。您可以选择计划删除凭据和立即删除凭据两种方式,删除不需要的通用凭据。

警告

删除凭据前,请确认该凭据已不再使用,否则可能导致您的业务失败。

  1. 登录密钥管理服务控制台,在顶部菜单栏选择地域信息后,在左侧导航栏单击凭据管理页面。

  2. 单击通用凭据页签,选择实例ID后,定位到目标凭据,单击操作列的计划删除凭据

  3. 计划删除凭据对话框中,选择凭据删除方式,并单击确定

    • 计划删除凭据:设置预删除周期(7~30天),系统将在预删除周期结束后删除凭据。

    • 立即删除凭据:系统将立即删除凭据。

    在预删除周期内,您可以单击目标凭据操作列的还原凭据,取消删除操作。

为凭据配置标签

凭据的标签,方便您对凭据进行分类管理。每个标签由一个键值对(Key:Value)组成,包含标签键(Key)、标签值(Value)。

说明
  • 标签键和标签值的格式:最多支持128个字符,可以包含英文大小写字母、数字、正斜线(/)、反斜线(\)、下划线(_)、短划线(-)、半角句号(.)、加号(+)、等于号(=)、半角冒号(:)、字符at(@)。

  • 标签键不能以aliyun或acs:开头。

  • 每个凭据最多可以设置20个标签键值对。

为单个凭据配置标签

方式

操作

方式一:在凭据管理页面配置标签

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

  2. 单击相应的凭据类型页签,选择实例ID后,定位到目标凭据,单击标签列的image.png图标。

  3. 单击绑定,在编辑标签对话框中输入多个标签键标签值后,单击确定,然后在变更提示对话框中单击关闭

    您也可以在编辑标签对话框中修改标签值、批量解绑标签。

方式二:在凭据详情页面配置标签

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

  2. 单击相应的凭据类型页签,选择实例ID后,定位到目标凭据,单击操作列的详情

  3. 在凭据详情页面,单击标签后的image.png图标。

  4. 编辑标签对话框中输入多个标签键标签值后,单击确定,然后在变更提示对话框中单击关闭

    您也可以在编辑标签对话框中修改标签值、批量解绑标签。

为多个凭据批量配置标签

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

  2. 单击相应的凭据类型页签,选择实例ID后,在凭据列表中勾选要操作的凭据。

    • 增加标签:在凭据列表的最下方,单击增加标签,输入多个标签键标签值后,单击确认,然后在变更提示对话框中单击关闭

    • 删除标签:在凭据列表的最下方,单击删除标签,在批量解绑标签对话框勾选要解绑的标签,单击解绑标签,然后在变更提示对话框中单击关闭

常见问题

凭据状态为不可用或调用凭据相关API时返回“Rejected.Unavailable”