能否记录AWS IAM身份验证PostgreSQL RDS的成功登录日志?
关联PostgreSQL RDS登录的IAM身份与数据库用户的可行方案
方法1:配置PAM日志捕获IAM身份信息
RDS PostgreSQL的IAM认证依赖PAM模块实现,默认PAM日志未输出到CloudWatch。可通过以下操作开启:
- 编辑RDS实例关联的参数组,设置
log_connections = 1(确保连接日志开启),同时将pam.debug参数设为true(部分RDS PostgreSQL版本支持该参数,用于开启PAM调试日志)。 - 重启RDS实例使参数生效后,CloudWatch的PostgreSQL日志组中会新增PAM相关日志,其中包含令牌验证时的IAM用户信息,以此关联对应的数据库用户。
方法2:客户端侧日志关联
aws rds generate-db-auth-token生成的令牌本身包含IAM身份的编码信息,可在客户端侧记录关联信息:
- 客户端执行令牌生成命令时,同步记录当前IAM身份(通过
aws sts get-caller-identity获取)、生成的令牌、连接时间戳。 - 将这些客户端日志上传至CloudWatch,与PostgreSQL的连接日志通过客户端IP、时间戳进行匹配,从而关联IAM用户和数据库用户。
关于rdsauthproxy日志
rdsauthproxy是RDS内部专属组件,AWS未开放该组件日志的直接访问权限,无法获取其原始日志。上述两种方法可替代实现IAM身份与数据库用户的关联需求。
内容的提问来源于stack exchange,提问作者Weknin
相关产品推荐
相关产品推荐

