Amazon web services 授予对第三方lambda函数的访问权以写入我的红移

Amazon web services 授予对第三方lambda函数的访问权以写入我的红移,amazon-web-services,amazon-redshift,Amazon Web Services,Amazon Redshift,我有一家第三方公司开发了一个解决方案,该解决方案目前正在使用lambda function X p.e.在其帐户托管的红移中写入一些数据,我现在需要的是授予对该lambda function X的访问权,以写入我帐户拥有的红移 我们怎样才能做到这一点 根据我在此之前搜索的内容,我认为涉及IAM角色,但我不确定 提前感谢最简单的方法是生成第三方可以使用的数据库用户登录: 使用命令创建新的数据库用户,并指定密码 使用和为新用户分配最低级别的必要权限(例如,只能更新特定表,不能查询任何其他表) 向第

我有一家第三方公司开发了一个解决方案,该解决方案目前正在使用lambda function X p.e.在其帐户托管的红移中写入一些数据,我现在需要的是授予对该lambda function X的访问权,以写入我帐户拥有的红移

我们怎样才能做到这一点

根据我在此之前搜索的内容,我认为涉及IAM角色,但我不确定


提前感谢

最简单的方法是生成第三方可以使用的数据库用户登录:

  • 使用命令创建新的数据库用户,并指定密码
  • 使用和为新用户分配最低级别的必要权限(例如,只能更新特定表,不能查询任何其他表)
  • 向第三方提供用户名和密码,以便在其Lambda函数中使用
  • 在红移群集上配置安全组,以允许访问在第三方运行其Lambda功能的区域中使用的-这并不完美,因为它仍然会使安全组面临各种攻击,但这比让其公开访问要好
但是,从安全角度来看,允许任何外部方直接访问您的数据库不是一个好主意。有可能通过这种方式泄露机密或个人身份信息。一个比上述更安全的体系结构是第三方将其数据发送到您的系统进行处理,而不是直接访问您的数据库

一些例子:

  • 第三方可以将文件上载到您的Amazon S3 bucket,然后可以触发您自己帐户中的Lambda函数将数据加载到红移,或者
  • 数据可以发送到Amazon Kinesis流(适合连续数据加载)或Amazon SQS,然后您自己帐户中的Lambda函数可以将该数据加载到红移,或
  • 使用API网关创建一个接口,第三方可以通过该接口发送数据,然后触发您自己帐户中的Lambda函数,将该数据加载到红移中