文档

Redis凭据

更新时间:
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

当您的应用需要访问Redis数据库时,您可以将Redis账号口令存储在KMS的凭据中(即Redis凭据),业务应用通过集成阿里云SDK、KMS实例SDK或凭据SDK向KMS动态获取账号口令,您还可以为凭据配置轮转,以减少账号口令的泄露风险。本文介绍如何管理及使用Redis凭据。

功能介绍

使用Redis凭据,应用程序将无需配置静态数据库账号口令。管理员在KMS创建Redis凭据,应用程序调用GetSecretValue接口获取Redis数据库账号和口令信息,用于访问Redis数据库。

在KMS托管Redis账号口令时,仅支持托管新创建的账号且仅支持双账号托管,不支持托管已存在的Redis存量账号。即在KMS配置Redis凭据信息时,您需要自定义Redis数据库的账号,此时KMS会调用Redis的API新创建两个权限相同的Redis数据库账号及口令例如,您自定义Redis数据库的账号为user,则会创建两个Redis数据库账号useruser_cloneuser对应的Redis凭据版本状态设置为ACSCurrentuser_clone对应的Redis凭据版本状态设置为ACSPrevious。您可以在Redis控制台,访问Redis实例列表,在实例详情的账号管理页签查看新创建的Redis账号。

如果您设置了凭据轮转,凭据轮转时两个Redis账号的口令均有效,如果应用程序在凭据轮转期间获取凭据值,仍会获得有效的凭据值。因此相比于单账号托管,双账号托管场景下应用程序的可用性更高。

重要

您在KMS托管Redis账号口令后,请勿在云数据库 Redis 版(ApsaraDB for Redis)修改或删除账号口令,以避免您的业务失败。

image

前提条件

创建Redis凭据

创建凭据时可以设置凭据全自动的定期轮转,从而降低凭据泄露的安全风险。

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

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

  3. 选择创建单个凭据创建批量凭据,完成各项配置后单击确定

    说明

    创建凭据时,系统会自动创建服务关联角色AliyunServiceRoleForKMSSecretsManagerForRedis,并为其授权权限策略AliyunServiceRolePolicyForKMSSecretsManagerForRedis。KMS使用该角色为您管理Redis凭据,完成Redis账号口令的轮转等任务。

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

    以创建单个凭据为例,为您介绍。

    配置项

    说明

    数据库类型

    选择Redis凭据

    凭据名称

    自定义的凭据名称。

    Redis实例

    选择阿里云账号下已有的Redis实例。

    账号托管

    仅支持双账号托管

    设置凭据值

    在KMS托管Redis账号口令时,仅支持托管新创建的账号且仅支持双账号托管,不支持托管已存在的Redis存量账号。

    • 定制账号名:您需要自定义Redis数据库的账号,此时KMS会调用Redis的API新创建两个权限相同的Redis数据库账号及口令例如,您自定义Redis数据库的账号为user,则会创建两个Redis数据库账号useruser_clone

    • 指定权限:取值为读写只读。新创建的两个Redis数据库账号权限相同。

    加密主密钥

    选择用于加密凭据值的密钥。

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

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

    标签

    凭据的标签,方便您对凭据进行分类管理。每个标签由一个键值对(Key:Value)组成,包含标签键(Key)、标签值(Value)。

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

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

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

    自动轮转

    选择开启或关闭凭据的周期性自动轮转。

    轮转周期

    仅当开启自动轮转时需要设置。支持设置为6小时~365天。

    表示轮转的周期,设置后KMS将定期为您更新凭据值。

    描述信息

    凭据的描述信息。

    策略配置

    凭据的策略配置。关于凭据策略更详细的介绍,请参见凭据策略概述

    • 默认策略:凭据由当前主账号使用,或者资源共享单元中的主账号使用,请选择默认策略。

      • 实例未共享给其他账号:仅当前主账号能管理及使用凭据。

      • 实例已共享给其他账号:以主账号1将KMS实例A共享给主账号2为例介绍。

        • 主账号1创建的凭据:仅主账号1能管理及使用凭据。

        • 主账号2创建的凭据:主账号1和主账号2,都能管理及使用凭据。

    • 自定义策略:如果凭据需要授权给RAM用户、RAM角色,或授权给其他账号使用,请选择自定义策略。

      重要
      • 选择管理员、使用者时不消耗访问管理数量配额。选择其他账号使用者时,会消耗KMS实例的访问管理数量配额,按主账号个数计算消耗的配额,如果您取消了授权,请等待约5分钟,再查看配额,配额的消耗数量会相应减少。

      • 使用凭据时,还需要授予使用对应密钥进行解密(Decrypt)的权限。

      • 管理员:对凭据进行管控类操作,不支持使用凭据(即获取凭据值)。支持选择当前账号下的RAM用户和RAM角色。

        管理员支持的权限列表

        {
        	"Statement": [
        		{
        			"Action": [
        				"kms:List*",
        				"kms:Describe*",
        				"kms:PutSecretValue",
        				"kms:Update*",
        				"kms:DeleteSecret",
        				"kms:RestoreSecret",
        				"kms:RotateSecret",
        				"kms:TagResource",    
        				"kms:UntagResource" 
        			]
        		}
        	]
        }
      • 使用者:支持使用凭据,即获取凭据值。支持选择当前账号下的RAM用户和RAM角色。

        使用者支持的权限列表

        {
            "Statement": [
                {
                    "Action": [
                        "kms:List*",
        								"kms:Describe*",
        								"kms:GetSecretValue",
                    ]
                }
            ]
        }
      • 其他账号使用者:仅支持使用凭据,即获取凭据值。可以是其他阿里云账号的RAM用户或RAM角色。

        • RAM用户:格式为acs:ram::<userId>:user/<ramuser>,例如acs:ram::119285303511****:user/testpolicyuser

        • RAM角色:格式为acs:ram::<userId>:role/<ramrole>,例如acs:ram::119285303511****:role/testpolicyrole

        说明

        授权给RAM用户、RAM角色后,您仍需在访问控制RAM侧,使用该RAM用户、RAM角色的主账号为其授权使用该凭据,RAM用户、RAM角色才能使用该凭据。

        具体操作,请参见密钥管理服务自定义权限策略参考为RAM用户授权为RAM角色授权

        其他账号使用者支持的权限列表

        {
            "Statement": [
                {
                    "Action": [
                        "kms:List*",
        								"kms:Describe*",
        								"kms:GetSecretValue",
                    ]
                }
            ]
        }

