식별 이름에서 사용자 인증까지

조직에서 중요한 사용자 관리, 저장 및 인증을 수행하기 위해 LDAP(Lightweight Directory Access Protocol)에 의존하는 것이 일반적입니다.

그러나 사용자를 혼란스럽게 하여 Active Directory와 혼합하게 만들 수 있습니다.

이 기사에서는 LDAP, 그 목적 및 작동 방식을 살펴보겠습니다. 그런 다음 주요 기능, 디렉터리 구조 및 데이터 구성 기능을 검토합니다. 마지막으로 디렉토리 서비스 및 사용자 인증 관리에서 LDAP의 중요성을 다룰 것입니다.

LDAP란 무엇입니까?

LDAP는 Lightweight Directory Access Protocol의 약자입니다. 온프레미스 디렉토리에 대한 보안 사용자 인증을 관리하는 개방형 프로토콜입니다. 또한 벤더 중립적인 응용 프로그램 프로토콜이므로 특히 인터넷을 통한 분산 디렉토리 정보 서비스에서 다재다능하고 유비쿼터스입니다.

LDAP는 응용 프로그램이 사용자 정보를 쿼리할 수 있도록 하는 데 효율적입니다. 이는 이메일 서비스, 인증, 라이센스 관리, 사용자 관리 등 IT 인프라 서비스에서 다양한 방식으로 작동할 수 있음을 의미합니다.

그러나 비즈니스에서 IT 자산을 구성, 액세스 및 보호하는 데 사용하는 일련의 서비스/데이터베이스인 Active Directory 서비스와 혼동해서는 안 됩니다. 기본적으로 디렉터리 서비스를 통해 조직은 설명적이고 정적이며 가치 있는 데이터를 저장할 수 있습니다.

기술적으로 LDAP는 디렉토리 서비스 내에서 데이터 표현의 전체 프로세스에 기인합니다. 사용자가 미리 정의된 방식으로 데이터를 얻을 수 있도록 합니다. 즉, LDAP를 사용하면 조직에서 해당 도구를 통해 디렉토리 서비스 내에서 데이터 항목을 만들 수 있습니다.

따라서 Active Directory 내에서 LDAP는 설명된 다양한 기본 요소를 기반으로 항목이 구성되는 방식도 보장합니다.

즉, LDAP는 다음과 같습니다.

  • 통신 프로토콜
  • 벤더 중립적인 개방형 애플리케이션 프로토콜입니다.
  • 소프트웨어 프로토콜은 쉽게 검색할 수 있도록 데이터를 저장하고 정렬합니다.
  • 온프레미스 디렉터리에서 작동
  • 정적이고 설명적이며 가치 있는 데이터가 포함된 Active Directory와 함께 작동합니다.
  • 새로운 프로토콜이 아니며 2003년에 출시되었습니다.

그 목적은 무엇입니까?

LDAP의 목적은 다음 두 가지를 중심으로 이루어집니다.

  • LDAP/Active 디렉토리에 데이터를 저장합니다.
  • 해당 디렉토리에 대한 사용자의 액세스를 인증합니다.
  • 응용 프로그램이 디렉터리 서비스에서 데이터를 보내고 받는 데 적절한 통신 언어를 사용할 수 있도록 합니다.

즉, 인증 및 권한 부여가 가능할 뿐만 아니라 검색 가능한 방식으로 데이터를 구성하는 통신 프로토콜 역할을 합니다. 조직은 LDAP를 사용하여 사용자 자격 증명을 포함하여 중요한 사용자 및 IT 자산 정보를 저장할 수 있습니다. 또한 관리자가 능동적으로 접근 규칙을 설정할 수 있도록 하여 안전한 접근을 보장할 수 있습니다.

LDAP는 어떻게 작동합니까?

LDAP의 핵심에는 클라이언트-서버 아키텍처가 있습니다.

  사이버 스파이 활동이란 무엇이며 이를 방지하는 방법

