

# 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` 파라미터에 1GiB(`1073741824`)의 고정 기본값을 사용합니다.

**Aurora MySQL 버전 8.4.7 이상**은 클러스터의 할당된 스토리지를 기반으로 기본값을 동적으로 계산합니다. 공식은 다음과 같습니다.

```
LEAST(4294967296, {AllocatedStorage*3/100})
```

이렇게 하면 기본값이 할당된 스토리지의 3%로 설정되고 최대 4GiB로 제한됩니다. 기본값은 경계를 유지하면서 스토리지 용량에 따라 확장되므로 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 Management Console, 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) 섹션을 참조하세요.