

# Aurora MySQL バージョン 3 と Aurora MySQL バージョン 8.4 の比較
<a name="AuroraMySQL.Compare-v3-v84"></a>

Amazon Aurora MySQL バージョン 8.4 では、Aurora MySQL バージョン 3 (MySQL 8.0 と互換) と比較して、大幅な機能強化と変更が導入されています。このガイドでは、何が新しく、何が変わったかを理解するのに役立つ主な違いについて説明します。

**Topics**
+ [認証とセキュリティ](#AuroraMySQL.Compare-v3-v84.auth)
+ [パスワード管理](#AuroraMySQL.Compare-v3-v84.password)
+ [パラメータのデフォルトの変更](#AuroraMySQL.Compare-v3-v84.parameters)
+ [権限とロール](#AuroraMySQL.Compare-v3-v84.privileges)

## 認証とセキュリティ
<a name="AuroraMySQL.Compare-v3-v84.auth"></a>

### 認証プラグイン管理
<a name="AuroraMySQL.Compare-v3-v84.auth-plugin"></a>

**Aurora MySQL バージョン 3** では、`default_authentication_plugin` パラメータを使用して、新しいデータベースユーザーのデフォルトの認証プラグインを設定します。

**Aurora MySQL バージョン 8.4** では、`default_authentication_plugin` が `authentication_policy` パラメータに置き換えられ、より柔軟な認証設定が可能になりました。

### TLS と暗号化
<a name="AuroraMySQL.Compare-v3-v84.tls"></a>

**Aurora MySQL バージョン 8.4** では、より厳格なセキュリティ標準が適用されます。
+ `require_secure_transport` パラメータはデフォルトで `ON` に設定され、すべての接続に TLS が必要です。
+ TLS 1.2 および TLS 1.3 のみをサポートします。
+ 制限付き暗号スイートを用いて、最新の暗号化標準を適用します。

詳細については、「[Amazon Aurora MySQL でのセキュリティ](AuroraMySQL.Security.md)」を参照してください。

## パスワード管理
<a name="AuroraMySQL.Compare-v3-v84.password"></a>

### パスワードの検証
<a name="AuroraMySQL.Compare-v3-v84.password-validation"></a>

Aurora MySQL バージョン 3 では、手動インストールによる `validate_password` プラグインとコンポーネントがサポートされていますが、デフォルトのパラメータに限定され、カスタマイズは利用できません。

Aurora MySQL バージョン 8.4 では、DB クラスターパラメータを使用した `validate_password` コンポーネントの管理がサポートされています。
+ 新しいクラスターパラメータ: `aurora_enable_validate_password_component`
+ 手動インストールは必要ありません。パラメータを使用して有効または無効にするだけです。
+ コンポーネントは `mysql.component` テーブルに一覧表示されません。
+ コンポーネントのステータスは、クラスターパラメータグループ API またはグローバル変数 `aurora_enable_validate_password_component` で確認できます。

Aurora MySQL バージョン 8.4 では、パスワード検証をカスタマイズするために以下のクラスターレベルのパラメータが導入されています。
+ `validate_password.check_user_name`
+ `validate_password.length`
+ `validate_password.mixed_case_count`
+ `validate_password.number_count`
+ `validate_password.policy` (LOW レベルと MEDIUM レベルのみをサポート)
+ `validate_password.special_char_count`

詳細については、「[Aurora MySQL のパスワードポリシーとパスワード検証](AuroraMySQL.PasswordPolicies.md)」を参照してください。

Aurora MySQL バージョン 8.4 では、以下の変更不可能なインスタンスレベルの `validate_password` プラグインパラメータが削除されます。
+ `validate-password`
+ `validate_password_dictionary_file`
+ `validate_password_length`
+ `validate_password_mixed_case_count`
+ `validate_password_number_count`
+ `validate_password_policy`
+ `validate_password_special_char_count`

詳細については、「[Aurora MySQL 設定パラメータ](AuroraMySQL.Reference.ParameterGroups.md)」を参照してください。

### パスワードポリシー
<a name="AuroraMySQL.Compare-v3-v84.password-policies"></a>

**Aurora MySQL バージョン 8.4** では、新しいクラスターパラメータによる包括的なパスワードポリシーのサポートが追加されています。
+ `default_password_lifetime`
+ `password_history`
+ `password_reuse_interval`
+ `password_require_current`
+ `disconnect_on_expired_password`

これらのパラメータは、アカウントごとのパスワードポリシーと連携して、きめ細かな制御を実現します。詳細については、「[Aurora MySQL のパスワードポリシーとパスワード検証](AuroraMySQL.PasswordPolicies.md)」を参照してください。

## パラメータのデフォルトの変更
<a name="AuroraMySQL.Compare-v3-v84.parameters"></a>

### temptable\_max\_mmap
<a name="AuroraMySQL.Compare-v3-v84.temptable-max-mmap"></a>

**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 設定パラメータ](AuroraMySQL.Reference.ParameterGroups.md)」を参照してください。

## 権限とロール
<a name="AuroraMySQL.Compare-v3-v84.privileges"></a>

### 新しい動的権限
<a name="AuroraMySQL.Compare-v3-v84.new-privileges"></a>

**Aurora MySQL バージョン 8.4** では、`rds_superuser_role` に付与される新しい権限がサポートされています。
+ `ALLOW_NONEXISTENT_DEFINER`
+ `FLUSH_PRIVILEGES`
+ `OPTIMIZE_LOCAL_TABLE`
+ `SET_ANY_DEFINER`

`SET_USER_ID` 権限は、`ALLOW_NONEXISTENT_DEFINER` および `SET_ANY_DEFINER` に置き換えられたため、削除されました。

詳細については、「[マスターユーザーアカウント権限](UsingWithRDS.MasterAccounts.md)」を参照してください。

### マスターユーザーの動作
<a name="AuroraMySQL.Compare-v3-v84.master-user"></a>

**Aurora MySQL バージョン 3:** マスターユーザーは、デフォルトでパスワードベースの認証に `mysql_native_password` 認証プラグインを使用します。

**Aurora MySQL バージョン 8.4:** マスターユーザー認証プラグインは、`authentication_policy` クラスターパラメータで定義されたデフォルト値 (デフォルトでは `caching_sha2_password` プラグイン) に設定されます。

マスターユーザーのパスワードを AWS マネジメントコンソール、CLI、API、または AWS Secrets Manager のローテーションでリセットすると、Aurora はリセット時に現在の `authentication_policy` パラメータ値で定義された認証プラグインを自動的に使用します。

### `rdsproxyadmin` に対する保護ユーザーの適用
<a name="AuroraMySQL.Compare-v3-v84.reserved-users"></a>

**Aurora MySQL バージョン 3:** `rdsproxyadmin` は RDS Proxy の予約済みユーザー名です。ただし、エンジンは、その名前のデータベースユーザーを作成、変更、または削除することを防止しません。

**Aurora MySQL バージョン 8.4 (8.4.7 以降):** `rdsproxyadmin` は保護されたユーザーです。エンジンは、どのホストにおいても、`rdsproxyadmin` に対する `CREATE`、`DROP`、`RENAME`、`GRANT`、`REVOKE`、および `SET PASSWORD` オペレーションを拒否します。拒否されるオペレーションの完全なリストとエラーの例については、「[Aurora MySQL の予約済みユーザー](AuroraMySQL.Security.md#AuroraMySQL.Security.ReservedUsers)」を参照してください。

バージョン 3 クラスターで `rdsproxyadmin` ユーザーを作成した場合は、アップグレード前のガイダンスとして「[`rdsproxyadmin` に対する保護ユーザーの適用](AuroraMySQL.Upgrade-v3-v84-security.md#AuroraMySQL.Upgrade-v3-v84-security.rdsproxyadmin)」を参照してください。