如何为触发Lambda的RDS Oracle触发器附加AWS_FullLambdaAccess权限
RDS Oracle触发器调用Lambda的权限配置方案
需求背景
需要创建RDS Oracle触发器,使其触发时调用Lambda函数,需通过附加AWS_FullLambdaAccess策略赋予触发器对应权限。
配置步骤
注意:RDS Oracle触发器调用Lambda的权限是通过触发器使用的数据库账号关联的IAM角色来赋予的,核心是给该IAM角色附加目标策略,具体步骤如下:
确认触发器使用的数据库账号
触发器执行时依赖特定数据库账号,需先明确该账号,且该账号需已开启IAM数据库认证(需符合AWS文档中关于IAM数据库认证的账号配置要求)。创建/关联对应的IAM角色
若未为该数据库账号创建关联IAM角色,需先创建:- 角色的信任策略需允许RDS服务扮演该角色,示例信任策略代码:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
- 角色的信任策略需允许RDS服务扮演该角色,示例信任策略代码:
附加
AWS_FullLambdaAccess策略到IAM角色- 进入IAM控制台,找到目标角色,切换至「权限」标签页,点击「附加策略」
- 在策略搜索框中输入
AWS_FullLambdaAccess,选中该策略后完成附加操作
绑定IAM角色与数据库账号
进入RDS控制台,找到目标Oracle实例,在IAM数据库认证配置页面,将配置好的IAM角色与触发器使用的数据库账号绑定(对应配置截图中的关联环节)验证权限有效性
编写触发器代码时,确保使用已关联IAM角色的数据库账号执行Lambda调用逻辑;触发触发器后,查看Lambda执行日志确认调用是否成功,排查权限类报错。
内容的提问来源于stack exchange,提问作者Shivani
相关产品推荐
相关产品推荐