따라서 LDAP 인증이 발생하면 클라이언트-서버 모델을 따릅니다. 이 과정에서 주요 플레이어는 다음과 같습니다.

  • DSA(디렉토리 시스템 에이전트): 특정 네트워크에서 LDAP를 실행하는 서버입니다.
  • DN(고유 이름)에는 DIT(디렉토리 정보 트리)를 탐색하기 위한 경로가 포함되어 있습니다.
  • DUA(디렉토리 사용자 에이전트): DUA는 DSA에 클라이언트로 액세스하는 데 사용됩니다.
  • RDN(Relative Distinguished Name): RDN은 DN 경로의 각 구성 요소를 지정합니다.
  • 애플리케이션 프로그래밍 인터페이스(API): 서비스와 제품 간에 통신하는 API가 있습니다.

LDAP 인증 프로세스에서 사용자가 이메일 응용 프로그램과 같은 LDAP 클라이언트 프로그램을 시작할 때 관리자는 LDAP 클라이언트가 인증을 위해 디렉토리 서비스와 상호 작용하는 방법을 구성할 수 있습니다. 예를 들어 사용 가능한 두 가지 사용자 인증 방법 중 하나를 사용할 수 있습니다.

로그인 시도 시 DN 인증이 요청됩니다. 프로세스가 시작되면 LDAP는 DN을 사용하여 데이터베이스에서 일치하는 레코드를 검색하는 DSA(Directory System Agent)에 클라이언트를 할당합니다.

DN 내의 RDN(Relative Distinguished Name)은 DIT(디렉토리 정보 트리)를 통한 검색 프로세스의 모든 단계에서 사용되므로 LDAP 검색의 중요한 부분입니다.

검색에 성공하면 일치하는 UID와 사용자 암호를 일치시켜 사용자를 확인합니다. 그렇지 않으면 잘못된 결과를 반환합니다.

마지막으로 클라이언트는 LDAP 서버에서 바인드를 해제합니다. 완료되면 인증된 사용자는 API를 통해 서비스와 통신할 수 있습니다. 이것은 그가 저장된 모든 정보를 검토할 수 있음을 의미합니다. 유일한 제한은 권한 부여입니다.

LDAP 작동 방식에 대해 자세히 알아보려면 Greg Vaneder와 Mark Wahl이 2003년에 게시한 문서를 확인하십시오. 그리고 LDAP 검색 작업 방법에 대해 자세히 알아보려면 The LDAP Search Operation을 확인하십시오.

LDAP의 주요 기능

LDAP 주요 기능은 다음과 같이 요약할 수 있습니다.

  • 사용자 세션 인증: Active Directory와 같은 데이터베이스 서비스에 대한 사용자 세션을 인증하는 데 사용할 수 있습니다.
  • 다양한 작업 유형: 다음을 포함하여 디렉터리 서버 데이터베이스에 작업을 수행할 수도 있습니다.
    • 바인딩 세션
    • LDAP 항목 삭제
    • 기존 항목 수정
    • 항목을 검색하고 비교합니다.
    • 포기 요청
    • 바인딩 해제 작업
  • 경량: LDAP는 경량이므로 네트워크 및 시스템 리소스에 약간의 오버헤드가 발생합니다.
  • 공급업체 및 프로토콜 독립적: LDAP는 또한 공급업체 및 프로토콜 독립적입니다. 즉, 모든 공급업체/솔루션/프로토콜과 함께 작동합니다. 예를 들어 TCP/IP 또는 X.25를 통해 LDAP를 사용할 수 있습니다. 그러나 최신 LDAP 버전인 LDAPv3은 TCP/IP를 사용합니다.
  • 디렉토리 구조: LDAP는 디렉토리-트리 구조를 사용하여 디렉토리 데이터베이스 내의 자산을 저장하고 액세스합니다. 부모-자식 관계는 더 빠른 검색 및 검색을 의미합니다.
  • 표준화: LDAP는 IETF(Internet Engineering Task Force)에서 표준화합니다. 표준화는 LDAP가 여러 공급업체에서 작동하도록 합니다.
  • 보안: LDAP는 안전합니다. TCP/IP 계층에서 보안 TLS를 사용하여 보안을 달성합니다. 또한 SSL(Secure Socket)을 사용하여 완전한 무결성과 기밀성을 유지하면서 원격으로 정보를 암호화, 해독 및 전송할 수 있습니다.
  • 복제: LDAP는 여러 서버 간의 복제도 지원합니다. 데이터 중복성을 보장하고 장애 발생 시 데이터 가용성을 제공합니다. 동기화 복제 엔진인 Syncrepl을 사용합니다.
  Netflix에서 누군가를 쫓아내는 방법

