我有几个需要连接到RDS的ECS任务(代理,通过Lambda函数执行)。 每个任务都有其自己的角色,这些角色定义用于(例如)访问S3存储桶的策略。
我的每个任务都有自己的安全组。
我现在可以将RDS上的每个任务安全组列入白名单,但这很麻烦,因为每天都会添加新任务。
我认为必须添加允许访问RDS(as described in the docs)的策略:
- PolicyName: RDSAccess
PolicyDocument:
Statement:
- Effect: Allow
Action:
- rds-db:connect
Resource: 'arn:aws:rds-db:REGION:ID:dbuser:DB_ID/DB_USER'
不幸的是,这不起作用-我仍然无法连接到数据库。
如前所述:当将每个任务安全组显式添加到RDS时,我可以毫无问题地连接到数据库。
两个问题:
答案 0 :(得分:1)
通过此策略,您可以使用CLI作为特定的IAM用户/角色来生成临时凭据,您仍然需要通过网络进行入站访问才能连接。
如果要简化此连接过程,可以使用2个安全组选项: