SQL OLTP용 Kerberos 인증(SharePoint Server 2010)
적용 대상: SharePoint Server 2010
마지막으로 수정된 항목: 2016-11-30
이 시나리오에서는 예제 환경의 SQL Server 클러스터에 대해 Kerberos 인증을 구성하는 과정을 단계별로 수행합니다. 해당 프로세스를 완료한 후에는 Kerberos 프로토콜을 사용하여 SharePoint Server 서비스가 클러스터에 인증되는지 유효성을 검사합니다.
이 시나리오에서는 다음 작업을 수행합니다.
Kerberos 인증을 사용하도록 기존 SQL Server 2008 R2 클러스터 구성
Kerberos 인증을 사용하여 클라이언트가 클러스터에 인증할 수 있는지 확인
이후 시나리오에 사용할 테스트 데이터베이스 및 예제 데이터 만들기
참고
SQL Server에서 플랫폼 데이터베이스에 대한 연결 등의 핵심 SharePoint Server 데이터 서비스에 대해 반드시 Kerberos 인증을 사용할 필요는 없습니다. 예제 환경에는 이후 시나리오에서 사용할 추가 예제 데이터베이스를 호스팅하는 SQL Server 클러스터가 하나 있습니다. 이러한 시나리오에서 위임이 제대로 작동하도록 하려면 SQL Server 클러스터에서 Kerberos 인증 연결을 허용해야 합니다.
참고
Windows Server 2008에 설치하는 경우에는 Kerberos 인증을 위해 다음 핫픽스를 설치해야 할 수 있습니다.
AES 알고리즘을 사용하는 경우 Windows Server 2008 또는 Windows Vista를 실행하는 컴퓨터에서 Kerberos 인증이 실패하고 오류 코드 0X80090302 또는 0x8009030f가 표시됩니다.(https://support.microsoft.com/kb/969083/ko-kr)
구성 검사 목록
구성 영역 | 설명 |
---|---|
DNS 구성 |
SQL Server 클러스터 IP용으로 DNS(A) 호스트 레코드를 만듭니다. |
Active Directory 구성 |
SQL Server 서비스용으로 SPN(서비스 사용자 이름)을 만듭니다. |
SQL Server Kerberos 구성 확인 |
SQL Server Management Studio를 사용하여 SQL 연결 메타데이터를 쿼리해 Kerberos 인증 프로토콜이 사용되는지 확인합니다. |
시나리오 환경 세부 정보
이 시나리오에서는 Kerberos 인증을 사용하도록 구성된 SQL Server 클러스터에 연결하는 데 SQL 별칭을 사용하도록 구성된 SharePoint Server 팜을 보여 줍니다.
단계별 구성 지침
DNS 구성
환경의 SQL Server 클러스터용 DNS를 구성합니다. 이 예제에서는 클러스터 IP 192.168.8.135/4, 포트 1433에서 실행되는 MySqlCluster.vmlab.local이라는 SQL Server 클러스터 하나를 사용합니다. 이 클러스터는 첫 번째 노드의 기본 인스턴스에서 SQL Server 데이터베이스 엔진이 실행되는 액티브/패시브 클러스터입니다.
DNS를 구성하는 방법에 대한 일반 정보는 DNS 레코드 관리(영문일 수 있음)를 참조하십시오.
이 예제에서는 SQL Server 클러스터용으로 DNS(A) 레코드를 구성했습니다.
참고
기술적으로 동일한 컴퓨터에서 두 번째 이름이 지정된 인스턴스를 사용하는 경우 SQL Server SPN에 인스턴스 이름이 포함되므로, 클러스터의 DNS 호스트를 CNAME 별칭으로 등록하면 부록 A Kerberos 구성 관련 알려진 문제(SharePoint Server 2010)에서 설명하는 CNAME 문제를 방지할 수 있습니다. 그러나 CNAME을 사용하도록 선택하는 경우에는 CNAME 별칭으로 DNS(A) 레코드 호스트 이름을 사용하여 SPN을 등록해야 합니다.
Active Directory 구성
SQL Server가 Kerberos 인증을 통해 클라이언트에 인증하려면 SQL Server를 실행하는 서비스 계정에 대해 SPN(서비스 사용자 이름)을 등록해야 합니다. SQL Server 데이터베이스 엔진의 서비스 사용자 이름은 SQL Server 명명된 인스턴스가 아닌 기본 인스턴스를 사용하는 구성에 대해 다음 형식을 사용합니다.
MSSQLSvc/<FQDN>:포트
SQL Server 2008용으로 SPN을 등록하는 방법에 대한 자세한 내용은 서비스 사용자 이름 등록을 참조하십시오.
이 예제에서는 다음 SetSPN 명령을 사용하여 SQL Server 데이터베이스 엔진 서비스 계정(vmlab\svcSQL)에 대해 SQL Server SPN을 구성했습니다.
SetSPN -S MSSQLSVC/MySQLCluster.vmlab.local:1433 vmlab\svcSQL
SQL Server 명명된 인스턴스
기본 인스턴스가 아닌 SQL Server 명명된 인스턴스를 사용하는 경우에는 SQL Server 인스턴스와 관련된 SPN을 SQL Server Browser 서비스용으로 등록해야 합니다. 이름 인스턴스에 대해 Kerberos 인증을 구성하는 방법에 대한 자세한 내용은 아래 문서를 참조하십시오.
SQL 별칭
팜을 작성할 때는 SQL Server 컴퓨터에 대한 연결에 SQL 별칭 사용을 고려하는 것이 좋습니다. SQL 별칭을 사용하도록 선택하는 경우 해당 연결의 Kerberos SPN 형식이 변경되지 않습니다. 즉, SQL Server용 SPN에서 등록된 DNS 호스트 이름(A 레코드)을 계속 사용할 수 있습니다. 예를 들어 "MySQLCluster.vmlab.local"에 대해 별칭 "SPFARMSQL"을 등록하면 SPFarmSQL에 연결할 때의 SPN이 "MSSQLSVC/MySQLCluster.vmlab.local:1433"으로 유지됩니다.
SQL Server Kerberos 구성 확인
DNS 및 서비스 사용자 이름을 구성하고 나면 SharePoint Server를 실행하는 컴퓨터를 다시 부팅하여 SharePoint Server 서비스가 Kerberos 인증을 사용하여 SQL Server에 인증하는지를 확인할 수 있습니다.
클러스터 구성을 확인하려면
SharePoint Server를 실행하는 컴퓨터를 다시 부팅합니다. 이 작업을 수행하면 모든 서비스가 다시 시작되며 Kerberos 인증을 사용해 다시 연결하여 다시 인증을 받도록 합니다.
SQL Server Management Studio를 열고 다음 쿼리를 실행합니다.
Select s.session_id, s.login_name, s.host_name, c.auth_scheme from sys.dm_exec_connections c inner join sys.dm_exec_sessions s on c.session_id = s.session_id
이 쿼리는 각 세션 및 연결에 대한 메타데이터를 반환합니다. 세션 데이터를 통해 연결 원본을 파악할 수 있으며, 세션 정보에서는 연결의 인증 체계를 확인할 수 있습니다.
SharePoint Server 서비스가 Kerberos 인증을 사용하여 인증하는지를 확인합니다. Kerberos 인증이 올바르게 구성되어 있으면 쿼리 결과의 auth_scheme 열에 Kerberos가 표시됩니다.
테스트 SQL Server 데이터베이스 및 테스트 테이블 만들기
이 문서에 나와 있는 시나리오에서 다루는 다양한 SharePoint Server 서비스 응용 프로그램의 위임을 테스트하려면 해당 서비스에서 액세스할 테스트 데이터 원본을 구성해야 합니다. 이 시나리오의 마지막 단계에서는 나중에 사용할 "Test"라는 테스트 데이터베이스와 "Sales"라는 테스트 테이블을 구성합니다.
SQL Server Management Studio에서 "Test"라는 새 데이터베이스를 만듭니다. 이 데이터베이스를 만들 때는 기본 설정을 유지하십시오.
테스트 데이터베이스에서 다음 스키마를 사용하여 새 테이블을 만듭니다.
열 이름 데이터 형식 Null 허용 Region
nvarchar(10)
아니요
Year
nvarchar(4)
아니요
Amount
money
아니요
RowId
int
아니요
이름을 "Sales"로 지정하여 테이블을 저장합니다.
Management Studio에서 테이블에 테스트 데이터를 채웁니다. 데이터 자체는 어떤 내용이든 상관이 없으며 이후 시나리오에 영향을 주지 않습니다. 데이터 행 몇 개만 입력하면 됩니다.