LDAP 디렉토리 구조

LDAP 디렉토리에는 깨끗하고 정의된 구조가 있습니다. 이렇게 하면 데이터에 쉽게 액세스할 수 있고 LDAP 디렉터리 콘텐츠의 검색 가능성이 높아집니다.

LDAP는 트리와 같은 구조를 따르므로 계층적입니다. 이것이 주로 디렉토리 정보 트리(DIT)로 선호되는 이유입니다.

다양한 수준의 LDAP 디렉토리 구조에는 다음이 포함됩니다.

  • 루트 디렉토리
  • 조직

보시다시피 LDAP 디렉토리에 트리 구조가 있습니다. “루트” 디렉토리는 디렉토리 수준의 다른 모든 항목을 포함하는 최상위 항목입니다. 그 아래에 국가(국가)가 표시되고 조직으로 분기됩니다. 다음으로 OU(조직 단위)와 마지막으로 개인 및 그룹으로 분기됩니다.

LDAP 디렉토리 구조를 이해하기 위해 아래 예를 살펴보겠습니다.

 - Root (Top-level entry)
   |
   +-- Country: "dc=com" (e.g., dc=example,dc=com)
         |
         +-- Organization: "dc=example" (e.g., dc=example)
               |
               +-- Organizational Unit (OU): "ou=Users"
               |      |
               |      +-- User: "cn=Nitish Singh"
               |      |
               |      +-- User: "cn= Oliver Green"
               |
               +-- Organizational Unit (OU): "ou=Groups"
                      |
                      +-- Group: "cn=Admins"
                      |
                      +-- Group: "cn=Users"
		|
		+-- Group: “cn=Superusers”

루트 엔터티는 Domain Component 속성을 나타내는 DC로 식별됩니다. 따라서 “dc=com”인 경우 루트 항목은 “com” 도메인으로 식별됩니다.

루트에서 여러 조직 또는 도메인을 가질 수 있습니다. “dc=조직”으로 표시됩니다. “com” 도메인 아래.

마찬가지로 각 조직에는 하나 이상의 OU(조직 단위)가 있을 수 있습니다. 관리자는 이를 논리적으로 세분하여 구성할 수 있습니다. 예를 들어 OU를 “사용자”, “그룹” 또는 “수퍼유저”로 설정할 수 있습니다.

마지막으로 각 OU 아래에 그룹, 장치, 사용자 등을 비롯한 다양한 항목을 나열할 수 있습니다. 이 예에서 OU 사용자의 두 값에는 “Nitish Singh” 및 “Oliver Green”이 포함됩니다. 마찬가지로 OU 그룹에는 “Admins”, “Users” 및 “Superusers”가 있습니다.

LDA 디렉토리 구조는 각 항목을 식별하는 데 사용되는 고유 이름(DN)에 크게 의존합니다. 이는 고유한 이름을 포함하고 상대 고유 이름(RDN)을 검색하는 데 사용되기 때문입니다.

LDAP 공통 요소

LDAP 데이터 구성을 이해하려면 LDAP 시스템의 항목 구성으로 이어지는 LDAP의 공통 요소를 이해해야 합니다.

기본 LDAP 데이터 구성 요소에는 다음이 포함됩니다.

  • 속성:
  • 항목:
  • 데이터 정보 트리

속성

LDAP의 속성은 키-값 쌍입니다. 이들은 LDAP 시스템 내에 데이터를 저장합니다. 예를 들어 LDAP 시스템 내에서 메일을 저장하려면 mail 속성을 사용해야 합니다.

우편: [email protected]

항목

LDAP 시스템 내의 항목은 속성과 연관되어 의미를 제공합니다. 항목을 관련 속성의 모음으로 생각할 수 있습니다.

예를 들어 LDIF(LDAP Data Interchange Format) 형식의 데이터는 다음과 같습니다.

dn: sn=Hogwarts, ou=wizards, dc=WizardingWorld, dc=fiction

objectclass: wizard

sn: Hogwarts

cn: Harry Potter

데이터 정보 트리

데이터 정보 트리 또는 DIT는 LDAP 시스템 내의 데이터를 나타내고 액세스합니다. 대부분의 데이터는 분기되어 있으므로 트리를 통해 데이터를 나타내는 것이 좋습니다. 부모-자식 연결이 있는 파일 시스템과 유사합니다.

  Crunchyroll이 작동하지 않습니까? Crunchyroll이 로드되지 않는 문제를 해결하는 방법은 다음과 같습니다.

