当您的应用需要访问Redis或Tair数据库时,您可以将账号口令存储在KMS的凭据中(即Redis/Tair凭据),业务应用通过集成SDK向KMS动态获取账号口令,您还可以为凭据配置轮转,以减少账号口令的泄露风险。本文介绍如何管理及使用Redis/Tair凭据。
功能介绍
使用Redis/Tair凭据,应用程序将无需配置静态数据库账号口令。管理员在KMS创建Redis/Tair凭据,应用程序调用GetSecretValue接口获取数据库账号和口令信息,用于访问Redis/Tair数据库。
在KMS托管Redis/Tair账号口令时,仅支持托管新创建的账号且仅支持双账号托管,不支持托管已存在的Redis/Tair存量账号。即在KMS配置Redis/Tair凭据信息时,您需要自定义数据库的账号,此时KMS会调用Redis/Tair的API新创建两个权限相同的数据库账号及口令。以Redis数据库为例,您自定义的Redis数据库的账号为user
,则会创建两个Redis数据库账号user
、user_clone
,user
对应的Redis凭据版本状态设置为ACSCurrent
,user_clone
对应的Redis凭据版本状态设置为ACSPrevious
。您可以在Redis控制台,访问Redis实例列表,在实例详情的账号管理页签查看新创建的Redis账号。
如果您设置了凭据轮转,凭据轮转时两个Redis账号的口令均有效,如果应用程序在凭据轮转期间获取凭据值,仍会获得有效的凭据值。因此相比于单账号托管,双账号托管场景下应用程序的可用性更高。
您在KMS托管Redis/Tair账号口令后,请勿在云数据库 Redis 版(ApsaraDB for Redis)、云原生内存数据库 Tair修改或删除账号口令,以避免您的业务失败。
以Redis数据库为例,为您介绍凭据的使用流程。
前提条件
创建Redis/Tair凭据
创建凭据时可以设置凭据全自动的定期轮转,从而降低凭据泄露的安全风险。
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击 。
单击数据库凭据页签,选择实例ID后,单击创建凭据。
选择创建单个凭据或创建批量凭据,完成各项配置后单击确定。
说明创建凭据时,系统会自动创建服务关联角色AliyunServiceRoleForKMSSecretsManagerForRedis,并为其授权权限策略AliyunServiceRolePolicyForKMSSecretsManagerForRedis。KMS使用该角色为您管理Redis凭据,完成Redis账号口令的轮转等任务。
您可以登录RAM控制台查看服务关联角色和权限策略的详细信息,具体操作,请参见查看RAM角色和查看权限策略基本信息。
以创建单个凭据为例,为您介绍。
配置项
说明
数据库类型
选择Redis凭据。
凭据名称
自定义的凭据名称。凭据名称在当前地域内唯一。
Redis实例
选择阿里云账号下已有的Redis实例。
账号托管
仅支持双账号托管。
设置凭据值
在KMS托管Redis账号口令时,仅支持托管新创建的账号且仅支持双账号托管,不支持托管已存在的Redis存量账号。
定制账号名:您需要自定义Redis数据库的账号,此时KMS会调用Redis的API新创建两个权限相同的Redis数据库账号及口令。例如,您自定义的Redis数据库的账号为
user
,则会创建两个Redis数据库账号user
、user_clone
。指定权限:取值为读写、只读。新创建的两个Redis数据库账号权限相同。
加密主密钥
选择用于加密凭据值的密钥。
重要密钥和凭据需要属于同一个KMS实例,且密钥必须为对称密钥。关于KMS支持哪些对称密钥,请参见密钥管理类型和密钥规格。
如果是RAM用户、RAM角色,需要具备使用加密主密钥执行GenerateDataKey操作的权限。
标签
凭据的标签,方便您对凭据进行分类管理。每个标签由一个键值对(Key:Value)组成,包含标签键(Key)、标签值(Value)。
说明标签键和标签值的格式:最多支持128个字符,可以包含英文大小写字母、数字、正斜线(/)、反斜线(\)、下划线(_)、短划线(-)、半角句号(.)、加号(+)、等于号(=)、半角冒号(:)、字符at(@)、空格。
标签键不能以aliyun或acs:开头。
每个凭据最多可以设置20个标签键值对。
自动轮转
选择开启或关闭凭据的周期性自动轮转。
轮转周期
仅当开启自动轮转时需要设置。支持设置为6小时~365天。
表示轮转的周期,设置后KMS将定期为您更新凭据值。
描述信息
凭据的描述信息。
策略配置
凭据的策略配置。详细介绍,请参见凭据策略概述。
您可以先选择默认策略,创建凭据后根据业务需要再修改策略。
应用程序集成Redis/Tair凭据
KMS提供了阿里云SDK、KMS实例SDK、凭据客户端,用于获取凭据值,应用可以通过这些SDK集成Redis/Tair凭据。关于各SDK的详细介绍,请参见SDK参考。
如果您使用KMS实例SDK,具体示例,请参见通过KMS托管Redis密码凭证。
如果您使用SDK进行管控类操作,例如创建Redis/Tair凭据、修改Redis/Tair标签等,仅支持使用阿里云SDK。
轮转Redis/Tair凭据
KMS为您转轮Redis/Tair凭据时,不会重置Redis/Tair账号,仅重置账号对应的口令。正常情况下,Redis/Tair凭据轮转即时完成,如果轮转超过2分钟没有完成,请检查Redis/Tair实例状态及Redis/Tair账号是否正常。
轮转前须知
轮转Redis/Tair凭据时,KMS将请求Redis/Tair重置相应数据库账号的口令。在轮转Redis/Tair凭据前请确保您所有应用均从KMS获取Redis/Tair凭据,以免造成相关业务应用不可用。
Redis/Tair凭据轮转时请勿删除凭据关联的Redis/Tair实例和Redis/Tair账号,避免轮转失败。
建议您在轮转前进行一次“检测账号”,且看到KMS提示检验成功后再进行轮转。如果您在Redis/Tair中删除了对应的数据库实例或账号,KMS将无法正常对该Redis/Tair凭据完成轮转。
轮转过程
在KMS托管Redis/Tair凭据时,仅支持双账号托管。即在KMS配置Redis/Tair凭据信息时,您需要自定义Redis/Tair数据库的账号,此时KMS会调用Redis/Tair的API新创建两个权限相同的Redis/Tair数据库账号及口令。
以Redis数据库为例,您自定义的Redis数据库的账号为user
,则会创建两个Redis数据库账号user
、user_clone
,user
对应的Redis凭据版本状态设置为ACSCurrent
,user_clone
对应的Redis凭据版本状态设置为ACSPrevious
。
第一次轮转时,KMS会调用Redis数据库的API,修改user
对应的口令,并将Redis凭据中user
对应的版本状态置为ACSPrevious
,user_clone
对应的版本状态设置为ACSCurrent
。以后,每次轮转时,KMS会交替修改这两个用户的口令。具体如下图所示。
您可以为凭据设置周期性自动轮转,降低凭据泄露的安全风险。也可以在凭据泄露时,通过控制台立即轮转功能快速轮转凭据,阻断入侵威胁。
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击 。
单击数据库凭据页签,选择实例ID后,凭据类型选择Redis,定位到要轮转的凭据名称,单击操作列的详情。
在版本列表区域,单击设置轮转,配置凭据轮转策略。
定时自动轮转:开启后需要选择轮转周期,支持设置为6小时~365天。
立即轮转:手动触发立即轮转。
更多操作
检测账号
KMS将检测凭据保护的数据库账号是否属于您配置的Redis实例,检测成功说明该凭据可以正常轮转,否则您需要删除后重新创建Redis/Tair凭据。
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击 。
单击数据库凭据页签,选择实例ID后,凭据类型选择Redis,定位到要轮转的凭据名称,单击操作列的详情。
在版本列表区域,单击检测账号,验证完成后,查看验证结果。
删除Redis凭据
删除凭据前,请确认该凭据已不再使用,否则可能导致您的业务失败。
您可以选择计划删除凭据和立即删除凭据两种方式,删除不需要的凭据。删除/Tair凭据仅删除KMS中的/Tair凭据信息,不会删除/Tair中的账户和口令。
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击 。
单击数据库凭据页签,选择实例ID后,凭据类型选择Redis,定位到要轮转的凭据名称,单击操作列的计划删除凭据。
在计划删除凭据对话框中,选择凭据删除方式,并单击确定。
计划删除凭据:设置预删除周期(7~30天),系统将在预删除周期结束后删除凭据。
立即删除凭据:系统将立即删除凭据。
在预删除周期内,您可以单击目标凭据操作列的还原凭据,取消删除操作。
为凭据配置标签
凭据的标签,方便您对凭据进行分类管理。每个标签由一个键值对(Key:Value)组成,包含标签键(Key)、标签值(Value)。
标签键和标签值的格式:最多支持128个字符,可以包含英文大小写字母、数字、正斜线(/)、反斜线(\)、下划线(_)、短划线(-)、半角句号(.)、加号(+)、等于号(=)、半角冒号(:)、字符at(@)、空格。
标签键不能以aliyun或acs:开头。
每个凭据最多可以设置20个标签键值对。
为单个凭据配置标签
方式 | 操作 |
方式一:在凭据管理页面配置标签 |
|
方式二:在凭据详情页面配置标签 |
|
为多个凭据批量配置标签
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击 。
单击相应的凭据类型页签,选择实例ID后,在凭据列表中勾选要操作的凭据。
增加标签:在凭据列表的最下方,单击增加标签,输入多个标签键和标签值后,单击确认,然后在变更提示对话框中单击关闭。
删除标签:在凭据列表的最下方,单击删除标签,在批量解绑标签对话框勾选要解绑的标签,单击解绑标签,然后在变更提示对话框中单击关闭。