다음을 통해 공유


고유 SPN의 이름 형식

SPN은 등록된 포리스트에서 고유해야 합니다. 고유하지 않으면 인증이 실패합니다. SPN 구문에는 다음 표에 나열된 대로 고유한 이름을 생성하기 위해 필요한 요소 2개와 필요한 경우 사용할 수 있는 두 개의 추가 요소의 네 가지 요소가 있습니다.

<service class>/<host>:<port>/<service name>
요소 Description
"<서비스 클래스>" 서비스의 일반 클래스를 식별하는 문자열입니다. 예: "SqlServer". 웹 서비스의 경우 "www", 디렉터리 서비스의 경우 "ldap"와 같이 잘 알려진 서비스 클래스 이름이 있습니다. 일반적으로 서비스 클래스에 고유한 모든 문자열일 수 있습니다. SPN 구문은 정방향 슬래시(/)를 사용하여 요소를 구분하므로 이 문자는 서비스 클래스 이름에 나타날 수 없습니다.
"<host>" 서비스가 실행 중인 컴퓨터의 이름입니다. 정규화된 DNS 이름 또는 NetBIOS 이름일 수 있습니다. NetBIOS 이름이 포리스트에서 고유하도록 보장되지 않으므로 NetBIOS 이름이 포함된 SPN은 고유하지 않을 수 있습니다.
"<port>" 단일 호스트 컴퓨터에서 동일한 서비스 클래스의 여러 인스턴스를 구분하는 선택적 포트 번호입니다. 서비스에서 해당 서비스 클래스에 대한 기본 포트를 사용하는 경우 이 구성 요소를 생략합니다.
"<서비스 이름>" 서비스 또는 서비스에서 제공하는 도메인에서 제공하는 데이터 또는 서비스를 식별하기 위해 복제 가능 서비스의 SPN에 사용되는 선택적 이름입니다. 이 구성 요소에는 다음 형식 중 하나가 있을 수 있습니다.
  • SCP(서비스 연결 지점)와 같이 Active Directory Domain Services 개체의 고유 이름 또는 objectGUID입니다.
  • 도메인 전체에 대해 지정된 서비스를 제공하는 서비스에 대한 도메인의 DNS 이름입니다.
  • SRV 또는 MX 레코드의 DNS 이름입니다.

 

서비스의 SPN에 있는 구성 요소는 서비스를 식별하고 복제하는 방법에 따라 달라집니다. 호스트 기반 서비스 및 복제 가능한 서비스의 두 가지 기본 시나리오가 있습니다.

호스트 기반 서비스

호스트 기반 서비스의 경우 서비스가 서비스 클래스 및 서비스가 설치된 호스트 컴퓨터의 이름으로 고유하게 식별되므로 "<서비스 이름>" 구성 요소가 생략됩니다.

<service class>/<host>

서비스 클래스만으로도 서비스에서 제공하는 기능을 클라이언트에 대해 식별할 수 있습니다. 여러 컴퓨터에 서비스 클래스의 인스턴스를 설치할 수 있으며 각 instance 호스트 컴퓨터로 식별되는 서비스를 제공합니다. FTP 및 텔넷은 호스트 기반 서비스의 예입니다. 서비스가 기본이 아닌 포트를 사용하거나 호스트에 서비스의 여러 인스턴스가 있는 경우 호스트 기반 서비스 instance SPN에는 포트 번호가 포함될 수 있습니다.

<service class>/<host>:<port>

복제 가능 서비스

복제 가능한 서비스의 경우 서비스(복제본)의 인스턴스가 하나 이상 있을 수 있으며 클라이언트는 각각 동일한 서비스를 제공하기 때문에 연결할 복제본(replica) 구분하지 않습니다. 각 복제본(replica) SPN에는 동일한 "<서비스 클래스>" 및 "<서비스 이름>" 구성 요소가 있습니다. 여기서 "<서비스 이름>"은 서비스에서 제공하는 기능을 보다 구체적으로 식별합니다. "<호스트>" 및 선택적 "<포트>" 구성 요소만 SPN마다 다릅니다.

<service class>/<host>:<port>/<service name>

복제 가능한 서비스의 예로는 지정된 데이터베이스에 대한 액세스를 제공하는 데이터베이스 서비스의 instance 있습니다. 이 경우 "<서비스 클래스>"는 데이터베이스 애플리케이션을 식별하고 "<서비스 이름>"은 특정 데이터베이스를 식별합니다. "<서비스 이름>"은 데이터베이스에 대한 연결 데이터를 포함하는 SCP(서비스 연결 지점)의 고유 이름일 수 있습니다.

MyDBService/host1.example.com/CN=hrdb,OU=mktg,DC=example,DC=com
MyDBService/host2.example.com/CN=hrdb,OU=mktg,DC=example,DC=com
MyDBService/host3.example.com/CN=hrdb,OU=mktg,DC=example,DC=com

클라이언트가 NetBIOS 이름을 사용하여 서비스의 SPN을 구성하는 경우 각 복제본(replica) NetBIOS 이름을 포함하는 SPN도 등록해야 합니다.

MyDBService/host1/CN=hrdb,OU=mktg,DC=example,DC=com
MyDBService/host2/CN=hrdb,OU=mktg,DC=example,DC=com
MyDBService/host3/CN=hrdb,OU=mktg,DC=example,DC=com

복제 가능한 서비스의 또 다른 예는 전체 도메인에 서비스를 제공하는 서비스입니다. 이 경우 "<서비스 이름>" 구성 요소는 제공되는 도메인의 DNS 이름입니다. Kerberos KDC는 이러한 유형의 복제 가능 서비스의 예입니다.

컴퓨터의 DNS 이름이 변경되면 시스템에서 포리스트의 해당 호스트에 등록된 모든 SPN에 대해 "<호스트>" 요소를 업데이트합니다.