Kerberos 인증을 사용하여 Aurora MySQL에 연결 - Amazon Aurora

Kerberos 인증을 사용하여 Aurora MySQL에 연결

오류를 방지하려면 Unix 플랫폼에서는 버전 8.0.26 이상, Windows에서는 8.0.27 이상의 MySQL 클라이언트를 사용합니다.

Aurora MySQL Kerberos 로그인을 사용하여 DB 클러스터에 연결

Kerberos 인증을 사용하여 Aurora MySQL에 연결하려면 6단계: Kerberos 인증을 사용하는 Aurora MySQL 사용자 생성의 지침에 따라 생성한 데이터베이스 사용자로 로그인해야 합니다.

명령 프롬프트에서 Aurora MySQL DB 클러스터와 연결된 엔드포인트 중 하나에 연결합니다. 암호를 입력하라는 메시지가 표시되면 해당 사용자 이름과 연결된 Kerberos 암호를 입력합니다.

Kerberos로 인증할 때 티켓 부여 티켓(TGT)이 없으면 새로 생성됩니다. authentication_kerberos 플러그인은 TGT를 사용하여 서비스 티켓을 가져오고, 이 티켓은 Aurora MySQL 데이터베이스 서버에 제공됩니다.

MySQL 클라이언트를 사용하면 Windows 또는 Unix를 사용하는 Kerberos 인증을 통해 Aurora MySQL에 연결할 수 있습니다.

다음 방법 중 하나를 사용하여 연결할 수 있습니다.

  • TGT를 수동으로 가져옵니다. 이 경우 암호를 MySQL 클라이언트에 제공할 필요가 없습니다.

  • Active Directory 로그인을 위한 암호를 MySQL 클라이언트에 직접 입력합니다.

클라이언트 측 플러그인은 MySQL 클라이언트 버전 8.0.26 이상을 위한 Unix 플랫폼에서 지원됩니다.

TGT를 수동으로 가져와서 연결하려면
  1. 명령줄 인터페이스에서 다음 명령을 사용하여 TGT를 가져옵니다.

    kinit user_name
  2. 다음 mysql 명령을 사용하여 DB 클러스터의 DB 인스턴스 엔드포인트에 로그인합니다.

    mysql -h DB_instance_endpoint -P 3306 -u user_name -p
    참고

    DB 인스턴스에서 keytab을 교체하면 인증이 실패할 수 있습니다. 이 경우 kinit를 다시 실행하여 새 TGT를 가져옵니다.

직접 연결하려면
  1. 명령줄 인터페이스에서 다음mysql 명령을 사용하여 DB 클러스터의 DB 인스턴스 엔드포인트에 로그인합니다.

    mysql -h DB_instance_endpoint -P 3306 -u user_name -p
  2. Active Directory 사용자용 암호를 입력합니다.

Windows에서는 일반적으로 로그인 시 인증이 수행되므로 Aurora MySQL DB 클러스터에 연결하기 위해 TGT를 수동으로 가져올 필요가 없습니다. 데이터베이스 사용자 이름의 대소문자는 Active Directory에 있는 사용자 이름의 대소문자와 일치해야 합니다. 예를 들어 Active Directory의 사용자가 Admin으로 표시될 경우 데이터베이스 사용자 이름도 Admin이어야 합니다.

클라이언트 측 플러그인은 MySQL 클라이언트 버전 8.0.27 이상을 위한 Windows 플랫폼에서 지원됩니다.

직접 연결하려면
  • 명령줄 인터페이스에서 다음mysql 명령을 사용하여 DB 클러스터의 DB 인스턴스 엔드포인트에 로그인합니다.

    mysql -h DB_instance_endpoint -P 3306 -u user_name

Aurora를 글로벌 데이터베이스를 사용하는 Kerberos 인증

Aurora MySQL에 대한 Kerberos 인증이 Aurora 글로벌 데이터베이스에 대해 지원됩니다. 기본 DB 클러스터의 Active Directory를 사용하여 보조 DB 클러스터의 사용자를 인증하려면 Active Directory를 보조 AWS 리전에 복제합니다. 기본 클러스터와 동일한 도메인 ID를 사용하여 보조 클러스터에서 Kerberos 인증을 설정합니다. AWS Managed Microsoft AD 복제는 Active Directory의 Enterprise 버전에서만 지원됩니다. 자세한 내용은 AWS Directory Service 관리 안내서다중 리전 복제를 참조하세요.

RDS for MySQL에서 Aurora MySQL로 마이그레이션

Kerberos 인증을 활성화한 상태에서 RDS for MySQL에서 Aurora MySQL로 마이그레이션한 후에는 auth_pam 플러그인을 사용하여 생성된 사용자가 authentication_kerberos 플러그인을 사용하도록 수정합니다. 예시:

ALTER USER user_name IDENTIFIED WITH 'authentication_kerberos' BY 'realm_name';

티켓 캐싱 방지

MySQL 클라이언트 애플리케이션이 시작될 때 유효한 TGT가 존재하지 않을 경우 애플리케이션은 TGT를 가져와 캐시할 수 있습니다. TGT가 캐시되는 것을 방지하려면 /etc/krb5.conf 파일에 구성 파라미터를 설정합니다.

참고

이 구성은 Windows가 아닌 Unix를 실행하는 클라이언트 호스트에만 적용됩니다.

TGT 캐싱을 방지하려면
  • 다음과 같이 [appdefaults] 섹션을 /etc/krb5.conf에 추가합니다.

    [appdefaults] mysql = { destroy_tickets = true }

Kerberos 인증에 대한 로깅

AUTHENTICATION_KERBEROS_CLIENT_LOG 환경 변수는 Kerberos 인증의 로깅 수준을 설정합니다. 로그를 클라이언트 측 디버깅에 사용할 수 있습니다.

허용되는 값은 1~5입니다. 로그 메시지는 표준 오류 출력에 기록됩니다. 다음 표에는 각 로깅 수준이 설명되어 있습니다.

로깅 수준 설명
1 또는 설정되지 않음 로깅 없음
2 오류 메시지
3 오류 및 경고 메시지
4 오류, 경고, 정보 메시지
5 오류, 경고, 정보, 디버그 메시지