使用AMI作为身份验证层,从MySQL客户端设置与AWS RDS的连接。

时间:2016-06-28 17:11:20

标签: amazon-web-services amazon-rds amazon-iam

我想与我们的某个AWS RDS实例建立连接,以便与想要使用MySQL客户端(Toad)的外部远程协作者建立连接。

我可以设置一个安全组并访问数据库的授权,以便接受来自其办公室IP的连接,但这有点过于暴露,并且没有用户责任。或者,我们可以创建一个VPN用户连接到我们的办公室,但这在过去一直很不理想,我更喜欢研究其他选项。

IAM提供了一个很好的安全层,但在这种情况下是否可以将其用作身份验证层?

2 个答案:

答案 0 :(得分:1)

  1. 创建一个Jump Host EC2实例并授予该EC2实例访问权限 您的RDS数据库,因此您必须将IP地址列入白名单 EC2实例而不是整个办公室。
  2. 为要访问数据库的人创建SSH用户 在Jump Host EC2实例上。
  3. 要求此人使用“标准TCP / IP”连接到数据库 通过SSH“使用Toad。
  4. 这将实现您不将整个办公室列入白名单的用例 IP地址和使用SSH可以实现用户责任。

答案 1 :(得分:1)

从安全角度来看,在MySQL中获得最少权限访问权限的白名单IP和唯一用户是这些实现的常见安全设置,非常安全,并提供完整级别的用户责任,跟踪和审计。您知道每个用户访问权限,它只能来自一个IP。你知道那个用户是谁。您可以控制他们可以在数据库中访问的内容。

我不相信添加IAM层是可能的,即便如此,它仍然是用户身份验证和授权的另一种形式,就像MySQL登录所提供的那样。

在一天结束时,您需要信任此用户以您要授予的方式访问您的数据。列入白名单的IP和唯一登录非常安全。通过RDS上的SSL端点,数据在传输过程中也是安全的。我根本没有看到任何不合理的安全风险。此设置是标准配置,适用于任何安全数据环境,例如PCI兼容应用程序中的支付处理。

任何其他实施都会超过这个过度杀戮并增加管理负担而没有很多好处,恕我直言。

为了进一步提高安全性,让每个用户签署一份安全政策,明确说明他们访问数据的限制和范围,他们有权保护其帐户的密码,而不是共享帐户等。信任是好的,但强有力的政策声明强制执行有关数据安全性的正确行为。