比较 Aurora MySQL 版本 3 和 Aurora MySQL 版本 8.4
与 Aurora MySQL 版本 3(兼容 MySQL 8.0)相比,Amazon Aurora MySQL 版本 8.4 引入了重要的增强功能和更改。本指南重点介绍主要区别,帮助您了解新增和更改的功能。
身份验证和安全
身份验证插件管理
Aurora MySQL 版本 3 使用 default_authentication_plugin 参数为新数据库用户配置默认身份验证插件。
Aurora MySQL 版本 8.4 将 default_authentication_plugin 替换为 authentication_policy 参数,后者提供了更灵活的身份验证配置。
TLS 和加密
Aurora MySQL 版本 8.4 执行更严格的安全标准:
-
默认情况下,
ON参数设置为require_secure_transport,要求所有连接都使用 TLS。 -
仅支持 TLS 1.2 和 TLS 1.3。
-
实施现代化加密标准,使用限定的加密套件。
有关更多信息,请参阅 使用 Amazon Aurora MySQL 实现高安全性。
密码管理
密码验证
Aurora MySQL 版本 3 通过手动安装支持 validate_password 插件和组件,仅限使用默认参数,无法进行自定义。
Aurora MySQL 版本 8.4 支持通过数据库集群参数管理 validate_password 组件:
-
新集群参数:
aurora_enable_validate_password_component -
无需手动安装,只需通过参数启用或禁用。
-
组件不在
mysql.component表中列出。 -
组件状态可以通过集群参数组 API 或全局变量
aurora_enable_validate_password_component来检查。
Aurora MySQL 版本 8.4 引入了以下用于自定义密码验证的集群级参数:
validate_password.check_user_namevalidate_password.lengthvalidate_password.mixed_case_countvalidate_password.number_countvalidate_password.policy(仅支持 LOW 和 MEDIUM 级别)validate_password.special_char_count
有关更多信息,请参阅 Aurora MySQL 中的密码策略和密码验证。
Aurora MySQL 8.4 版本中删除了以下不可修改的实例级 validate_password 插件参数:
validate-passwordvalidate_password_dictionary_filevalidate_password_lengthvalidate_password_mixed_case_countvalidate_password_number_countvalidate_password_policyvalidate_password_special_char_count
有关更多信息,请参阅 Aurora MySQL 配置参数。
密码策略
Aurora MySQL 版本 8.4 通过新的集群参数添加了全面的密码策略支持:
default_password_lifetimepassword_historypassword_reuse_intervalpassword_require_currentdisconnect_on_expired_password
这些参数与每个账户的密码策略配合使用,可实现精细控制。有关更多信息,请参阅 Aurora MySQL 中的密码策略和密码验证。
参数默认更改
temptable_max_mmap
Aurora MySQL 版本 3 在所有实例类和存储配置中,为 temptable_max_mmap 参数使用固定的默认值 1 GiB(1073741824)。
Aurora MySQL 版本 8.4.7 及更高版本会根据集群的分配存储空间动态计算默认值。公式如下:
LEAST(4294967296, {AllocatedStorage*3/100})
这会将默认值设置为所分配存储空间的 3%,上限为 4 GiB。默认值随存储容量而扩展,但要保持在上限范围内,这有助于减少使用 TempTable 存储引擎的读取器实例的查询故障数。
有关参数引用条目,请参阅 Aurora MySQL 配置参数。
权限和角色
新增动态权限
Aurora MySQL 版本 8.4 支持授予 rds_superuser_role 的下列新权限:
ALLOW_NONEXISTENT_DEFINERFLUSH_PRIVILEGESOPTIMIZE_LOCAL_TABLESET_ANY_DEFINER
SET_USER_ID 权限已被移除,因为该权限被替换为 ALLOW_NONEXISTENT_DEFINER 和 SET_ANY_DEFINER。
有关更多信息,请参阅 主用户账户权限。
主用户行为
Aurora MySQL 版本 3:默认情况下,主用户使用 mysql_native_password 身份验证插件,基于密码进行身份验证。
Aurora MySQL 版本 8.4:主用户身份验证插件设置为在 authentication_policy 集群参数中定义的默认值(默认为 caching_sha2_password 插件)。
通过 Amazon Web Services 管理控制台、CLI 或 API 或者通过 Amazon Secrets Manager 轮换重置主用户密码时,Aurora 自动使用重置时的现有 authentication_policy 参数值定义的身份验证插件。
rdsproxyadmin 的受保护用户强制实施
Aurora MySQL 版本 3:rdsproxyadmin 是 RDS 代理的保留用户名。但是,引擎不会阻止您创建、修改或删除具有该名称的数据库用户。
Aurora MySQL 版本 8.4(从 8.4.7 开始):rdsproxyadmin 是受保护用户。引擎拒绝任意主机上针对 rdsproxyadmin 的 CREATE、DROP、RENAME、GRANT、REVOKE 和 SET PASSWORD 操作。有关被拒绝操作和错误示例的完整列表,请参阅 Aurora MySQL 中的预留用户。
如果您在版本 3 集群中创建了 rdsproxyadmin 用户,请参阅 rdsproxyadmin 的受保护用户强制实施以获取升级前指南。