设置白名单
为保障Redis数据库的安全稳定,系统默认禁止所有IP地址访问Redis实例。在开始使用Redis实例前,您需要将客户端的IP地址或IP地址段添加到Redis实例的白名单中。正确使用白名单可以让Redis得到高级别的访问安全保护,建议您定期维护白名单。
准备工作
在为Redis实例设置白名单前,您需要先根据客户端的所属位置,获取应添加的客户端IP地址。
客户端位置 | 连接使用的网络类型 | 获取客户端IP地址的方法 |
ECS实例(推荐) | 专有网络 | 说明
|
本地或第三方云 | 公网 | 获取本地设备公网IP地址的方式可能因您所处的网络环境或操作不同而不同。以下是不同系统通过命令方式获取本地设备公网IP地址的参考方法:
|
白名单设置方法介绍
设置方法 | 说明 |
手动添加客户端所属的IP地址到Redis实例的白名单,以允许该客户端访问Redis实例。 | |
安全组是一种虚拟防火墙,用于控制安全组中的ECS实例的出入流量。如果需要授权多个ECS实例访问Redis实例,您可以通过为Redis实例绑定ECS所属安全组的方式实现快速授权(无需手动填写ECS的IP地址),提升运维的便捷性。 | |
方法三:通过阿里云App设置白名单(手机端) | 阿里云App是阿里云官方出品的移动应用,为您提供随时随地触达阿里云的能力。通过阿里云App,您可以在手机端快速完成IP白名单的设置,同时还支持云资源监控、了解产品动态、购买云产品等功能。 |
您也可以同时设置白名单分组和ECS安全组,白名单分组中的IP地址和安全组中的ECS实例都可以访问该Redis实例。
方法一:手动添加白名单
访问Redis实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏,单击白名单设置。
在default默认安全组,单击修改。
说明您也可以单击添加白名单分组创建一个新的分组。分组名称长度为2~32个字符,由小写字母、数字或下划线(_)组成,需以小写字母开头,以小写字母或数字结尾。
在弹出的对话框中,根据要执行的操作,选择下述操作步骤:
手动添加IP地址或IP地址段
在组内白名单文本框中输入IP地址或IP地址段。
IP地址以英文逗号(,)分隔,不可重复,最多1000个。支持格式为:
具体IP地址,例如10.23.12.24。
CIDR模式,即无类域间路由,/24表示地址中前缀的长度,范围为1~32,例如10.23.12.0/24表示的IP段范围为10.23.12.0 ~ 10.23.12.255。
警告在白名单中添加0.0.0.0/0表示允许所有IP地址访问该实例。该操作存在高安全风险,请谨慎设置。
图 1. 手动修改白名单
加载ECS实例的内网IP地址到白名单
单击加载ECS私网IP。
将展示该实例所属地域的ECS私网IP。
根据业务需求选中对应的IP地址。
图 2. 加载ECS内网IP地址
说明为便于定位目标IP地址,您可以将鼠标指针悬浮在对应的IP地址上,系统将为您展示该IP地址所属ECS实例的ID和名称。
单击确定。
可选:若某个白名单分组中的所有IP地址均需要移除,您可以在目标白名单分组的右侧单击删除来完成该操作。
系统默认生成的白名单分组无法删除,例如default、hdm_security_ips等。
方法二:通过ECS安全组设置白名单
将ECS安全组添加至Redis实例后,该安全组中的所有ECS实例既可以通过内网访问Redis实例,也可以通过外网访问Redis实例(Redis实例需已申请公网连接地址,具体操作,请参见如何通过公网连接Redis实例)。
通过本方法设置白名单时,要求ECS实例和Redis实例属于同一专有网络(同一个VPC ID)。
暂不支持设置ECS安全组的地域:华南2(河源)、华南3(广州)、华东5(南京)、华北6(乌兰察布)。
暂不支持设置ECS安全组的实例架构:云原生版集群架构、云原生版读写分离架构。
访问Redis实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏,单击白名单设置。
单击安全组。
在安全组页签,单击添加安全组。
在弹出的对话框中,选择需要添加的安全组。
支持通过安全组名称、安全组ID进行模糊搜索。
图 3. 添加安全组
说明每个实例最多可设置10个安全组。
单击确定。
可选:当您需要移除所有安全组时,您可以单击清除安全组来实现。
方法三:通过阿里云App设置白名单
阿里云App是阿里云官方出品的移动应用,为您提供随时随地触达阿里云的能力。通过阿里云App,您可以在手机端快速完成IP白名单的设置,同时还支持云资源监控、了解产品动态、购买云产品等功能。
选择下述方式,下载并安装阿里云App:
访问阿里云App介绍页面,扫描右上角的二维码。
在应用市场中搜索阿里云。
打开阿里云App,在我的云产品中,找到并点击云数据库Redis版。
单击目标实例右侧的
图标,并在页面下方弹出的选项中点击白名单设置。
根据业务需求,选择执行下述操作:
手动修改白名单:点击目标白名单分组右侧的
图标,然后点击修改并输入IP白名单。
新增白名单分组:点击右上角的
图标,输入分组名称和IP白名单。
删除白名单分组:点击目标白名单分组右侧的
图标,然后选择删除 。
下图以手动修改白名单为例,介绍操作流程。
图 1. 阿里云App设置白名单
常见连接场景
相关API
API | 说明 |
查询Redis实例的IP白名单。 | |
设置Redis实例的IP白名单。 | |
查询Redis实例白名单中已配置的安全组。 | |
重新设置Redis实例白名单中的安全组。 |
常见问题
Q:Redis实例里有一些自动生成的白名单分组,它们的来源是什么?可以删除吗?
A:初始情况下,Redis实例的白名单分组仅包含default,随着对实例执行某些操作,白名单分组会逐渐增多,详情请参见下表。
白名单分组名称
来源说明
default
系统默认白名单分组,不可删除。
ali_dms_group
通过DMS登录Redis实例时,授权DMS自动创建的。具体操作,请参见通过DMS登录Redis。请勿删除或修改该白名单分组,否则可能导致无法通过DMS登录Redis实例。
hdm_security_ips
使用CloudDBA相关功能时(例如离线全量Key分析),授权DAS自动创建的。请勿删除或修改该白名单分组,否则可能导致CloudDBA功能使用异常。
Q:白名单分组里除了包含客户端的IP地址,还包含了127.0.0.1,这种情况下该客户端可以连接Redis实例吗?
A:该客户端可以正常连接,如果所有的白名单分组里仅剩下127.0.0.1,则禁止所有IP地址连接Redis实例。
Q:为什么通过redis-cli连上后提示
(error) ERR illegal address
?A:您的redis-cli所属设备的IP地址未添加至白名单中,请确认白名单配置。
Q:我的设备所属的IP地址没有添加到白名单中,可以通过telnet测试端口连通性吗?
A:可以,telnet命令会返回如下提示:
Escape character is '^]'. Connection closed by foreign host.