管理及使用RAM凭据

更新时间:
复制 MD 格式

RAM凭据是指RAM用户的访问密钥(AccessKey),包括AccessKey IDAccessKey Secret,用于RAM用户在调用阿里云API时完成身份验证,避免硬编码AccessKey导致泄露。本文介绍如何管理及使用RAM凭据。

功能介绍

KMS托管RAM凭据后,您无需在应用程序中配置AccessKey,只需配置凭据名称,通过凭据名称获取有效的AccessKey用于调用阿里云API。同时RAM凭据也支持轮转,以降低AccessKey泄露的风险。

image.png

使用限制

只支持托管RAM用户(子账号)的AccessKey,不支持托管阿里云账号(主账号)的AccessKey。

RAM凭据轮转

轮转时访问控制RAM会先创建一个新的AccessKey,然后删除旧的AccessKey。同时KMS将新的AccessKey写入凭据值,并删除旧的AccessKey对应的凭据值。轮转支持如下两种方式:

轮转方式

轮转时长

使用场景

周期性自动轮转

2

使用该AccessKey的应用,均已将RAM凭据集成到了应用中,且应用会周期性地读取RAM凭据。

建议您设置自动轮转周期时,不超过3个月,以降低AccessKey被泄露的风险。

立即轮转

由您设置,可设置为10分钟~2天。

RAM凭据泄露时,建议您设置为30分钟,其他场景建议您设置为2天。

  • 当您发现RAM凭据泄露时,可以通过立即轮转凭据进行应急处理。

  • 应用程序接入RAM凭据时,通过手动触发轮转进行测试。

重要
  • RAM凭据处于轮转状态时,请勿删除凭据关联的RAM用户,避免凭据轮转失败。

  • RAM凭据处于轮转状态时,不支持设置周期性轮转策略以及进行立即轮转。

前提条件

  • 已购买和启用 KMS 实例。具体操作,请参见购买和启用 KMS 实例

  • 已在KMS实例中创建用于加密凭据的对称密钥。具体操作,请参见创建密钥

  • 如果您使用RAM用户(子账号)或RAM角色管理RAM凭据,请确保阿里云账号(主账号)已将系统策略AliyunKMSSecretAdminAccessAliyunRAMReadOnlyAccess授予RAM用户或RAM角色。具体操作,请参见管理RAM用户的权限管理RAM角色的权限

步骤一:授予KMS管理RAM用户AccessKey的权限

使用RAM凭据需要授权KMS访问AK权限,才能使KMS能管理RAM凭据、完成RAM凭据轮转等任务。

授权步骤如下:

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

  2. 单击RAM凭据页签,选择实例ID后,单击创建凭据

  3. RAM凭据创建页,点击请先授权KMS 访问AK 权限,跳转至云资源访问授权页。

  4. 在云资源访问授权页,点击确认授权

    警告

    如果您是普通RAM用户(子账号)或普通RAM角色,请将授权链接发送至RAM管理员(有资源管理权限的RAM用户或者主账号),由RAM管理员完成授权AK权限操作。

    授权页面中角色名称为 AliyunKMSManageRAMCredentialsRole,权限策略为 AliyunKMSManageRAMCredentialsRolePolicy(系统策略),用于KMS管理用户的RAM凭据。

  5. 授权完毕后,系统会自动创建服务关联角色AliyunKMSManageRAMCredentialsRole,并为其授权权限策略AliyunKMSManageRAMCredentialsRolePolicy。KMS使用该角色为您管理RAM凭据,完成RAM凭据轮转等任务。

    可以登录 RAM 控制台查看服务关联角色和权限策略的详细信息,具体操作,请参见查看RAM角色查看权限策略信息

