이 페이지에서는 Microsoft Active Directory 관리형 서비스에서 스키마 확장이 작동하는 방식을 설명합니다.
개요
Active Directory는 스키마를 사용하여 디렉터리 데이터를 정리하고 저장합니다. AD 스키마는 디렉터리 데이터를 저장하는 데 사용되는 객체 클래스와 속성을 정의합니다.
스키마 확장을 사용하여 스키마를 변경하고 Active Directory의 특정 클래스 또는 속성을 사용하는 애플리케이션을 지원할 수 있습니다.
새 클래스와 속성을 정의하거나 기존 클래스와 속성의 정의 또는 속성을 수정하여 기본 AD 스키마를 확장할 수 있습니다. 관리형 Microsoft AD에서는 스키마 변경을 위한 명령어가 포함된 LDAP 데이터 교환 형식(LDIF) 파일을 사용하여 스키마를 확장할 수 있습니다. 자세한 내용은 스키마 확장을 참고하세요.
LDIF에 관한 자세한 내용은 LDAP 데이터 교환 형식을 참고하세요.
LDIF 파일을 준비하는 방법
LDIF 파일은 LDAP(경량 디렉터리 액세스 프로토콜) 디렉터리 콘텐츠 및 업데이트 요청을 나타내는 표준 일반 텍스트 데이터 교환 형식입니다. LDIF 파일은 추가, 수정, 이름 바꾸기와 같은 업데이트 요청 모음을 나타내는 일련의 레코드로 구성됩니다. 빈 줄로 LDIF 파일에서 업데이트 요청의 각 항목을 나타내는 레코드 집합을 구분합니다. 스키마 변경사항이 있는 파일을 만들기 전에 LDIF 파일의 형식을 이해하는 것이 좋습니다. 자세한 내용은 LDIF 스크립트를 참고하세요.
LDIF 파일을 준비하기 전에 다음 가이드라인을 읽어보세요.
스키마 요소
클래스, 속성, 객체와 같은 스키마 요소는 AD 스키마의 요소입니다. 속성, 객체 클래스, 객체 식별자, 연결된 속성과 같은 스키마 요소와 관련된 주요 개념을 알아두는 것이 좋습니다. 자세한 내용은 Active Directory 스키마(AD DS)를 참조하세요.
LDIF 파일 구조
DIT(디렉터리 정보 트리) 구조를 사용하여 LDIF 파일의 항목을 정렬해야 합니다. 유효한 LDIF 파일의 구조는 다음 가이드라인을 준수해야 합니다.
- 하위 항목 앞에 상위 항목을 나열합니다.
- LDIF 파일의 항목은 빈 줄로 구분합니다.
- 항목에 사용하는 모든 클래스 또는 속성이 스키마에 존재해야 합니다. 클래스 또는 속성을 사용하기 전에 이를 스키마에서 사용할 수 있는지 확인해야 합니다. 클래스 또는 속성이 없는 경우 이를 스키마에 추가해야 합니다. 예를 들어 속성을 클래스에 연결하기 전에 속성을 만들어야 합니다.
고유 이름 형식
LDIF 파일의 모든 항목은 고유 이름(DN)으로 시작합니다. DN으로 레코드가 작동하는 AD 객체를 지정합니다. 레코드가 스키마 캐시를 업데이트하는 경우 DN은 비어 있어야 합니다. 스키마 변경사항의 경우 DN은 다음 형식이어야 합니다.
dn: cn=CLASS_OR_ATTRIBUTE,cn=Schema,cn=Configuration,dc=ROOT_DOMAIN,dc=TOP_LEVEL_DOMAIN
다음을 바꿉니다.
- CLASS_OR_ATTRIBUTE: 클래스 또는 속성의 이름. 예를 들면
example-attribute
입니다. - ROOT_DOMAIN: 도메인 이름의 루트 도메인. 예를 들어 도메인 이름이
example.com
인 경우example
을 입력합니다. - TOP_LEVEL_DOMAIN: 도메인 이름의 최상위 도메인. 예를 들어 도메인 이름이
example.com
인 경우com
을 입력합니다.
예를 들어 도메인 이름 example.com
에 대한 속성 example-attribute
의 DN은 다음과 같은 형식이어야 합니다.
dn: cn=example-attribute,cn=Schema,cn=Configuration,dc=example,dc=com
지원되는 LDIF changetype
관리형 Microsoft AD는 스키마 확장에 다음 LDIF changetype을 지원합니다.
LDIF changetype | 스키마 확장 작업 |
---|---|
add |
스키마에 새 클래스 또는 속성을 만듭니다. |
modify |
스키마에 있는 클래스 또는 속성의 속성을 업데이트합니다. 다음 목록에서는 가능한 속성 업데이트 중 일부를 설명합니다.
ldapDisplayName 속성을 업데이트합니다. |
modrdn 또는 moddn |
클래스 또는 속성의 상대 고유 이름(RDN) 이름을 바꿉니다. |
고려사항
스키마를 확장하기 전에 다음 고려사항을 참고하세요.
- Microsoft에서는 스키마 확장이 Active Directory 환경에 미치는 영향을 설명한 자세한 자문을 제공합니다. 스키마를 확장하기 전에 이를 신중하게 검토해야 합니다. 자세한 내용은 스키마를 확장하기 전에 알아야 할 사항을 참고하세요.
- 스키마에 클래스 또는 속성을 추가한 후에는 변경할 수 없습니다. 그러나 추가한 후에 더 이상 필요하지 않은 클래스 또는 속성을 중지할 수는 있습니다. 자세한 내용은 기존 클래스 및 속성 중지를 참조하세요.
스키마 확장 작동 방식
도메인에서 스키마 확장을 시작하면 관리형 Microsoft AD가 LDIF 파일에서 구조, 스키마 요소 형식, 지원되는 changetype 또는 작업을 검증합니다.
LDIF 파일이 유효하면 관리형 Microsoft AD에서 스키마 변경사항을 적용하기 전에 도메인을 백업합니다. 스키마를 업데이트한 후 애플리케이션에 문제가 발생하면 이 백업을 사용하여 도메인을 복원할 수 있습니다. 그런 다음 관리형 Microsoft AD가 도메인에서 도메인 컨트롤러 중 하나를 격리하고 Ldifde 도구를 사용하여 스키마 변경사항을 적용합니다. 스키마 변경이 진행되는 동안 도메인의 다른 도메인 컨트롤러가 클라이언트 트래픽을 제공합니다.
스키마 변경에 성공하면 분리된 도메인 컨트롤러가 도메인에 다시 연결되고 이러한 스키마 변경사항을 도메인의 다른 도메인 컨트롤러에 복제합니다.
스키마 변경에 실패하면 관리형 Microsoft AD에서 도메인 컨트롤러를 백업된 상태로 되돌립니다.
관리형 Microsoft AD는 도메인에 부분 스키마 확장을 지원하지 않습니다. 즉, LDIF 파일의 명령어가 도메인에 적용되지 않으면 스키마 확장 요청이 실패합니다. 또한 관리형 Microsoft AD에서 도메인을 스키마 변경사항을 적용하기 전 상태로 되돌립니다.
다음 단계
- 관리형 Microsoft AD에서 스키마를 확장하는 방법 알아보기
- 스키마 확장 제한사항