호빗의 인간세상 탐험기
Active Directory(1) 본문
1. Active Directory 개요
Directory란 일종의 저장 용기(container)로서, 여기에는 사용자에 관한 데이터, 프린터, 서버, 데이터베이스, 그룹, 컴퓨터, 보안 정책등과 같은 object가 들어 있다.
예를 들면 전화번호부를 directory라고 부르는 이유는 그 전화번호부 안에 각 전화 이용자의 이름이나 회사의 전화번호부와 주소가 있기 때문이다.
Directory Service는 이 Directory에 있는 정보를 사용자가 찾아서 해당 네트워크 자원에 액세스할 수 있도록 하는 서비스를 말한다.
여기서 네트워크 자원이라고 하는 것은 사용자 계정, 그룹 계정, 컴퓨터, 프린터 등과 같은 주변 기기들을 말한다.
이는 관리자(Administrators)가 directory object과 그 속성(attributes)을 정의 하고 관리하도록 되어 있다.
Active Directory란 Windows Server에 들어 있는 Directory Service를 말한다.
Active Directory는 directory service로서 기본 기능뿐만 아니라 거대 기업의 네트워크 환경을 관리 할 수 있는 기능까지 들어 있다.
Active Directory의 directory service로서의 기본 기능을 다음과 같이 수행한다.
조직이나 회사의 확장이나 성장에 따라 같이 확장할 수 있는 정보 소스의 역할.
관리자가 한 컴퓨터에서 전체 네트워크의 정보를 입력하고 관리할 수 있는 기능.
Schema에서 정의한 룰이나 정책을 정의할 수 있는 방법을 갖춤.
DNS(Domain Name System)이나 LDAP(Lightweight Directory Access Protocol)을 이용하는 Internet 관련
directory object를 검색할 수 있는 방법을 제공함.
2. Active Directory 기능
Active Directory 의 전체 기능(Full capabilities)
Active Directory의 전체 기능을 이해하기 위해서는 Active Directory가 가지고 있는 기본 기능 이외에 이가 가지고 있는 다른 기능 까지도 알아 볼 필요가 있다.
이는 사용자의 현재 네트워크 환경에 있는 시스템과 서로 호환되면서 장애 발생시도에도 서비스를 계속할 수 있는 기능과 directory object에 허가 받지 않는 사용자들이 접근할 수 없도록 보호하는 기능도 들어 있다.
확장가능 Directory (Extensible Directory)
Active Directory가 적게는 몇 백 개 수준의 object에서 부터 몇 백 만개 의 object를 관리할 수 있는 것은 Active Directory가 기본적으로 여러 개의 섹션으로 나누어져서 관리 될 수 있도록 하는 파티션 개념을 도입했기 때문이다.
Active Directory는 여러 개의 파티션으로 이루어져 있기 때문에 회사나 조직이 성장하더라도 이에 따라 계속 확장할 수 있는 것이다.
스키마(Schema)- 공통된 정의 방법
Directory service를 하기 위해선 object 에 대한 기술 방법이나 이를 유형별로 구분하는 일정한 룰이 필요한 데, Active Directory는 스키마(schema)를 이용하여 각 object를 관리하고 이용한다.
스키마(Schema)가 정의하는 데로 Active Directory의 내용과 구조가 구축된다. 그리고 이 스키마 자체도 바로 Active Directory내에 포함 되어 있다.
Internet표준 이름 명명법- DNS를 이용
Active Directory는 Internet 이름 영역(name space) 개념인 DNS을 도입하여 사용한다.
이는 이름을 IP주소로 이름 풀이하는 방법인 데, Active Directory는 이 DNS를 이용하여 Internet에 있는 자원이나 object를 찾는다.
이는 바로 네트워크 상의 물리적 지리적 위치에 상관없이 자원이나 object의 이름으로 바로 찾을 수 있는 방법을 제공하게 되는 것이다.
LDAP지원(Lightweight Directory Access Protocol)
Active Directory을 검색하고 directory와 응용 프로그램간의 정보 교환을 할 때에 바로 이 LDAP 프로토콜을 사용한다.
한 곳에서 관리할 수 있는 기능(Single Point of Administration)
Directory를 관리한 다는 것은 네트워크 상의 자원이나 object를 끊임 없이 추가하거나, 변경하고 삭제하는 작업을 말한다.
Active Directory에서는 네트워크 상의 어떤 자원이나 object도 한 컴퓨터에서 액세스하여 관리할 수 있도록 되어 있다.
이는 관리 비용과 시간의 절약을 말하는 것이다.
Active Directory 의 정상 기능(Full capabilities)
향상된 질의/응답 기능(Enhanced Queries)
Active Directory 에는 Global catalog server에 전체 directory 에 대한 index를 만들어 둔다.
이 Global catalog server에다가 사용자는 질의 함으로서, 전 네트워크에 대한 자원이나 object를 찾을 수 있고, 이를 view해 볼 수 있다.
Global catalog server는 Active Directory가 replication(복제)될 때에 자동으로 생성되기 때문에 전 네트워크에 걸쳐 복제된 정보를 이중화로 가지고 있다.
결함 허용(Fault Tolerance)
Active Directory가 복제 되기 때문에 이는 한 쪽에 장애가 발생하더라도 복제된 정보를 이용해서 계속 서비스를 할 수 있기 때문에 결함허용 기능을 가지게 된다.
다시 말하며 전 네트워크 사용자는 똑 같이 복제된 데이터를 사용하기 때문에 그 중 하나에 장애가 발생하더라도 동일한 서비스를 계속 받을 수 있다는 것을 말한다.
보안 통제(Security Controls)
사용자나 관리자가 Active Directory를 사용하고 관리하는 것은 보안 정책(Security Policy)으로 규정된다.
Active Directory에는 ACL(Access Control List)가 있어서 directory내의 object 에 대한 정보를 연결해서 읽어 오는 것을 행위는 퍼미션이 부여된 사람 많이 할 수 있도록 통제 된다.
그리고 전체 네트워크의 자원과 object에 대한 모든 액세스 통제를 한 사람이 다 할 수는 없기 때문에 이를 여러 책임 있는 그룹에게 관리 권한과 책임을 분산하여 이양할 수도 있다.
호환성(Interoperability)
Active Directory는 다음과 같이 다른 운영체제나 서비스, 플랫폼(platform), 프로토콜과 문제없이 상호 운용된다.
NT 3.51, 4.0과 같이 호환된다.
DNS서비스를 이용하여 Internet 이름 영역 과 통합되어 운영된다.
코어 프로토콜은 LDAP 버전 2 버전 3을 사용한다.
ISO X.500 표준을 따르며, MS Exchange 4.0과 5.x 클라이언트가
사용하는 NSPI(Name Service Provider Interface)도 지원한다.
WWW을 통하여 정보를 제공할 수 있는 Internet 프로토콜인 HTTP
(Hypertext Transfer Protocol)을 지원한다.
NDS(Novell Directory Service)등과 같은 다른 directory service와도
정보를 공유할 수 있다.
3. Active Directory 이름 명명법
Active Directory 는 분산 네트워크에 적용될 수 있도록 만들어진 directory service이다.
그러므로 이는 각 분산된 네트워크나 사용자들이 지역이나 하드웨어의 제약을 떠나서, 다국적 기업일 경우에는 각 국가가 사용하는 서버의 언어도 극복해서 구축 관리 할 수 있도록 만들어진 것이다.
다시 말하면 회사나 조직의 그 크기에 한계에 상관없이 적용할 수 있는 directory service이기 때문에 단일 서버를 사용하는 아주 작은 조직에서부터 수천 대의 서버에서 수 백만 개의 object를 관리해야 하는 거대 기업에 까지 이를 적용할 수 있는 것이다.
이러한 분산 처리 방식의 directory service인 Active Directory의 동작 원리를 이해하기 위하여 다음과 같은 4 가지 정도의 개념을 이해하도록 하자.
1. 표준 이름 명명법(Naming Standards)
2. 논리적 구조 요소와 organization 그리고 이 들의 상관관계
3. 각 컴포넌트의 물리적 구조와 동작
4. Active Directory의 보안 특징
5. Active Directory에서의 표준 이름 명명법(Naming Standards)
Active Directory Naming
Active Directory는 각 object 를 기준으로 하여 동작한다. 각 object는 Active Directory내에서 각각 고유한 이름을 갖게 되며 이것으로 서로 구분된다.
이름영역(Namespace)
Active Directory는 각 고유의 이름을 가진 object로 구성되며, 그 이름을 기술적이 용어로 이름영역(namespace)이라고 한다. 이 namespace는 일종의 경계를 포함하는 영역을 나타내는 것이다.
이름 풀이(Name Resolution)
이름 풀이(Name resolution)라고 하는 것은 이름을 object 나 그 이름이 나타내고 있는 정보로 번역하는 과정을 말한다. 예를 들면 전화 번호부라는 것은 전화 가입자의 이름으로 그 사람의 전화 번호와 주소에 관한 정보를 알아 낼 수 있는 이름 영역(Namespace)이라고 할 수 있는 것이다.
이와 같이 Active Directory도 object의 이름이 object 그 자체로 변환될 수 있는 이름 영역을 구성하는 것이다. 실례를 들자면, 사용자 James Smith는 Active Directory 내에서 그가 속한 domain의 이름도 풀이가(알 수 있게 되는)되는 것이다.
관리자가 Active Directory 구조를 생성할 때에, 그 컨텐츠는 논리적 계층적 구조로 만들어 져서 보관된다.
예를 들면, Tailspin Toy사는 icmarket.com로 되어 있으며, 이 회사의 생산과 국제부 그리고 마케팅 부서는 Tailspin Topy사의 이름 영역을 붙여서, 각기 manu.icmarket.com, inter.icmarket.com, 그리고 market.icmarket.com로 만들어 지며
이 것이 Active Directory내에서 논리적 계층 구조로 이름이 명명된다는 것을 말하는 것이다.
Active Directory Name Types
Active Directory내의 각 object의 이름에는 다음과 같은 3 가지 타입이 있다.
DN (Distinguished Name)
Active Directory내의 모든 object 는 DN을 가진다. James Smith 가 ICMARKET 회사의 Marketing 부서에서 근무하는 사용자라고 할 때, 이 James Smith 의 DN은 다음과 같이 표현 된다.
James Smith라는 object의 DN = James Smith@market.icmarket.com
여기서 각 부분을 살펴보면;
James Smith: 이것은 Active Directory내에 정의된 user object의 실제 이름이다.
Market: 이것은 ICMARKET사의 Marketing 부서를 나타내는 컨테이너(container)이다.
Icmarket: 이것은 Active Directory내의 ICMARKET사의 이름 영역(namespace)이다.
Com: Internet에서 일반 회사임을 나타내는 (edu, mil처럼) 컨테이너(container)이다.
RDN (Relative Distinguished Name)
RDN(Relative Distinguished Name)은 object의 attribute(속성)을 나타내는 이름의 한 부분을 말한다. Active Directory에서 질의를 할 때에 DN 뿐만 아니라 object의 한 속성을 가지고 찾을 수도 있다. James Smith라는 user object의 RDN은 바로 James Smith이다. 이 object의 부모(parent) object 의 RDN은 Users이다.
User Principal Name
UPN(User Principal Name)
UPN(User Principal Name)이란 Windows 2000에서 사용자의 로그온 이름이다. UPN은 사용자 object가 있는 컨테이너의 DNS 이름이나 user object 를 대신하는 줄인 이름인 것이다. James Smith 는 jsmith 등과 같은 UPN을 갖을 수 있을 것이다.
Naming Conventions (이름 명명법)
Active Directory는 다음과 같은 업계 표준인 2 가지의 이름 명명법을 사용하기 때문에 사용자나 응용프로그램이 Active Directory를 액세스 할 때에 비슷한 포맷으로 사용할 수 있다.
DNS (Domain Name System)
Internet 의 표준 이름 영역(namespace) 방식이 DNS이다. Active Directory는 이 DNS와 같은 이름 영역 표시법을 사용하고 또 이를 이용해서 이름을 주소로 풀이(Name resolution)해서 그 자원이 있는 장소를 찾을 수 있는 서비스를 제공하기도 한다. DNS는 계층적 구조를 가진 이름 영역 표시법이기 때문에 이를 이용하여 네트워크 상의 컴퓨터나 다른 자원들을 찾을 수 있는 방법으로 쓰이는 것이다.
LDAP (Lightweight Directory Access Protocol)
LDAP 버전 2 와 버전 3을 지원한다. 그리고 이는 Active Directory가 directory database와 응용 프로그램 간의 핵심 프로토콜로 사용된다.
'IT이야기' 카테고리의 다른 글
데이터베이스 설계의 기본원리 (0) | 2017.03.13 |
---|---|
Active Directory(2) (0) | 2017.03.10 |
RAID (레이드) 레벨과 구성방식 (0) | 2017.03.10 |
Computer Networking : Principles, Protocols and Practice (0) | 2017.03.06 |
deep learning #2 (0) | 2017.03.05 |