本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
通用凭据(Generic Secret)是KMS支持的基础类型凭据,您可以使用通用凭据存储账号口令、访问密钥、OAuth密钥和Token等任意的敏感数据,同时通用凭据支持多个凭据版本便于您更新凭据值,解决在代码中硬编码通用凭据带来的数据泄露风险。本文介绍如何管理及使用通用凭据。
通用凭据轮转
通用凭据不支持在KMS直接配置周期性轮转,但您可以通过函数计算配置周期性轮转。具体操作,请参见使用函数计算轮转普通凭据。如果您希望立即轮转凭据,可以通过在控制台或OpenAPI(PutSecretValue)存入新的凭据版本实现立即轮转。
每个通用凭据最多保存10个凭据版本,超出时KMS会滚动删除最早的凭据版本。
前提条件
- 已购买并启用KMS实例。具体操作,请参见购买和启用KMS实例。 
- 已在KMS实例中创建用于加密凭据的对称密钥。具体操作,请参见创建密钥。 
步骤一:创建通用凭据
创建通用凭据时,KMS会为该凭据版本内置版本状态,即ACSCurrent。
- 登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击。 
- 单击通用凭据页签,选择实例ID后,单击创建凭据,完成各项配置后单击确定。 - 配置项 - 说明 - 凭据名称 - 自定义的凭据名称。凭据名称在当前地域内唯一。 - 设置凭据值 - 根据您要托管的敏感数据类型,选择凭据键/值或纯文本。 - 长度不超过30720字节(30KB)。 - 初始版本号 - 凭据的初始版本号。默认为v1,也支持自定义版本号。 - 加密主密钥 - 选择用于加密凭据值的密钥。 重要- 密钥和凭据需要属于同一个KMS实例,且密钥必须为对称密钥。关于KMS支持哪些对称密钥,请参见密钥管理类型和密钥规格。 
- 如果是RAM用户、RAM角色,需要具备使用加密主密钥执行GenerateDataKey操作的权限。 
 - 标签 - 凭据的标签,方便您对凭据进行分类管理。每个标签由一个键值对(Key:Value)组成,包含标签键(Key)、标签值(Value)。 说明- 标签键和标签值的格式:最多支持128个字符,可以包含英文大小写字母、数字、正斜线(/)、反斜线(\)、下划线(_)、短划线(-)、半角句号(.)、加号(+)、等于号(=)、半角冒号(:)、字符at(@)、空格。 
- 标签键不能以aliyun或acs:开头。 
- 每个凭据最多可以设置20个标签键值对。 
 - 描述信息 - 凭据的描述信息。 - 凭据的策略配置。详细介绍,请参见凭据策略概述。 - 您可以先选择默认策略,创建凭据后根据业务需要再修改策略。 
步骤二:应用程序集成通用凭据
KMS提供了阿里云SDK、凭据客户端、KMS Agent、KMS实例SDK调用OpenAPI-GetSecretValue或KMS实例API-GetSecretValue(不推荐)接口获取通用凭据值,建议您按照如下优先级顺序选择合适的集成方式:
- 建议您做好错误重试机制提升业务稳定性。 
- KMS提供了多种认证方式,为了更高的安全性,推荐您优先使用ECS实例RAM角色或RAM角色。 
- 接入点说明: - 共享网关对应的接入点Endpoint:请参见接入点说明。 - 专属网关对应的接入点Endpoint: - {实例ID}.cryptoservice.kms.aliyuncs.com。
| 优先级 | 使用场景说明 | 支持的网关类型 | 
| 优先级1:凭据客户端 | 应用开发语言需要为Java(Java 8及以上版本)、Go或者Python。 | 
 | 
| 优先级2:阿里云SDK | 应用开发语言需要为Java(Java 6及以上版本)、PHP、Go、Python、.NET(仅C#)、C++、Node.js。 | 
 | 
| 优先级3:KMS Agent | 
 | 
 | 
| 优先级4:KMS实例SDK(不推荐) | 应用开发语言需要为Java(Java 8及以上版本)、PHP、Go、Python、.NET(仅C#)。 | 专属网关 | 
相关操作
轮转通用凭据
通用凭据不支持在创建时设置轮转信息,您可以通过在控制台或OpenAPI(PutSecretValue)存入新的凭据版本实现立即轮转。
- 登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击。 
- 单击通用凭据页签,选择实例ID后,定位到目标凭据,单击操作列的详情。 
- 在凭据详情页面的版本列表区域,单击存入凭据值。 
- 在存入凭据值对话框中,输入版本号、设置凭据值,然后单击确定。 重要- 成功存入新的凭据版本后,该凭据会立即轮转,即KMS的获取凭据值接口默认返回该最新版本的凭据值。 
删除通用凭据
删除前请确认该凭据已不再使用。您可以选择计划删除凭据和立即删除凭据两种方式,删除不需要的通用凭据。
删除凭据前,请确认该凭据已不再使用,否则可能导致您的业务失败。
- 登录密钥管理服务控制台,在顶部菜单栏选择地域信息后,在左侧导航栏单击凭据管理页面。 
- 单击通用凭据页签,选择实例ID后,定位到目标凭据,单击操作列的计划删除凭据。 
- 在计划删除凭据对话框中,选择凭据删除方式,并单击确定。 - 计划删除凭据:设置预删除周期(7~30天),系统将在预删除周期结束后删除凭据。 
- 立即删除凭据:系统将立即删除凭据。 
 - 在预删除周期内,您可以单击目标凭据操作列的还原凭据,取消删除操作。 
为凭据配置标签
凭据的标签,方便您对凭据进行分类管理。每个标签由一个键值对(Key:Value)组成,包含标签键(Key)、标签值(Value)。
- 标签键和标签值的格式:最多支持128个字符,可以包含英文大小写字母、数字、正斜线(/)、反斜线(\)、下划线(_)、短划线(-)、半角句号(.)、加号(+)、等于号(=)、半角冒号(:)、字符at(@)、空格。 
- 标签键不能以aliyun或acs:开头。 
- 每个凭据最多可以设置20个标签键值对。 
为单个凭据配置标签
| 方式 | 操作 | 
| 方式一:在凭据管理页面配置标签 | 
 | 
| 方式二:在凭据详情页面配置标签 | 
 | 
为多个凭据批量配置标签
- 登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击。 
- 单击相应的凭据类型页签,选择实例ID后,在凭据列表中勾选要操作的凭据。 - 增加标签:在凭据列表的最下方,单击增加标签,输入多个标签键和标签值后,单击确定,然后在变更提示对话框中单击关闭。 
- 删除标签:在凭据列表的最下方,单击删除标签,在批量解绑标签对话框勾选要解绑的标签,单击取消,然后在变更提示对话框中单击关闭。 
 
 图标。
图标。 图标。
图标。