AWS IAM 和 Secrets Manager 之间的区别

Difference between AWS IAM and secrets manager

在 AWS 上,应用程序可以通过附加允许访问的 IAM 角色来访问数据库。 或者应用程序可以通过从秘密管理器获取密码来访问数据库。 在哪些用例中会使用 IAM 或秘密管理器来连接他们的数据库和应用程序?

据我所知,IAM 用于跨云应用程序访问。除非您希望创建一个可以访问数据库的用户角色,然后假设该用户角色连接到数据库。如果您的应用程序在云中运行,就会出现这种情况。 这也是云原生数据库(如 Dynamodb)的主要情况。 对于 RDS 数据库,我们通常使用密码。

Secrets Manager 只是存储您的数据库密码。您将从 Secrets Manager 读取密码,然后使用 username/password 连接到数据库。您将密码存储在 Secrets Manager 中这一事实有点无关紧要。您的问题实际上应该这样表述:

What are the advantages of using AWS IAM authentication for RDS databases, instead of the default username/password authentication.

在回答这个问题时,主要好处是您可以使用附加到 EC2/ECS/EKS/Lambda 的 IAM 角色来提供数据库身份验证凭据,而不必以某种方式使用数据库密码单独配置这些资源。

如果您使用 IAM 身份验证,您也不必担心定期轮换数据库密码。