授予对RDS数据库的访问权限

问题描述 投票:0回答:2

我有几个在RDS服务中运行的数据库。我想知道给开发人员访问这些数据库的最佳实践。

我认为使用jenkins的解决方案,但我不认为这是最好的选择。

我试图避免给开发人员一些密码。

希望您能够帮助我。

jenkins rds
2个回答
0
投票

正如@ceejayoz所提到的,您可以创建一些具有受限权限的用户,例如,只能在少数模式上运行选择的用户,另一个可以在几个表中更新寄存器的用户。


0
投票

我可以分享我们所做的和我所看到的。我们做A并且在容易的地方使用B.

A)标准用户对于所有数据库,我们有3个标准用户,后缀为(_dba,_rw,_ro)。这些都使用强密码生成器拥有自己的密码。 _dba用于部署方案并拥有所有权限 _rw由应用程序使用(CRUD在所有表上,但不能修改方案) _ro在所有表上只有R,通常给开发人员

注意:开发人员可以访问用于端口转发和proxycap的堡垒。他们可以通过socks代理和堡垒从他们自己的机器(DB Tools)查询RDS端点。

这是一种懒惰的方法 - 因为用户的创建是以编程方式完成的,我们觉得给一些开发人员只读访问感觉很舒服。他们可以编写一个错误的查询并减慢系统速度,但是他们可以与特定用户这样做,因此没有太大的不同,并且堡垒日志告诉我如果我必须调查谁真的在。

B)UI 带登录的简单Web应用程序(理想情况下为MFA) - 提供运行查询的方法。如果仅用于报告,则理想情况下针对系统的R / O副本。 Stackoverflow自己提供一个(https://data.stackexchange.com/)。

如果RDS自己提供(与您的IAM角色相关联),那会更好。他们在RDS Serverless(https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html)上提供此功能,它可能是其他RDS版本的功能。这允许精细控制甚至是懒惰控制(IAM组)。

© www.soinside.com 2019 - 2024. All rights reserved.