步骤二:创建RAM凭据

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

  2. 单击RAM凭据页签,选择实例ID后,单击创建凭据若出现请先授权KMS 访问AK 权限提示,请先完成授权,授权步骤请参见步骤一:授予KMS管理RAM用户AccessKey的权限

  3. 配置RAM凭据数据,配置项说明如下。配置完毕后单击确定

    配置项

    说明

    选择RAM用户

    选择要托管凭据的 RAM 用户,所选用户至少需有一个 AccessKey。凭据名称根据 RAM 用户名自动生成。

    如没有 AccessKey,请先创建。

    设置凭据值

    输入对应 AccessKey Secret,长度不超过 30720 字节(30 KB)。

    加密主密钥

    选择用于加密凭据值的对称密钥。密钥和凭据必须属于同一个 KMS 实例。

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

    • 如果是 RAM 用户、RAM 角色,需要具备使用加密主密钥执行 GenerateDataKey 操作的权限。

    标签

    为凭据添加标签,便于分类管理。每个标签由键值对(Key:Value)组成。

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

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

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

    自动轮转

    选择是否启用自动轮转功能。启用后,KMS 将按照设定的周期自动更新凭据值,降低凭据泄露风险。

    天数(7天~365天)

    仅在开启开启自动轮转时设置。表示轮转周期,设置后 KMS 将定期更新凭据值。

    描述信息

    填写凭据的补充描述信息,便于后续识别和管理。

    高级设置 > 策略配置

    设置凭据的访问权限策略,可控制哪些 RAM 用户或角色可以读取或修改此凭据。

    可先选择默认策略,创建后根据业务需要修改。

步骤三:应用程序集成RAM凭据

KMS提供了凭据客户端、KMS实例SDK、阿里云SDK、KMS Agent调用OpenAPI-GetSecretValueKMS实例API-GetSecretValue(不推荐)接口获取RAM凭据。您可按照以下进行选择:

说明
  • 建议做好错误重试机制提升业务稳定性。

  • KMS 提供了多种认证方式,为了更高的安全性,推荐优先使用 ECS 实例 RAM 角色或 RAM 角色。

  • 接入点说明:

    共享网关对应的接入点 Endpoint:请参见接入点说明

    专属网关对应的接入点 Endpoint:{实例 ID}.cryptoservice.kms.aliyuncs.com

集成方式

使用场景说明

支持的网关类型

RAM凭据插件

  • 应用开发语言需要为Java(Java 8及以上版本)、Go或者Python

  • 业务应用使用该插件支持的SDK版本,详情参见支持的阿里云SDK

  • 共享网关

  • 专属网关

凭据客户端

应用开发语言需要为Java(Java 8及以上版本)、Go或者Python。

  • 共享网关

  • 专属网关

阿里云SDK

应用开发语言需要为Java(Java 6及以上版本)、PHP、Go、Python、.NET(仅C#)、C++、Node.js。

  • 专属网关(推荐)

  • 共享网关

KMS Agent

  • 适用于业务应用部署在一起,大规模应用访问KMS。

  • KMS Agent是基于标准化HTTP接口提供服务,支持任意编程语言的业务应用调用。

  • 专属网关(推荐)

  • 共享网关

KMS实例SDK(不推荐)

应用开发语言需要为Java(Java 8及以上版本)、PHP、Go、Python、.NET(仅C#)。

专属网关

更多操作

轮转RAM凭据

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

  2. 单击RAM凭据页签,选择实例ID后,定位到要立即轮转的凭据名称,单击操作列的详情

  3. 在凭据详情页面配置凭据轮转策略。

    • 周期性自动轮转:在页面右上角单击设置轮转策略,开启或关闭周期性自动轮转,然后单击确定

    • 立即轮转:在页面右上角单击立即轮转,在设置轮转策略对话框中设置轮转窗口(10分钟~2天),然后单击确定

删除RAM凭据

您可以选择计划删除立即删除两种方式,删除不需要的凭据。删除RAM凭据仅在凭据管家中删除RAM凭据,不会在RAM中删除RAM用户的AccessKey。

警告

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

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

  2. 单击自管凭据 > RAM凭据页签,选择实例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后,在凭据列表中勾选要操作的凭据。

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

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

检测账号

检测账号功能可为您检测RAM凭据中的RAM用户在RAM中是否存在,以及RAM用户的AccessKey ID与凭据中内容是否一致。

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

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

  3. 版本列表区域,单击检测账号,验证完成后,查看验证结果。

安全性建议

使用 KMS 凭据管理托管 AK/SK,可避免明文存储。建议同时配置 AccessKey 网络访问限制策略,仅允许可信 IP 调用 AccessKey。KMS 凭据管理解决存储安全问题,IP 白名单限制调用来源,两者组合使用形成双重安全防护。详情请参见AccessKey 网络访问限制策略。

常见问题