DB 인스턴스를 자체 관리형 Active Directory에 조인
RDS for SQL Server DB 인스턴스를 자체 관리형 AD에 조인하려면 다음 단계를 따르세요.
1단계: SQL Server DB 인스턴스 생성 또는 수정
콘솔, CLI 또는 RDS API를 사용하여 RDS for SQL Server DB 인스턴스를 자체 관리형 AD 도메인에 연결할 수 있습니다. 이 작업을 다음 중 한 가지 방법으로 수행할 수 있습니다.
-
콘솔, create-db-instance CLI 명령 또는 CreateDBInstance RDS API 작업을 사용하여 새 SQL Server DB 인스턴스를 생성합니다.
지침은 Amazon RDS DB 인스턴스 생성 섹션을 참조하세요.
-
콘솔, modify-db-instance CLI 명령 또는 ModifyDBInstance RDS API 작업을 사용하여 기존 SQL Server DB 인스턴스를 수정합니다.
지침은 Amazon RDS DB 인스턴스 수정 섹션을 참조하세요.
-
콘솔, restore-db-instance-from-db-snapshot CLI 명령 또는 RestoreDBInstanceFromDBSnapshot RDS API 작업을 사용하여 DB 스냅샷에서 SQL Server DB 인스턴스를 복원합니다.
지침은 DB 인스턴스 복원 섹션을 참조하세요.
-
콘솔, restore-db-instance-to-point-in-time CLI 명령 또는 RestoreDBInstanceToPointInTime RDS API 작업을 사용하여 SQL Server DB 인스턴스를 특정 시점으로 복구합니다.
지침은 Amazon RDS에서 DB 인스턴스를 지정된 시간으로 복원 섹션을 참조하세요.
AWS CLI를 사용하는 경우 DB 인스턴스가 생성한 자체 관리형 AD 도메인을 사용하려면 다음과 같은 파라미터가 필요합니다.
-
--domain-fqdn파라미터에는 자체 관리형 AD의 정규화된 도메인 이름(FQDN)을 사용합니다. -
--domain-ou파라미터에는 자체 관리형 AD에서 만든 OU를 사용합니다. -
--domain-auth-secret-arn파라미터에는 이전 단계에서 생성한 보안 암호 ARN의 값을 사용합니다. -
--domain-dns-ips파라미터에는 자체 관리형 AD용 DNS 서버의 프라이머리 및 보조 IPv4 주소를 사용합니다. 보조 DNS 서버 IP 주소가 없는 경우 프라이머리 IP 주소를 2번 입력합니다.
다음 예제 CLI 명령은 자체 관리형 AD 도메인이 있는 RDS for SQL Server DB 인스턴스를 생성, 수정 및 제거하는 방법을 보여줍니다.
중요
자체 관리형 AD 도메인에 가입하거나 자체 관리형 AD 도메인에서 제거하도록 DB 인스턴스를 수정한 경우 변경 사항이 적용되려면 DB 인스턴스를 재부팅해야 합니다. 변경 사항을 즉시 적용하거나 다음 유지 관리 기간까지 기다릴 수 있습니다. 즉시 적용 옵션을 선택하면 단일 AZ DB 인스턴스에 가동 중단이 발생합니다. 다중 AZ DB 인스턴스는 재부팅을 완료하기 전에 장애 조치를 수행합니다. 자세한 내용은 수정 예약 설정 사용 섹션을 참조하세요.
다음 CLI 명령은 새 RDS for SQL Server DB 인스턴스를 만들어 자체 관리형 AD 도메인에 가입시킵니다.
대상 LinuxmacOS, 또는Unix:
aws rds create-db-instance \ --db-instance-identifiermy-DB-instance\ --db-instance-classdb.m5.xlarge\ --allocated-storage50\ --enginesqlserver-se\ --engine-version15.00.4043.16.v1\ --license-modellicense-included\ --master-usernamemy-master-username\ --master-user-passwordmy-master-password\ --domain-fqdnmy_AD_domain.my_AD.my_domain\ --domain-ouOU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain\ --domain-auth-secret-arn"arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456"\ --domain-dns-ips"10.11.12.13" "10.11.12.14"
Windows의 경우:
aws rds create-db-instance ^ --db-instance-identifiermy-DB-instance^ --db-instance-classdb.m5.xlarge^ --allocated-storage50^ --enginesqlserver-se^ --engine-version15.00.4043.16.v1^ --license-modellicense-included^ --master-usernamemy-master-username^ --master-user-passwordmy-master-password^ --domain-fqdnmy-AD-test.my-AD.mydomain^ --domain-ouOU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain^ --domain-auth-secret-arn"arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456" \^ --domain-dns-ips"10.11.12.13" "10.11.12.14"
다음 CLI 명령은 자체 관리형 AD 도메인을 사용하도록 기존 RDS for SQL Server DB 인스턴스를 수정합니다.
대상 LinuxmacOS, 또는Unix:
aws rds modify-db-instance \ --db-instance-identifiermy-DB-instance\ --domain-fqdnmy_AD_domain.my_AD.my_domain\ --domain-ouOU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain\ --domain-auth-secret-arn"arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456"\ --domain-dns-ips"10.11.12.13" "10.11.12.14"
Windows의 경우:
aws rds modify-db-instance ^ --db-instance-identifiermy-DBinstance^ --domain-fqdnmy_AD_domain.my_AD.my_domain^ --domain-ouOU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain^ --domain-auth-secret-arn"arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456"^ --domain-dns-ips"10.11.12.13" "10.11.12.14"
다음 CLI 명령은 자체 관리형 AD 도메인에서 RDS for SQL Server DB 인스턴스를 제거합니다.
대상 LinuxmacOS, 또는Unix:
aws rds modify-db-instance \ --db-instance-identifiermy-DB-instance\ --disable-domain
Windows의 경우:
aws rds modify-db-instance ^ --db-instance-identifiermy-DB-instance^ --disable-domain
2단계: Kerberos 또는 NTLM 인증 사용
NTLM 인증
각 Amazon RDS DB 인스턴스에는 엔드포인트가 있으며, 각 엔드포인트에는 DB 인스턴스의 DNS 이름과 포트 번호가 있습니다. SQL 클라이언트 애플리케이션을 사용해 DB 인스턴스에 연결하려면 DB 인스턴스에 연결할 수 있는 DNS 이름과 포트 번호가 필요합니다. NTLM 인증을 사용하여 인증하려면 다중 AZ 배포를 사용하는 경우 RDS 엔드포인트 또는 리스너 엔드포인트에 연결해야 합니다.
계획된 데이터베이스 유지 관리 또는 예기치 않은 서비스 중단이 발생할 경우 Amazon RDS가 최신 보조 데이터베이스로 자동으로 장애 조치를 수행하므로 수동 개입 없이 작업을 빠르게 재개할 수 있습니다. 기본 인스턴스 및 보조 인스턴스는 동일한 엔드포인트를 사용합니다. 이 엔드포인트의 물리적 네트워크 주소는 장애 조치 프로세스의 일환으로 보조로 전환됩니다. 장애 조치가 발생하는 경우 애플리케이션을 다시 구성할 필요가 없습니다.
Kerberos 인증
RDS for SQL Server에 대한 Kerberos 기반 인증을 수행하려면 특정 서비스 위탁자 이름(SPN)에 연결해야 합니다. 그러나 장애 조치 이벤트 후 애플리케이션이 새 SPN을 인식하지 못할 수 있습니다. 이를 해결하기 위해 RDS for SQL Server는 Kerberos 기반 엔드포인트를 제공합니다.
Kerberos 기반 엔드포인트는 특정 형식을 따릅니다. RDS 엔드포인트가 인 경우 해당 Kerberos 기반 엔드포인트는 rds-instance-name.account-region-hash.aws-region.rds.amazonaws.com입니다.rds-instance-name.account-region-hash.aws-region.awsrds.fully qualified domain name (FQDN)
예를 들어 RDS 엔드포인트가 ad-test.cocv6zwtircu.us-east-1.rds.amazonaws.com이고 도메인 이름이 corp-ad.company.com인 경우 Kerberos 기반 엔드포인트는 ad-test.cocv6zwtircu.us-east-1.awsrds.corp-ad.company.com입니다.
이 Kerberos 기반 엔드포인트는 기본 SQL Server 인스턴스의 새 SPN을 가리키도록 엔드포인트가 자동으로 업데이트되므로 장애 조치 이벤트 후에도 Kerberos를 사용하여 SQL Server 인스턴스로 인증하는 데 사용할 수 있습니다.
CNAME 찾기
CNAME를 찾으려면 도메인 컨트롤러에 연결하고 DNS Manager를 엽니다. 정방향 조회 영역 및 FQDN으로 이동합니다.
awsrds, aws-region, 계정 및 리전별 해시를 탐색합니다.
원격 클라이언트에서 CNAME를 연결한 후 NTLM 연결이 반환되면 필요한 포트가 허용 목록에 있는지 확인합니다.
연결에서 Kerberos를 사용 중인지 확인하려면 다음 쿼리를 실행합니다.
SELECT net_transport, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SSPID;
Kerberos 엔드포인트에 연결할 때 인스턴스가 NTLM 연결을 반환하는 경우 네트워크 구성 및 사용자 구성을 확인합니다. 네트워크 연결 구성을(를) 참조하세요.
3단계: Windows 인증 SQL Server 로그인 생성
다른 DB 인스턴스의 경우와 같은 방법으로 Amazon RDS 마스터 사용자 보안 인증 정보를 사용하여 SQL Server DB 인스턴스에 연결합니다. DB 인스턴스는 자체 관리형 AD 도메인에 가입되므로 SQL Server 로그인 및 사용자를 프로비저닝할 수 있습니다. 이 작업은 자체 관리형 AD 도메인의 AD 사용자 및 그룹 유틸리티에서 수행합니다. 데이터베이스 권한은 이러한 Windows 로그인에 부여되거나 취소되는 표준 SQL Server 권한을 통해 관리됩니다.
자체 관리형 AD 도메인 서비스 계정이 SQL 서버를 사용하여 인증하려면 자체 관리형 AD 도메인 서비스 계정 또는 사용자가 구성원인 자체 관리형 AD 그룹에 대한 SQL Server Windows 로그인이 있어야 합니다. 세분화된 액세스 제어는 이러한 SQL Server 로그인에 대한 권한을 부여하거나 취소하여 처리합니다. SQL Server 로그인이 없거나 이러한 로그인이 있는 자체 관리형 AD 그룹에 속하지 않은 자체 관리형 AD 도메인 서비스 계정은 SQL Server DB 인스턴스에 액세스할 수 없습니다.
자체 관리형 AD SQL Server 로그인을 생성하려면 ALTER ANY LOGIN 권한이 필요합니다. 이 권한으로 로그인을 생성하지 않은 경우 SQL Server 인증을 사용하여 DB 인스턴스의 마스터 사용자로 연결하고 마스터 사용자의 맥락에서 자체 관리형 AD SQL Server 로그인을 생성합니다.
다음과 같은 데이터 정의 언어(DDL) 명령을 실행하여 자체 관리형 AD 도메인 서비스 계정 또는 그룹에 대한 SQL Server 로그인을 생성할 수 있습니다.
참고
Windows 2000 이전 로그인 이름을 사용하여 사용자 및 그룹을 형식으로 지정합니다. UPN(User Principle Name)을 my_AD_domain\my_AD_domain_usermy_AD_domain_user@ 형식으로 사용할 수 없습니다.my_AD_domain
USE [master] GO CREATE LOGIN [my_AD_domain\my_AD_domain_user] FROM WINDOWS WITH DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english]; GO
자세한 내용은 Microsoft Developer Network 설명서에서 CREATE LOGIN(Transact-SQL)
도메인의 사용자(사람 및 애플리케이션)는 이제 Windows 인증을 사용하여 자체 관리형 AD 도메인이 연결된 클라이언트 컴퓨터의 RDS for SQL Server 인스턴스에 연결할 수 있습니다.