⑤ 웹서비스 2
⑥ 네트워크 서비스 인프라

액티브 디렉토리 서비스 기술이 소개된 지 5년이 넘어섰지만, 사용자들은 이 인프라 서비스의 개념과 도입 필요성에 대해 절감하고 있지 못하다. 현재 액티브 디렉토리 서비스가 구현된 사이트를 보더라도 이같은 사실을 충분히 실감할 수 있는 수준이다.
마이크로소프트는 기업 인프라로서 액티브 디렉토리의 역할을 강조해 왔고, 윈도우 2000에 이어 윈도우 서버 2003에서 향상된 기능 지원과 관련 제품(ADAM, MIIS, SMS 2003, 비즈톡 서버 2004)으로 이를 증명해 보이고 있다. 많은 사람들이 윈도우 2000에서 제한되고 아쉬웠던 성능, 유연성과 관한 부분들이 윈도우 서버 2003에서 진일보됐음을 실감할 수 있을 것이다.
여기서는 실제 경험을 토대로 액티브 디렉토리 서비스에 대한 몇가지 정의와 필요성에 대해 얘기해 보겠다. 결론부터 얘기하자면, 액티브 디렉토리 서비스는 기업 디렉토리의 인프라 역할을 수행해야 한다는 것이다.
정책 관리 인프라
현재 기업 내의 수 많은 단말과 PC들은 여전히 윈도우 플랫폼 기반에서 동작한다. 윈도우 플랫폼과 관련한 수많은 문제가 있지만, 현장의 IT 인력들이 원하는 공통점은 ‘윈도우 시스템과 윈도우 사용자에 대한 제어와 지원’이다. 실제 최종적인 윈도우 사용자들은 윈도우 시스템 내의 애플리케이션, 서비스, 바탕화면, 네트워크, 제어판, 레지스트리 등 모든 영역에 대한 권한을 가지고 작업을 수행한다.
액티브 디렉토리는 이런 윈도우 사용자와 윈도우 시스템에 대한 정책 기반의 관리 기능을 제공함으로써, 소수의 관리자가 수많은 사용자와 시스템을 관리할 수 있는 관리 인프라의 역할을 제공한다.
일상적인 사용자의 하루를 생각해보자. 사용자는 출근해 PC를 켜고, 윈도우를 사용하기 위해 자신이 알고 있는 계정과 암호를 입력해 로그온한다. 전자우편 확인을 위해 역시 적절한 인터페이스를 통해 메일 시스템에 계정과 암호를 입력한다. 오늘 보고해야 할 리포트를 출력하기 위해 프린트 서버에 계정과 암호를 입력한다. 업무 시스템에 접근하기 위해 역시 또 다른 인증을 받는다.
기업의 IT 인프라가 확장되면서 수많은 시스템이 도입됐다. 그런데 이 시스템들은 각자가 고유한 인증과 권한 부여를 위한 인증 기술과 사용자 정보 저장소를 제공하고 있다. 최종 사용자 입장에서 생각하면 단지 한명의 ‘나’일 뿐인데, 각각의 컴퓨터들은 서로 다른 방법으로 사용자를 확인하는 것이다.
액티브 디렉토리는 사용자 정보에 대해 단일 스키마, LDAP을 통한 데이터 서비스 제공, 통합된 정보 제공을 제공하는 인프라의 기능을 제공한다. 물론 액티브 디렉토리에 저장될 수 있는 정보는 사용자 이외에도 네트워크 자원(컴퓨터, 애플리케이션, 네트워크 장비 등) 등이 있다.
윈도우 2003 서버의 액티브 디렉토리 서비스
이제 본격적으로 윈도우 서버 2003에 포함된 액티브 디렉토리 서비스의 향상된 기능에 대해 알아보자. 특히 윈도우 2000 기반의 액티브 디렉토리 서비스에 비해 향상된 기능에 초점을 맞춰 비교해 보겠다.
액티브 디렉토리 서비스는 근본적으로 다른 LDAP 서버와는 다른 통합 인증 디렉토리의 역할에 충실할 수 있는 아키텍처와 기능을 제공해왔다. 그럼에도 불구하고, 이같은 마이크로소프트의 야심이 고객에게 큰 호응을 받지 못했던 이유 중 하나가 바로 유연성의 부재였다. 윈도우 서버 2003에서는 바로 유연성 확보가 가장 큰 초점으로 부각되고 있다.
·스키마 비 활성화
스키마는 액티브 디렉토리에 저장할 수 있는 개체에 대한 정의를 의미하는 또 다른 개체이다. 실제 윈도우 2000이 제공하는 스키마의 양이나 질적인 측면은 훌륭한 것이지만, 실제 액티브 디렉토리를 활용하는 목적이나 애플리케이션이 요구하는 스키마를 모두 포함할 수는 없을 것이다. 실제 현장에서는 액티브 디렉토리의 기본 스키마를 확장해 사용한다. 이 때 가장 큰 이슈가 되는 것이 유연성없는 스키마 확장 메커니즘이었다. 잘못 확장된 스키마 개체는 원래의 상태로 복귀될 수 없다는 것이 핵심이다.
이는 액티브 디렉토리를 인프라 디렉토리로 사용하려는 고객이나 개발자들에게는 커다란 난관이었다. 윈도우 서버 2003이 제공하는 액티브 디렉토리 서비스는 액티브 디렉토리 스키마에 있는 특성과 클래스 정의의 비활성화를 허용하도록 개선됐다. 이제 기존의 정의에 오류가 발생할 경우, 특성과 클래스는 다시 정의될 수 있다. 사실 고객들은 기존의 스키마를 제거할 수 있는 수준을 요구했었지만, 이는 다음 버전(코드명 : Blackcomb)에서 제공될 예정이다.
·삭제 표시된 개체 살리기
액티브 디렉토리 관리 과정에서 야기될 수 있는 문제 중 가장 대표적인 것을 들라고 하면, 실수로 삭제한 개체를 복원하는 것이다. 물론 윈도우 2000 액티브 디렉토리에서는 인증 복원(Authoratative Restore)이라는 기능을 통해 해결할 수 있었지만, 서비스를 오프라인시켜야 한다는 부담이 있었다. 윈도우 서버 2003에서는 고객이나 ISV에게 삭제된 개체에 대한 삭제 취소를 지원하는 API를 제공하므로, 실수로 삭제한 개체는 즉시 복구할 수 있다.
·동적 데이터 지원 강화
액티브 디렉토리와 같은 LDAP 디렉토리에는 정적이며, 고정적인 유형의 정보만을 저장하는 것이 권장되지만, 실제 인프라 디렉토리 통합 과정에서는 동적인 유형의 정보도 포함돼야 하는 경우는 비일비재하다. 디렉토리 애플리케이션 개발자는 고정적으로 유지될 필요가 없는 정보가 TTL이 만료될 때, 액티브 디렉토리에 의해 자동으로 삭제될 수 있도록 할 수 있다. ‘Dynamic Object’라는 보조 클래스(Auxiliary)를 원하는 클래스에 포함시키는 것으로 구현할 수 있다.
이외에도 윈도우 서버 2003에서는 동적 데이터 지원을 위한 수많은 기능들을 제공한다.
좀 더 자세한 정보는 ‘msdn.microsoft.com/library/default.asp?url=/library/en-us/netdir/ad/about_application_directory_partitions.asp’를 참조하기 바란다.
·애플리케이션 전용 데이터 파티션 지원
액티브 디렉토리 기술의 미학은 통합이다. 하지만 현실적으로 디렉토리에 포함된 기반의 중심 정보는 사용자이다. 사용자 정보를 포함하는 인프라 디렉토리에 애플리케이션 기반의 구성 정보를 같이 포함하는 사례는 지극히 찾아보기 어렵다. 이유는 애플리케이션 전용 데이터 저장소의 부재가 가장 컸다고 볼 수 있다. 윈도우 서버 2003의 액티브 디렉토리 서비스는 애플리케이션 파티션(Application Partition)이라고 지칭되는 새로운 유형의 Naming Context를 제공한다. 애플리케이션 파티션에는 보안 개체(사용자, 그룹, 그리고 컴퓨터)를 제외한 모든 개체 유형의 계층 구성을 포함할 수 있으며, 포리스트의 모든 도메인 컨트롤러 세트로 복제하도록 구성될 수 있다. 결론적으로 복제의 범위와 복제본의 배치를 컨트롤하는 기능을 제공하여 네트워크 성능에 큰 영향을 주지 않는 범위 내에서 액티브 디렉토리에 동적 데이터를 호스팅 할 수 있게 된 것이다.



