云数据库 Tair(兼容 Redis)实例提供三种身份认证方式:密码登录(兼容原生 Redis)、账号+密码登录(推荐用于生产环境)、专有网络(VPC)免密登录。本文介绍三种认证方式的使用与限制,与连接工具(redis-cli、DMS、SDK)的选择无关。
前提条件
已将客户端的IP地址添加至实例的白名单中,具体操作请参见设置白名单。
不论通过哪种登录方式,均需要先将客户端的IP地址或IP地址段添加到实例的白名单中,才允许访问实例。如果无法连接,您可以通过连接诊断功能对客户端的IP地址进行校验。
认证方式对比
实例支持以下三种身份认证方式,请根据您的业务场景选择:
认证方式 | 适用网络 | 适用账号 | 推荐场景 | 安全性 |
密码登录 | VPC / 公网 | 仅默认账号 | 兼容原生 Redis 习惯、单应用接入 | 中 |
账号+密码登录(推荐) | VPC / 公网 | 默认账号、自定义账号 | 多账号隔离、生产环境 | 高 |
VPC 免密登录 | 仅 VPC 内 | 仅默认账号 | 同 VPC 内简单测试 | 低(需严格白名单) |
密码登录
登录方式:仅输入密码即可登录,无需输入账号。
使用限制:此方式仅会以实例默认账号进行登录,默认账号通常为以实例 ID 命名的账号(例如
r-bp1jpghfglv6******)或default,您可以在控制台的账号管理页面进行查看。无法通过此方式登录其他自定义账号。
特点:与原生 Redis 登录方式一致,符合多数用户的使用习惯。但由于一个实例只有一个默认账号,可能会导致该实例使用同一账号连接多个应用的情况。
redis-cli 连接示例:
# 例如默认账号为 r-bp1jpghfglv6******,密码为 Rp829dlwa。 redis-cli -h r-bp1zx****.redis.rds.aliyuncs.com -p 6379 -a Rp829dlwa
账号+密码登录(推荐)
登录方式:输入账号和密码,账号与密码以英文冒号(
:)分隔,格式为user:password。说明若是通过第三方数据库管理工具(例如RDM等)连接实例,请在密码框中输入
user:password进行连接。若通过数据管理DMS连接实例,请在数据库账号和数据库密码文本框中分别输入账号和密码。
兼容Redis 6.0版本以上的实例还支持
AUTH user password格式,兼容Redis 6.0以上版本的特性。
使用限制:无限制,默认账号与自定义账号均可使用此方式登录。
特点:您可以为实例创建多个账号,在不同应用中以不同的账号登录,提高数据安全性。关于如何创建数据库账号,请参见创建与管理账号。
redis-cli连接示例:
# 例如自定义账号为testaccount,密码为Rp829dlwa。 # 登录格式一:user:password。 # 适用于所有阿里云Tair或Redis开源版实例。 redis-cli -h r-bp1zx****.redis.rds.aliyuncs.com -p 6379 -a testaccount:Rp829dlwa # 登录格式二:user password。 # 适用于兼容Redis 6.0及以上版本的阿里云Tair或Redis开源版实例。 redis-cli -h r-bp1zx****.redis.rds.aliyuncs.com -p 6379 AUTH testaccount Rp829dlwa
免密码登录
免密访问意味着同 VPC 内任何能访达实例的客户端都能登录默认账号,生产环境建议配合最小化白名单和审计日志使用,切勿将白名单设为 0.0.0.0/0。
登录方式:无需输入账号、密码即可登录。
使用限制:
客户端:需与实例为同一VPC。
实例:需开启VPC免密访问功能,更多信息请参见开启专有网络免密访问。
此方式仅会以实例默认账号,并通过内网连接地址进行登录,登录后可进行读、写操作。
特点:无需密码即可登录。该模式默认允许同VPC内的所有客户端访问该实例,您可以通过
#no_loose_check-whitelist-always参数控制开启免密功能时是否检测客户端的IP地址在白名单中,更多信息请参见Tair企业版配置参数列表和Redis开源版配置参数列表。redis-cli连接示例:
# 免密码登录,无需验证账号密码。 redis-cli -h r-bp1zx****.redis.rds.aliyuncs.com -p 6379
常见报错
如果忘记或未设置密码,您可以重置密码。更多信息请参见修改或重置密码。
报错信息 | 原因及解决方法 |
| 密码错误,请用正确的格式输入账号、密码,更多信息请参见上方「账号+密码登录」章节。 |