当业务应用使用阿里云RAM AccessKey作为访问凭证时,您可以将AccessKey存储在KMS的凭据中(即RAM凭据),业务应用向KMS动态获取AccessKey。您还可以为RAM凭据配置周期轮转策略,以减少AccessKey的泄露风险。本文介绍如何管理及使用RAM凭据。
功能介绍
在KMS托管RAM凭据后,您无需在应用程序中配置AccessKey的真实内容,只需配置凭据名称,通过凭据名称获取有效的AccessKey用于调用阿里云API。同时RAM凭据也支持轮转,以降低AccessKey泄露的风险。
您在KMS托管AccessKey后,请勿在访问控制 RAM(Resource Access Management)执行创建AccessKey、删除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凭据处于轮转状态时,不支持设置周期性轮转策略以及进行立即轮转。
如果您将AccessKey或由AccessKey生成的经过签名的内容(例如OSS生成的经过签名的文件URL)等分享给第三方,您对RAM凭据进行轮转后,由于原AccessKey失效,您分享的内容将无法正常使用。
前提条件
已购买和启用KMS实例。具体操作,请参见购买和启用KMS实例。
已在KMS实例中创建用于加密凭据的对称密钥。具体操作,请参见密钥管理快速入门。
如果您使用RAM用户(子账号)或RAM角色管理RAM凭据,请确保阿里云账号(主账号)已将系统策略AliyunKMSSecretAdminAccess和AliyunRAMFullAccess授予RAM用户或RAM角色。具体操作,请参见为RAM用户授权或为RAM角色授权。
步骤一:授予KMS管理RAM用户AccessKey的权限
1.创建自定义权限策略
使用RAM管理员登录RAM控制台。
在左侧导航栏,选择 。
在权限策略页面,单击创建权限策略。
选择脚本编辑并输入以下脚本。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ram:ListAccessKeys", "ram:CreateAccessKey", "ram:DeleteAccessKey", "ram:UpdateAccessKey" ], "Resource": "*" } ] }
单击继续编辑基本信息,设置名称和备注。其中名称设置为AliyunKMSManagedRAMCrendentialsRolePolicy。
单击确定。
2.创建RAM角色并授权
使用RAM管理员登录RAM控制台。
在左侧导航栏,选择 。
在角色页面,单击创建角色。
在创建角色页面,选择可信实体类型为阿里云服务,然后单击下一步。
选择角色类型为普通服务角色。
输入角色名称和备注。其中角色名称为AliyunKMSManagedRAMCrendentialsRole。
选择受信服务为密钥管理服务,单击完成。
单击为角色授权,被授权主体会自动填入。
在新增授权面板,选择自定义策略,然后选中权限策略AliyunKMSManagedRAMCrendentialsRolePolicy,单击确定,然后单击完成。
步骤二:创建RAM用户的AccessKey
访问密钥AccessKey(简称AK)是阿里云提供给用户的永久访问凭据,一组由AccessKey ID和AccessKey Secret组成的密钥对。
AccessKey ID:用于标识用户。
AccessKey Secret:是一个用于验证您拥有该AccessKey ID的密码。
登录RAM控制台。
在左侧导航栏,选择 。
在用户页面,单击目标RAM用户名称。
在AccessKey区域,单击创建AccessKey。
在创建AccessKey对话框,查看AccessKey ID和AccessKey Secret。
您可以单击下载CSV文件,下载AccessKey信息。单击复制,复制AccessKey信息。
步骤三:创建RAM凭据
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击 。
单击RAM凭据页签,选择实例ID后,单击创建凭据,完成各项配置后单击确定。
配置项
说明
选择RAM用户
选择您要托管凭据的RAM用户,所选RAM用户需要至少有一个AccessKey。
设置凭据值
输入对应的AccessKey Secret。
长度不超过30720字节(30KB)。
加密主密钥
选择用于加密凭据值的密钥。
重要密钥和凭据需要属于同一个KMS实例,且密钥必须为对称密钥。关于KMS支持哪些对称密钥,请参见密钥管理类型和密钥规格。
如果是RAM用户、RAM角色,需要具备使用加密主密钥执行GenerateDataKey操作的权限。
标签
凭据的标签,方便您对凭据进行分类管理。每个标签由一个键值对(Key:Value)组成,包含标签键(Key)、标签值(Value)。
说明标签键和标签值的格式:最多支持128个字符,可以包含英文大小写字母、数字、正斜线(/)、反斜线(\)、下划线(_)、短划线(-)、半角句号(.)、加号(+)、等于号(=)、半角冒号(:)、字符at(@)、空格。
标签键不能以aliyun或acs:开头。
每个凭据最多可以设置20个标签键值对。
自动轮转
选择开启或关闭凭据的周期性自动轮转。
天数(7天~365天)
仅当开启自动轮转时需要设置。
表示轮转的周期,设置后KMS将定期为您更新凭据值。
描述信息
凭据的描述信息。
策略配置
凭据的策略配置。详细介绍,请参见凭据策略概述。
您可以先选择默认策略,创建凭据后根据业务需要再修改策略。
步骤四:应用程序集成RAM凭据
KMS提供了阿里云SDK、KMS实例SDK、凭据客户端、RAM凭据插件,用于获取凭据值,应用可以通过这些SDK集成RAM凭据。RAM凭据插件根据凭据名称,从KMS获取RAM凭据值并缓存在应用程序的内存中,应用程序使用阿里云SDK时,通过RAM凭据插件本地缓存的AccessKey向云产品发起请求。
如果您的RAM凭据是在OSS SDK、阿里云SDK(V1.0)、消息队列商业版TCP协议Java SDK中使用,推荐您使用RAM凭据插件。详细信息,请参见RAM凭据插件。其它情况,推荐您使用凭据客户端。详细信息,请参见凭据客户端。如果上述SDK不支持您的应用程序编程语言,您可以使用阿里云SDK。详细信息,请参见阿里云SDK。关于各SDK的详细介绍,请参见SDK参考。
如果您使用SDK进行管控类操作,例如创建RAM凭据、修改RAM标签等,仅支持使用阿里云SDK。
更多操作
轮转RAM凭据
轮转RAM凭据即将完成时,KMS会请求RAM将旧的AccessKey删除。
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击 。
单击RAM凭据页签,选择实例ID后,定位到要立即轮转的凭据名称,单击操作列的详情。
在凭据详情页面配置凭据轮转策略。
周期性自动轮转:在页面右上角单击设置轮转策略,开启或关闭周期性自动轮转,然后单击确定。
立即轮转:在页面右上角单击立即轮转,在设置轮转策略对话框中设置轮转窗口(10分钟~2天),然后单击确定。
检测账号
检测账号功能可为您检测RAM凭据中的RAM用户在RAM中是否存在,以及RAM用户的AccessKey ID与凭据中内容是否一致。
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击 。
单击RAM凭据页签,选择实例ID后,定位到目标凭据,单击操作列的详情。
在版本列表区域,单击检测账号,验证完成后,查看验证结果。
删除RAM凭据
您可以选择计划删除凭据和立即删除凭据两种方式,删除不需要的凭据。删除RAM凭据仅在凭据管家中删除RAM凭据,不会在RAM中删除RAM用户的AccessKey。
删除凭据前,请确认该凭据已不再使用,否则可能导致您的业务失败。
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击 。
单击RAM凭据页签,选择实例ID后,定位到要删除的凭据名称,单击操作列的计划删除凭据。
在计划删除凭据对话框中,选择凭据删除方式,并单击确定。
计划删除凭据:设置预删除周期(7~30天),系统将在预删除周期结束后删除凭据。
立即删除凭据:系统将立即删除凭据。
在预删除周期内,您可以单击目标凭据操作列的还原凭据,取消删除操作。
为凭据配置标签
凭据的标签,方便您对凭据进行分类管理。每个标签由一个键值对(Key:Value)组成,包含标签键(Key)、标签值(Value)。
标签键和标签值的格式:最多支持128个字符,可以包含英文大小写字母、数字、正斜线(/)、反斜线(\)、下划线(_)、短划线(-)、半角句号(.)、加号(+)、等于号(=)、半角冒号(:)、字符at(@)、空格。
标签键不能以aliyun或acs:开头。
每个凭据最多可以设置20个标签键值对。
为单个凭据配置标签
方式 | 操作 |
方式一:在凭据管理页面配置标签 |
|
方式二:在凭据详情页面配置标签 |
|
为多个凭据批量配置标签
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击 。
单击相应的凭据类型页签,选择实例ID后,在凭据列表中勾选要操作的凭据。
增加标签:在凭据列表的最下方,单击增加标签,输入多个标签键和标签值后,单击确认,然后在变更提示对话框中单击关闭。
删除标签:在凭据列表的最下方,单击删除标签,在批量解绑标签对话框勾选要解绑的标签,单击解绑标签,然后在变更提示对话框中单击关闭。