轮转Redis凭据

KMS为您转轮Redis凭据时,不会重置Redis账号,仅重置Redis账号对应的口令。正常情况下,Redis凭据轮转即时完成,如果轮转超过2分钟没有完成,请检查Redis实例状态及Redis账号是否正常。

轮转前须知

  • 轮转Redis凭据时,KMS将请求Redis重置相应数据库账号的口令。在轮转Redis凭据前请确保您所有应用均从KMS获取Redis凭据,以免造成相关业务应用不可用。

  • Redis凭据轮转时请勿删除凭据关联的Redis实例和Redis账号,避免轮转失败。

  • 建议您在轮转前进行一次“检测账号”,且看到KMS提示检验成功后再进行轮转。如果您在Redis中删除了对应的数据库实例或账号,KMS将无法正常对该Redis凭据完成轮转。

轮转过程

在KMS托管Redis凭据时,仅支持双账号托管。即在KMS配置Redis凭据信息时,您需要自定义Redis数据库的账号,此时KMS会调用Redis的API新创建两个权限相同的Redis数据库账号及口令例如,您自定义Redis数据库的账号为user,则会创建两个Redis数据库账号useruser_cloneuser对应的Redis凭据版本状态设置为ACSCurrentuser_clone对应的Redis凭据版本状态设置为ACSPrevious

第一次轮转时,KMS会调用Redis数据库的API,修改user对应的口令,并将Redis凭据中user对应的版本状态置为ACSPrevioususer_clone对应的版本状态设置为ACSCurrent。以后,每次轮转时,KMS会交替修改这两个用户的口令。具体如下图所示。

image

您可以为凭据设置周期性自动轮转,降低凭据泄露的安全风险。也可以在凭据泄露时,通过控制台立即轮转功能快速轮转凭据,阻断入侵威胁。

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

  2. 单击数据库凭据页签,选择实例ID后,凭据类型选择Redis,定位到要轮转的凭据名称,单击操作列的详情

  3. 版本列表区域,单击设置轮转,配置凭据轮转策略。

    • 定时自动轮转:开启后需要选择轮转周期,支持设置为6小时~365天。

    • 立即轮转:手动触发立即轮转。

更多操作

检测账号

KMS将检测凭据保护的数据库账号是否属于您配置的Redis实例,检测成功说明该凭据可以正常轮转,否则您需要删除后重新创建Redis凭据。

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

  2. 单击数据库凭据页签,选择实例ID后,凭据类型选择Redis,定位到要轮转的凭据名称,单击操作列的详情

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

删除Redis凭据

警告

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

您可以选择计划删除凭据和立即删除凭据两种方式,删除不需要的凭据。删除Redis凭据仅删除KMS中的Redis凭据信息,不会删除Redis中的账户和口令。

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

  2. 单击数据库凭据页签,选择实例ID后,凭据类型选择Redis,定位到要轮转的凭据名称,单击操作列的计划删除凭据

  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后,在凭据列表中勾选要操作的凭据。

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

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

常见问题