Aurora MySQL에 Kerberos 인증 사용 - Amazon Aurora

Aurora MySQL에 Kerberos 인증 사용

사용자가 Aurora MySQL DB 클러스터에 접속하려고 할 때 Kerberos 인증을 사용하여 사용자를 인증할 수 있습니다. 이를 위해서는 Kerberos 인증을 위한 AWS Directory Service for Microsoft Active Directory를 사용하도록 DB 클러스터를 구성해야 합니다. AWS Directory Service for Microsoft Active Directory는 AWS Managed Microsoft AD라고도 불립니다. AWS Directory Service에서 사용할 수 있는 기능입니다. 자세한 내용은 AWS Directory Service 관리 가이드AWS Directory Service란 무엇입니까?를 참조하세요.

시작하려면 사용자 자격 증명을 저장할 AWS Managed Microsoft AD 디렉터리를 만듭니다. 그런 다음 Aurora MySQL DB 클러스터에 Active Directory의 도메인 및 기타 정보를 제공합니다. Aurora MySQL DB 클러스터에 대해 사용자가 인증될 때 AWS Managed Microsoft AD 디렉터리에 인증 요청이 전달됩니다.

모든 자격 증명을 동일한 디렉터리에 보관하면 시간과 노력을 절약할 수 있습니다. 이 접근 방식의 경우, 여러 DB 클러스터에 대한 자격 증명을 보관하고 관리할 수 있는 중앙 집중식 공간이 있습니다. 디렉터리를 사용하면 전체 보안 프로필을 향상할 수도 있습니다.

자체 온프레미스 Microsoft Active Directory에서 자격 증명에 액세스할 수도 있습니다. 이렇게 하려면 AWS Managed Microsoft AD 디렉터리가 온프레미스 Microsoft Active Directory를 신뢰하도록 신뢰 도메인 관계를 만듭니다. 그러면 사용자가 온프레미스 네트워크에서 워크로드에 액세스할 때와 동일한 Windows SSO(Single Sign-On) 환경을 사용하여 Aurora MySQL DB 클러스터에 액세스할 수 있습니다.

데이터베이스는 Kerberos 또는 AWS Identity and Access Management(IAM) 인증을 사용하거나, Kerberos 인증과 IAM 인증을 모두 사용할 수 있습니다. 하지만 Kerberos 및 IAM 인증은 서로 다른 인증 방법을 제공하므로, 특정 사용자는 두 가지 인증 방법 중 하나만 사용하여 데이터베이스에 로그인해야 하며 둘 다 사용할 수는 없습니다. IAM 인증에 관한 자세한 내용은 IAM 데이터베이스 인증 단원을 참조하십시오.

Aurora MySQL DB 클러스터에 대한 Kerberos 인증 개요

Aurora MySQL DB 클러스터에 대해 Kerberos 인증을 설정하려면 아래의 일반 단계를 완료합니다. 이러한 단계는 다음에 자세히 설명되어 있습니다.

  1. AWS Managed Microsoft AD를 사용하여 AWS Managed Microsoft AD 디렉터리를 생성합니다. AWS Management Console, AWS CLI 또는 AWS Directory Service를 사용하여 디렉터리를 생성할 수 있습니다. 자세한 내용은 AWS Directory Service 관리 가이드AWS Managed Microsoft AD 디렉터리 생성을 참조하세요.

  2. 관리형 IAM 정책 AmazonRDSDirectoryServiceAccess를 사용하는 AWS Identity and Access Management(IAM) 역할을 생성합니다. 이 역할을 사용하여 Amazon Aurora에서 디렉터리를 호출할 수 있습니다.

    역할이 액세스를 허용하려면 AWS 리전에서 AWS 계정의 AWS Security Token Service(AWS STS) 엔드포인트를 활성화해야 합니다. AWS STS 엔드포인트는 기본적으로 모든 AWS 리전에서 활성화되어 있으므로 별도의 조치 없이 사용할 수 있습니다. 자세한 내용은 IAM 사용 설명서AWS 리전에서 AWS STS 활성화 및 비활성화를 참조하세요.

  3. Microsoft Active Directory 도구를 사용하여 AWS Managed Microsoft AD 디렉터리에서 사용자를 만들고 구성합니다. Active Directory에서 사용자를 생성하는 방법에 대한 자세한 내용은 AWS Directory Service 관리 안내서AWS 관리형 Microsoft AD에서 사용자 및 그룹 관리를 참조하세요.

  4. Aurora MySQL DB 클러스터를 생성하거나 수정합니다. 생성 요청에 CLI 또는 RDS API를 사용하는 경우 Domain 파라미터를 사용해 도메인 식별자를 지정합니다. 디렉터리를 만들 때 생성된 d-* 식별자와 생성한 IAM 역할의 이름을 사용합니다.

    Kerberos 인증을 사용하도록 기존 Aurora MySQL DB 클러스터를 수정하는 경우 DB 클러스터에 대해 도메인 및 IAM 역할 파라미터를 설정합니다. 도메인 디렉터리와 동일한 VPC에서 DB 클러스터를 찾습니다.

  5. Amazon RDS 기본 사용자 자격 증명을 사용하여 Aurora MySQL DB 클러스터에 연결합니다. 6단계: Kerberos 인증을 사용하는 Aurora MySQL 사용자 생성의 지침에 따라 Aurora MySQL 내에 데이터베이스 사용자를 생성합니다.

    이 방법으로 생성한 사용자는 Kerberos 인증을 사용하여 Aurora MySQL DB 클러스터에 로그인할 수 있습니다. 자세한 내용은 Kerberos 인증을 사용하여 Aurora MySQL에 연결 섹션을 참조하세요.