·데이터 백업을 이용한 복제 세트 구현
성능이나 가용성 등의 이유로 추가 데이터 세트가 필요한 경우, 기존에는 네트워크를 통한 데이터 복제를 통해서만 액티브 디렉토리 서버를 구현할 수 있었다. 하지만 이제는 간편하게 데이터 백업을 이용해 추가 데이터 세트를 구현할 수 있다. 특히 원격지에 추가 AD(Active Directory) 서버를 설치해야 하는 경우 이 기능은 상당히 매력적이다.

(화면 1) 데이터 백업으로 복제 세트 구현이 가능해 원격지에 추가 AD 서버 설치시 유리하다.
·이름 바꾸기
액티브 디렉토리를 호스팅하는 시스템을 도메인 컨트롤러라 칭한다. 또한 액티브 디렉토리의 구현 단위와 보안 관리 단위에는 도메인(Domain)이 사용된다. 실제 기존에는 디자인 단계에서 결정된 도메인 컨트롤러의 이름이나 도메인 이름을 액티브 디렉토리 라이프사이클 내에서는 변경할 수 없었다. 하지만 윈도우 서버 2003 기반의 액티브 디렉토리 서비스에서는 이름을 바꿀 수 있도록 지원하고 있다. 다만, 도메인 이름을 바꿀 때는 고려해 할 사항이 한두 가지가 아니다. 그럼에도 불구하고 기업 인수 합병이나 CI 변경과 같은 피해갈 수 없는 상황에는 절실하게 필요한 기능이었다.
향상된 성능
실제 현장의 엔지니어들 사이에 공감이 형성되지 않았던 부분 중에 하나가 성능과 관련된 것들이다. 특히 ‘복제와 관련한 성능의 맹점’이 윈도우 서버 2003에서 부각됐고 이를 개선하는 기능이 추가됐다.
·그룹 개체 구성원 정보의 향상된 복제
예를 들어 그룹 전체의 구성원(현재는 999명)을 포함하는 ‘회사 사용자’라는 그룹이 있고, 최근에 인사 시스템에 추가된 신입 사원 1명이 있다고 가정하자.
윈도우 2000에서는 1명에 해당하는 속성만이 복제되는 것이 아니라, 1000명이라는 속성이 하나의 항목(Entry)으로 복제가 돼야 했다. 하지만 윈도우 서버 2003에서는 그룹 구성원 속성을 1개의 항목으로 보지 않으므로 1개의 업데이트된 속성이 별개의 항목으로 취급된다. 이는 결국 1개의 속성만을 복제하면 된다는 것을 의미한다.
이처럼 그룹 구성원의 향상된 복제 메커니즘은 그룹 구성원의 한계(5000개)를 극복할 수 있게 하며, 동시에 그룹 구성원 정보가 업데이트되는 경우에도 데이터 손실을 방지할 수 있게 됐다.
·글로벌 카탈로그 복제
글로벌 카탈로그는 전체 디렉토리에 포함되는 파티션을 포함하는 디렉토리 서버며, 여기에는 검색에 자주 사용되는 속성 값을 포함하는 모든 개체를 포함한다. 실제 액티브 디렉토리를 통해 검색되는 정보가 글로벌 카탈로그를 통해 검색돼는 것이 가장 효율적이며, 기업 인프라 환경에서는 언제든지 글로벌 카탈로그에 포함돼야 하는 속성의 추가와 삭제가 빈번할 것이다. 윈도우 서버 2003에서는 글로벌 카탈로그에 복제돼야 하는 속성이 스키마에서 추가되는 경우, 그 속성에 대한 정보만 업데이트할 수 있다.
·컨커런트 바인드(Concurrent binds)
액티브 디렉토리를 이용한 LDAP 인증 프로시저를 구현하는 경우, 웹 서버에 존재하는 애플리케이션은 사용자가 제공한 인증 정보를 AD에 제공해 인증을 제공하면 된다. 이 경우 인증받은 사용자가 AD에 직접 접근할 필요가 없으므로, 보안 토큰(Access Token)을 만들 필요가 없을 것이다. 컨커런트 바인드(Concurrent binds)를 사용하면, 보안 토큰을 만들 수는 없지만, 한 개의 연결을 가지고 여러 개의 바인딩을 지원할 수 있으므로 일반 인증 메커니즘보다 효율적이며 성능 향상에도 도움을 준다.
·가상 리스트 뷰(Virtual List View)
LDAP을 통해 요청된 질의 결과가 많은 경우 유효한 GUI 테크닉이다. LDAP이 이 기능을 사용하도록 확장된 경우, 실제 GUI는 검색에 대한 결과를 필요한 만큼만 가져온다. 일반적으로 사용자들이 검색된 결과를, 스크롤링(scrolling), 슬라이더 바(slider bars), 커서 키(cursor keys) 등을 이용해 찾아본다는 점을 이해한다면, 이같은 기술이 얼마나 애플리케이션과 최종 사용자에게 질 높은 서비스를 제공할 수 있을지를 이해할 수 있을 것이다.
·LDAP 표준의 사용자 개체 지원
실제 액티브 디렉토리와 같은 LDAP 디렉토리에 저장하는 가장 중요한 개체 정보는 바로 사용자 정보다. 마이크로소프트가 제공하는 사용자 개체는 ‘User’ 임에 반해, 기존 LDAP 시장의 터줏대감인 아이플래넷이나 노벨, 넷스케이프와 같은 업체에서는 RFC 2798에 정의된 ‘InetOrgPerson’ 클래스를 이용한다. 이같은 스키마 수준의 상이성은 디렉토리의 통합이나 마이그레이션 시에 문제가 됐었다. 하지만 윈도우 서버 2003에서는 ‘InetOrgPerson’ 클래스를 이용할 필요가 있는 어떤 애플리케이션이나 고객이라도 만족시킬 수 있도록 기본 스키마로 제공되고 있다.
관리의 용이함
실제 현장에서 구현된 액티브 디렉토리 기반 관리는 사용자 정의된 새로운 관리 인터페이스 기능을 요구한다. 이는 윈도우 서버에 포함된 액티브 디렉토리 관리 도구의 기능에 한계가 있기 때문이다. 윈도우 서버 2003에서는 아직 완벽히 만족할만한 수준은 아니지만, 몇 가지의 향상된 관리 인터페이스를 제공하며, GPO(Group Policy Object)에 대해서는 진보된 관리 기술을 제공한다.
·향상된 GUI
액티브 디렉토리에 포함된 개체 정보를 검색하는 행위는 관리자가 수행하는 가장 보편적인 작업 중 하나다. 검색에 대해 윈도우 서버 2003은 검색할 개체, 검색 범위, 기타 속성 플래그를 지정할 수 있어 손쉬운 검색 기능을 제공한다. 또한 검색 조건을 XML로 저장해 다시 활용할 수 있는 부분도 돋보인다. 이외에도 사용자 개체에 대한 동시 로그온 시간을 제어하며, 다중 개체에 대해 동일한 속성 업데이트 기능을 제공한다. 또한 개체의 이동을 드래그 앤 드롭으로 작업할 수도 있다.