LDAP 데이터 구성

이제 엔터티의 기본 개념을 통해 LDAP 시스템 내에서 데이터 조직을 탐색할 수 있습니다.

여기에서 LDAP는 DIT를 활용하여 데이터를 구성하고 구조화합니다. 그러나 어떻게 달성합니까? 아래에서 논의합시다.

계층적으로 서로 관련된 항목을 DIT에 배치합니다. 따라서 새 항목이 생성되면 기존 항목의 자식으로 트리 구조에 추가됩니다.

모든 것은 DIT의 계층 구조 트리 맨 위에서 시작됩니다. 모든 하위 항목을 다루기 때문에 주로 “dc=com 또는 example과 같은 조직으로 레이블이 지정됩니다. 이것은 쉽게 관리할 수 있도록 도메인 구성 요소를 사용하여 수행됩니다. 이러한 방식으로 관리자는 l=location_name 또는 ou=tech, marketing 등과 같은 조직 세그먼트를 사용하여 위치를 설정할 수 있습니다.

항목은 OU(조직 단위) objectClass를 사용합니다. 항목이 속성 레이블 ou=를 사용할 수 있기 때문입니다. 간단하고 DIT 내에서 정보를 분류하고 찾는 훌륭한 방법을 제공합니다.

다음은 상대 식별 이름으로 알려진 또 다른 중요한 개념입니다. DIT 계층 구조 수준에 따라 요소의 상대적 이름입니다. 따라서 항목에 액세스하려면 상위 RDN 값과 함께 엔터티의 RDN 값을 입력해야 합니다.

이렇게 하면 아래에서 위로 이동하는 RDN 값 체인이 생성되어 해당 항목에 대한 경로가 생성됩니다. 그리고 이 RDN 값 체인을 “고유 이름 또는 DN”이라고 합니다.

즉, LDAP가 새 자산 또는 정보를 배치해야 하는 위치를 정확하게 알 수 있도록 항목 생성 중에 DN을 언급해야 합니다. 따라서 RDN은 상대 값 역할을 하는 반면 DN은 절대 경로에 가깝습니다.

LDAP의 중요성

이 섹션에서는 두 가지 관점에서 LDAP의 중요성을 살펴보겠습니다.

  • 디렉터리 서비스 관리: LDAP 프로토콜에는 LDAP 디렉터리 데이터를 저장하고 액세스하는 적절한 수단이 있습니다. “LDAP 작동 방식 및 데이터 구성 요소” 및 “조직” 섹션에서 이미 논의했습니다. LDAP는 데이터를 관리, 저장, 액세스 및 보호하는 수단입니다. 또한 효율적인 정보 검색을 보장합니다. 또한 확장성과 복제도 제공합니다.
  • 사용자 인증: 디렉토리 서비스 관리 외에도 LDAP는 사용자 인증 및 권한 부여에 탁월합니다. 연결이 생성되면 사용자는 관리자가 설정한 접근 규칙에 따라 저장된 자산에 접근할 수 있습니다.

LDAP 대 Active Directory

사람들이 LDAP와 Active Directory를 혼동하는 것이 일반적입니다. LDAP와 Microsoft의 Active Directory는 긴밀하게 협력하여 부서 간에 조직 데이터를 안전하고 안전하게 저장하고 액세스할 수 있는 수단을 조직에 제공합니다.

따라서 LDAP는 프로토콜인 반면 Active Directory는 조직 데이터를 트리와 같은 구조로 저장하는 디렉터리 서비스 제품입니다.

LDAP는 Active Directory와 같은 디렉토리 서버에 액세스하기 위한 통신 프로토콜 역할을 합니다.

결론

LDAP는 Active Directory 서비스 작업을 위한 핵심 프로토콜입니다. 작동하는 서비스 및 서버에 오버헤드를 발생시키지 않는 경량 프로토콜입니다. 또한 오픈 소스, 벤더 중립적, 표준화 특성으로 인해 기존 솔루션에 쉽게 통합될 수 있습니다.

Multi-Factor Authentication(MFA)을 탐색할 수도 있습니다.