为何我的RDS实例存在2条rdsadmin未加密连接?
关于RDS PostgreSQL中rdsadmin用户未加密连接的说明
1. 这些连接的本质
rdsadmin是AWS RDS服务的内部管理用户,你看到的未加密连接是RDS系统组件发起的自动化运维操作:
- 第一条查询
SELECT value FROM rds_heartbeat2是实例心跳检测,用于监控RDS实例的运行状态; - 第二条的
COMMIT通常是后台维护任务(比如日志清理、元数据同步等)的收尾操作。
这类连接属于本地内部连接(从client_addr为空、client_port=-1可以判断),是RDS服务正常运行的必要环节。
2. 官方文档相关说明
AWS官方文档明确说明rdsadmin用户由RDS服务自动创建和管理,用于执行备份、监控、健康检查、参数配置同步等核心运维任务,这些内部操作是服务架构的一部分。
3. 是否可以强制这些连接使用加密
目前无法强制这类内部连接使用SSL加密:
- 这类连接走的是RDS实例的本地内部通道,不经过公网或常规的客户端SSL连接路径;
- 即使你在RDS实例上启用了
require_ssl参数,系统级的内部连接也会被豁免,不会触发SSL强制要求; - 无需担心数据安全风险,这些内部操作都在AWS的私有网络环境中进行,受到AWS底层安全机制的保护。
你执行的查询及结果:
select * from pg_stat_ssl join pg_stat_activity on pg_stat_ssl.pid = pg_stat_activity.pid where ssl = 'f';
-[ RECORD 1 ]----+--------------------------------- pid | 15497 ssl | f version | cipher | bits | client_dn | client_serial | issuer_dn | datid | 16384 datname | rdsadmin pid | 15497 leader_pid | usesysid | 10 usename | rdsadmin application_name | PostgreSQL JDBC Driver client_addr | client_hostname | client_port | -1 backend_start | 2023-08-10 10:49:38.897878+00 xact_start | query_start | 2023-08-24 00:04:46.134798+00 state_change | 2023-08-24 00:04:46.134818+00 wait_event_type | Client wait_event | ClientRead state | idle backend_xid | backend_xmin | query_id | query | SELECT value FROM rds_heartbeat2 backend_type | client backend -[ RECORD 2 ]----+--------------------------------- pid | 6860 ssl | f version | cipher | bits | client_dn | client_serial | issuer_dn | datid | 16384 datname | rdsadmin pid | 6860 leader_pid | usesysid | 10 usename | rdsadmin application_name | client_addr | client_hostname | client_port | -1 backend_start | 2023-08-12 20:39:03.838202+00 xact_start | query_start | 2023-08-24 00:04:52.645568+00 state_change | 2023-08-24 00:04:52.645632+00 wait_event_type | Client wait_event | ClientRead state | idle backend_xid | backend_xmin | query_id | 3694949039461716331 query | COMMIT backend_type | client backend
内容的提问来源于stack exchange,提问作者Kevin
相关产品推荐
相关产品推荐

