Amazon Relational Database Service
用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

对 MySQL 和 Amazon Aurora 使用 IAM 数据库身份验证

借助 Amazon RDS for MySQL 或 Aurora 与 MySQL 的兼容性,您可使用 AWS Identity and Access Management (IAM) 数据库身份验证来对数据库实例或数据库集群进行身份验证。如果使用此身份验证方法,您在连接到数据库实例时将无需使用密码,而是使用身份验证令牌。

身份验证令牌 是 Amazon RDS 根据要求生成的一个包含独特字符的字符串。身份验证令牌是使用 AWS 签名版本 4 生成的。每个令牌的使用期限为 15 分钟。您无需将用户凭证存储在数据库中,因为身份验证是使用 IAM 进行外部管理的。此外,您仍可使用标准数据库身份验证。

IAM 数据库身份验证具有以下优势:

  • 数据库的出站和进站网络流量是使用安全套接字层 (SSL) 加密的。

  • 您可以使用 IAM 集中管理对数据库资源的访问,而不是单独管理对每个数据库实例或数据库集群的访问。

  • 对于在 Amazon EC2 上运行的应用程序,您可以使用 EC2 实例配置文件凭证而不是密码访问数据库来提高安全性。

IAM 数据库身份验证的可用性

IAM 数据库身份验证可用于以下数据库引擎和实例类:

  • MySQL 5.6,次要版本 5.6.34 或更高版本. 支持除 db.m1.small 之外的所有实例类。

  • MySQL 5.7,次要版本 5.7.16 或更高版本. 支持除 db.m1.small 之外的所有实例类。

  • Aurora 与 MySQL 的兼容性,版本 1.10 或更高版本。支持除 db.t2.small 之外的所有实例类。

IAM 数据库身份验证的限制

在使用 IAM 数据库身份验证时,限制为每秒最多 20 个新连接。如果您使用的是 db.t2.micro 实例类,则限制为每秒 10 个连接。

Amazon RDS for MySQL 和 Aurora MySQL 数据库引擎不会对每秒身份验证尝试次数施加限制。不过,在使用 IAM 数据库身份验证时,您的应用程序必须生成身份验证令牌。之后,您的应用程序将使用该令牌连接到数据库实例或集群。如果您超出每秒最大新连接数限制,则 IAM 数据库身份验证的额外开销可能导致连接限制。额外开销甚至可能导致现有连接中断。

我们建议执行下列操作:

  • 将 IAM 数据库身份验证用作对数据库的个人临时访问的机制。

  • 如果您的应用程序需要每秒 20 个新连接,请不要使用 IAM 数据库身份验证。

  • 仅对可轻松重试的工作负载使用 IAM 数据库身份验证。

注意

有关 MySQL 的最大总连接数的信息,请参阅最大 MySQL 连接数。有关 Aurora MySQL 的最大总连接数的信息,请参阅至 Aurora MySQL 数据库实例的最大连接数

本页内容: