RAM凭据是指RAM用户的访问密钥(AccessKey),包括AccessKey ID和AccessKey Secret,用于RAM用户在调用阿里云API时完成身份验证,避免硬编码AccessKey导致泄露。本文介绍如何管理及使用RAM凭据。
功能介绍
在KMS托管RAM凭据后,您无需在应用程序中配置AccessKey,只需配置凭据名称,通过凭据名称获取有效的AccessKey用于调用阿里云API。同时RAM凭据也支持轮转,以降低AccessKey泄露的风险。

使用限制
只支持托管RAM用户(子账号)的AccessKey,不支持托管阿里云账号(主账号)的AccessKey。
RAM凭据轮转
轮转时访问控制RAM会先创建一个新的AccessKey,然后删除旧的AccessKey。同时KMS将新的AccessKey写入凭据值,并删除旧的AccessKey对应的凭据值。轮转支持如下两种方式:
轮转方式 | 轮转时长 | 使用场景 |
周期性自动轮转 | 约2天 | 使用该AccessKey的应用,均已将RAM凭据集成到了应用中,且应用会周期性地读取RAM凭据。 建议您设置自动轮转周期时,不超过3个月,以降低AccessKey被泄露的风险。 |
立即轮转 | 由您设置,可设置为10分钟~2天。 RAM凭据泄露时,建议您设置为30分钟,其他场景建议您设置为2天。 |
|
RAM凭据处于轮转状态时,请勿删除凭据关联的RAM用户,避免凭据轮转失败。
RAM凭据处于轮转状态时,不支持设置周期性轮转策略以及进行立即轮转。
前提条件
已购买和启用 KMS 实例。具体操作,请参见购买和启用 KMS 实例。
已在KMS实例中创建用于加密凭据的对称密钥。具体操作,请参见创建密钥。
如果您使用RAM用户(子账号)或RAM角色管理RAM凭据,请确保阿里云账号(主账号)已将系统策略
AliyunKMSSecretAdminAccess和AliyunRAMReadOnlyAccess授予RAM用户或RAM角色。具体操作,请参见管理RAM用户的权限或管理RAM角色的权限。
步骤一:授予KMS管理RAM用户AccessKey的权限
使用RAM凭据需要授权KMS访问AK权限,才能使KMS能管理RAM凭据、完成RAM凭据轮转等任务。
授权步骤如下:
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击。
单击RAM凭据页签,选择实例ID后,单击创建凭据。
在RAM凭据创建页,点击请先授权KMS 访问AK 权限,跳转至云资源访问授权页。
在云资源访问授权页,点击确认授权。
警告如果您是普通RAM用户(子账号)或普通RAM角色,请将授权链接发送至RAM管理员(有资源管理权限的RAM用户或者主账号),由RAM管理员完成授权AK权限操作。
授权页面中角色名称为
AliyunKMSManageRAMCredentialsRole,权限策略为AliyunKMSManageRAMCredentialsRolePolicy(系统策略),用于KMS管理用户的RAM凭据。授权完毕后,系统会自动创建服务关联角色AliyunKMSManageRAMCredentialsRole,并为其授权权限策略AliyunKMSManageRAMCredentialsRolePolicy。KMS使用该角色为您管理RAM凭据,完成RAM凭据轮转等任务。
步骤二:创建RAM凭据
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击。
单击RAM凭据页签,选择实例ID后,单击创建凭据。若出现请先授权KMS 访问AK 权限提示,请先完成授权,授权步骤请参见步骤一:授予KMS管理RAM用户AccessKey的权限。
配置RAM凭据数据,配置项说明如下。配置完毕后单击确定。
配置项
说明
选择RAM用户
选择要托管凭据的 RAM 用户,所选用户至少需有一个 AccessKey。凭据名称根据 RAM 用户名自动生成。
如没有 AccessKey,请先创建。
设置凭据值
输入对应 AccessKey Secret,长度不超过 30720 字节(30 KB)。
加密主密钥
选择用于加密凭据值的对称密钥。密钥和凭据必须属于同一个 KMS 实例。
重要密钥和凭据需要属于同一个 KMS 实例,且密钥必须为对称密钥。关于 KMS 支持哪些对称密钥,请参见密钥管理类型和密钥规格。
如果是 RAM 用户、RAM 角色,需要具备使用加密主密钥执行 GenerateDataKey 操作的权限。
自动轮转
选择是否启用自动轮转功能。启用后,KMS 将按照设定的周期自动更新凭据值,降低凭据泄露风险。
天数(7天~365天)
仅在开启开启自动轮转时设置。表示轮转周期,设置后 KMS 将定期更新凭据值。
描述信息
填写凭据的补充描述信息,便于后续识别和管理。
设置凭据的访问权限策略,可控制哪些 RAM 用户或角色可以读取或修改此凭据。
可先选择默认策略,创建后根据业务需要修改。
步骤三:应用程序集成RAM凭据
KMS提供了凭据客户端、KMS实例SDK、阿里云SDK、KMS Agent调用OpenAPI-GetSecretValue或KMS实例API-GetSecretValue(不推荐)接口获取RAM凭据。您可按照以下进行选择:
建议做好错误重试机制提升业务稳定性。
KMS 提供了多种认证方式,为了更高的安全性,推荐优先使用 ECS 实例 RAM 角色或 RAM 角色。
接入点说明:
共享网关对应的接入点 Endpoint:请参见接入点说明。
专属网关对应的接入点 Endpoint:
{实例 ID}.cryptoservice.kms.aliyuncs.com。
集成方式 | 使用场景说明 | 支持的网关类型 |
|
| |
应用开发语言需要为Java(Java 8及以上版本)、Go或者Python。 |
| |
应用开发语言需要为Java(Java 6及以上版本)、PHP、Go、Python、.NET(仅C#)、C++、Node.js。 |
| |
|
| |
KMS实例SDK(不推荐) | 应用开发语言需要为Java(Java 8及以上版本)、PHP、Go、Python、.NET(仅C#)。 | 专属网关 |
更多操作
轮转RAM凭据
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击。
单击RAM凭据页签,选择实例ID后,定位到要立即轮转的凭据名称,单击操作列的详情。
在凭据详情页面配置凭据轮转策略。
周期性自动轮转:在页面右上角单击设置轮转策略,开启或关闭周期性自动轮转,然后单击确定。
立即轮转:在页面右上角单击立即轮转,在设置轮转策略对话框中设置轮转窗口(10分钟~2天),然后单击确定。
删除RAM凭据
您可以选择计划删除和立即删除两种方式,删除不需要的凭据。删除RAM凭据仅在凭据管家中删除RAM凭据,不会在RAM中删除RAM用户的AccessKey。
删除凭据前,请确认该凭据已不再使用,否则可能导致您的业务失败。
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击。
单击页签,选择实例ID后,定位到要删除的凭据名称,单击操作列的计划删除。
在计划删除凭据对话框中,选择凭据删除方式,并单击确定。
计划删除凭据:设置预删除周期(7~30 天),系统将在预删除周期结束后删除凭据。
立即删除凭据:系统将立即删除凭据。
在预删除周期内,可以单击目标凭据操作列的取消删除,取消删除操作。
为凭据配置标签
凭据的标签,方便您对凭据进行分类管理。每个标签由一个键值对(Key:Value)组成,包含标签键(Key)、标签值(Value)。
标签键和标签值的格式:最多支持 128 个字符,可以包含英文大小写字母、数字、正斜线(/)、反斜线(\)、下划线(_)、短划线(-)、半角句号(.)、加号(+)、等于号(=)、半角冒号(:)、字符 at(@)、空格。
标签键不能以 aliyun 或 acs:开头。
每个凭据最多可以设置 20 个标签键值对。
为单个凭据配置标签
方式 | 操作 |
方式一:在凭据管理页面配置标签 |
|
方式二:在凭据详情页面配置标签 |
|
为多个凭据批量配置标签
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击。
单击相应的凭据类型页签,选择实例ID后,在凭据列表中勾选要操作的凭据。
增加标签:在凭据列表的最下方,单击增加标签,输入多个标签键和标签值后,单击确定,然后在变更提示对话框中单击关闭。
删除标签:在凭据列表的最下方,单击删除标签,在批量解绑标签对话框勾选要解绑的标签,单击取消,然后在变更提示对话框中单击关闭。
检测账号
检测账号功能可为您检测RAM凭据中的RAM用户在RAM中是否存在,以及RAM用户的AccessKey ID与凭据中内容是否一致。
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击。
单击页签,选择实例ID后,定位到目标凭据,单击操作列的详情。
在版本列表区域,单击检测账号,验证完成后,查看验证结果。
安全性建议
使用 KMS 凭据管理托管 AK/SK,可避免明文存储。建议同时配置 AccessKey 网络访问限制策略,仅允许可信 IP 调用 AccessKey。KMS 凭据管理解决存储安全问题,IP 白名单限制调用来源,两者组合使用形成双重安全防护。详情请参见AccessKey 网络访问限制策略。