온프레미스 또는 자체 호스팅된 Microsoft Active Directory로 Kerberos 인증을 사용하려면 포리스트 트러스트를 생성합니다. 포리스트 트러스트는 두 도메인 그룹 간의 트러스트 관계입니다. 단방향 또는 양방향 트러스트가 가능합니다. AWS Directory Service를 사용하여 포리스트 신뢰를 설정하는 방법에 대한 자세한 내용은 AWS Directory Service 관리 안내서신뢰 관계를 생성해야 하는 경우를 참조하세요.

Aurora MySQL에 대한 Kerberos 인증의 제한 사항

Aurora MySQL에 대한 Kerberos 인증에는 다음과 같은 제한 사항이 적용됩니다.

  • Kerberos 인증은 Aurora MySQL 버전 3.03 이상에서 지원됩니다.

    AWS 리전 지원에 대한 자세한 내용은 Aurora MySQL을 사용하는 Kerberos 인증 단원을 참조하세요.

  • Aurora MySQL에서 Kerberos 인증을 사용하려면 MySQL 클라이언트 또는 커넥터가 Unix 플랫폼에서는 버전 8.0.26 이상, Windows에서는 8.0.27 이상을 사용해야 합니다. 그렇지 않으면 클라이언트 측authentication_kerberos_client 플러그인을 사용할 수 없으며 인증할 수 없습니다.

  • AWS Managed Microsoft AD는 Aurora MySQL에서만 지원됩니다. 하지만 Aurora MySQL DB 클러스터에 조인하여 동일한 AWS 리전의 서로 다른 계정이 소유한 Managed Microsoft AD 도메인을 공유할 수 있습니다.

    자체 온프레미스 Active Directory를 사용할 수도 있습니다. 자세한 정보는 2단계: (선택 사항) 온프레미스 Active Directory에 대한 신뢰 생성 섹션을 참조하세요.

  • Kerberos를 사용하여 MySQL 클라이언트나 Windows 운영 체제의 드라이버에서 Aurora MySQL 클러스터에 연결하는 사용자를 인증하려는 경우, 기본적으로 데이터베이스 사용자 이름의 대소문자가 Active Directory에 있는 사용자의 대소문자와 일치해야 합니다. 예를 들어 Active Directory의 사용자가 Admin으로 표시될 경우 데이터베이스 사용자 이름도 Admin이어야 합니다.

    하지만 이제 authentication_kerberos 플러그인으로 대소문자를 구분하지 않는 사용자 이름 비교를 사용할 수 있습니다. 자세한 내용은 8단계: (선택 사항) 대소문자를 구분하지 않는 사용자 이름 비교 구성 섹션을 참조하세요.

  • 기능을 켠 후에는 리더 DB 인스턴스를 재부팅하여 authentication_kerberos 플러그인을 설치해야 합니다.

  • authentication_kerberos 플러그인을 지원하지 않는 DB 인스턴스로 복제할 경우 복제가 실패할 수 있습니다.

  • Aurora 글로벌 데이터베이스에서 Kerberos 인증을 사용하려면 글로벌 데이터베이스의 모든 DB 클러스터에 대해 인증을 구성해야 합니다.

  • 도메인 이름은 62자 미만이어야 합니다.

  • Kerberos 인증을 켠 후에 DB 클러스터 포트를 수정하면 안 됩니다. 포트를 수정하면 Kerberos 인증이 더 이상 작동하지 않습니다.