的 IAM 数据库身份验证
您可以使用 AWS Identity and Access Management (IAM) 数据库身份验证对您的数据库集群进行身份验证。IAM 数据库身份验证适用于 Aurora MySQL 和 Aurora PostgreSQL。利用此身份验证方法,您在连接到数据库集群时将无需使用密码。而是使用身份验证令牌。
身份验证令牌 是 Amazon Aurora 根据请求生成的唯一字符串。身份验证令牌是使用 AWS 签名版本 4 生成的。每个令牌的使用期限为 15 分钟。您无需将用户凭证存储在数据库中,因为身份验证是使用 IAM 进行外部管理的。此外,您仍可使用标准数据库身份验证。
IAM 数据库身份验证具有以下优势:
-
数据库的出站和进站网络流量是使用安全套接字层 (SSL) 加密的。
-
您可以使用 IAM 集中管理对数据库资源的访问,而不是单独管理对每个数据库集群的访问。
-
对于在 Amazon EC2 上运行的应用程序,您可以使用 EC2 实例特定的配置文件凭证访问数据库以提高安全性,而不是使用密码。
主题
IAM 数据库身份验证的可用性
IAM 数据库身份验证可用于以下数据库引擎和数据库实例类:
-
Aurora 与 MySQL 的兼容性 版本 1.10 或更高版本。支持 db.t2.small 和 db.t3.small 以外的所有数据库实例类。
-
与 PostgreSQL 兼容的 Aurora,PostgreSQL 版本 9.6.9 和 10.4 或更高版本。
MySQL 的 IAM 数据库身份验证限制
在 Aurora MySQL 中使用 IAM 数据库身份验证时,限制为每秒最多 256 个新连接。
使用 Amazon Aurora 的数据库引擎不会对每秒的身份验证尝试次数施加任何限制。不过,在使用 IAM 数据库身份验证时,您的应用程序必须生成身份验证令牌。之后,您的应用程序将使用该令牌连接到数据库集群。如果超出每秒的最大新连接数限制,则 IAM 数据库身份验证的额外开销可能会导致连接受到限制。额外开销甚至可能导致现有连接中断。 有关 Aurora MySQL 的最大连接总数的信息,请参阅 至 Aurora MySQL 数据库实例的最大连接数。
目前,Aurora MySQL 并行查询不支持 IAM 数据库身份验证。
在使用 MySQL 引擎时,我们建议使用以下做法:
-
将 IAM 数据库身份验证用作对数据库的个人临时访问的机制。
-
仅对可轻松重试的工作负载使用 IAM 数据库身份验证。
-
如果您的应用程序需要每秒 256 个新连接,请不要使用 IAM 数据库身份验证。
PostgreSQL 的 IAM 数据库身份验证限制
当将 IAM 数据库身份验证与 PostgreSQL 结合使用时,请注意以下限制:
-
可能会限制数据库集群每秒最大连接数,具体取决于集群类型和工作负载。