(화면 2) 드래그 앤 드롭으로 간단히 개체를 이동할 수 있는 향상된 GUI를 제공한다.
·향상된 커맨드 툴(Command Tools)
윈도우 서버 2003 관리 기술에서 돋보이는 것 중 하나가 향상된 셸(Shell) 지원 기능이다. AD에 대해서도 이를 배려하고 있다. 이제 액티브 디렉토리 기반 개체의 추가, 삭제, 속성 기반의 검색, 속성 업데이트, 개체 이동을 커맨드 기반의 작업을 통해 수행할 수 있다. 이 모든 커맨드는 스크립팅을 지원하고 있어 자동화된 관리의 한 방안으로 활용할 수도 있다.

(화면 3) 커맨드 툴 기능이 향상돼 스크립트를 이용한 자동화 관리가 가능하다.
·향상된 GPO 관리
GPO는 윈도우 사용자와 윈도우 시스템 관리를 위한 솔루션 성격의 구성 요소다. 윈도우 서버 2003에서는 사용자와 시스템에 대한 더 많은 제어와 지원이 가능한 설정 세트를 포함하고 있다. 특히 눈여겨 볼만한 부분은 GPO 관리에 대한 진일보된 GPMC(GPO Management Console)다.
GPO 관리에 대한 모든 기능을 하나로 통합한 관리 인터페이스인 이 구성 요소는 GPO 생성, 설정, 관리 단위 링크, 관리 위임, 필터링, 설정 내보내기(가져오기), GPO 백업과 복구, 설정 리포팅, 모델링, 로깅과 같은 현장에서 필요한 기능을 제공하고 있다.
더 나아가서는 자동 관리를 위한 스크립팅도 지원하고 있다. 만약 GPO 기반의 윈도우 사용자와 시스템 관리가 필요한 사이트라면 당연히 윈도우 서버 2003 기반의 액티브 디렉토리를 도입해야 하는 정당성과 필요성을 느낄 수 있을 것이다. 다만 아쉬운 점은 GPO 설정과 관련된 스크립팅을 지원하지 않는다는 점이 아쉽다. @
이 기사는 ZDNet Korea의 자매지인 on the Net에 게재된 내용입니다.
지금 뜨는 기사
이시각 헤드라인
ZDNet Power Center
