Show Menu
화제×

AEM 6에서 LDAP 구성

LDAP(Lightweight ​Directory ​Access ​Protocol) ​는 중앙 디렉토리 서비스에 액세스하는 데 사용됩니다. 따라서 여러 애플리케이션에서 액세스할 수 있으므로 사용자 계정을 관리하는 데 필요한 노력을 줄일 수 있습니다. 이러한 LDAP 서버 중 하나가 Active Directory입니다. LDAP는 한 번 로그인한 후에 여러 애플리케이션에 액세스할 수 있는 단일 사인온을 달성하는 데 주로 사용됩니다.
LDAP 서버와 저장소 간에 사용자 계정을 동기화할 수 있으며 LDAP 계정 세부 사항을 저장소에 저장할 수 있습니다. 이를 통해 필요한 권한 및 권한을 할당하기 위해 계정을 저장소 그룹에 할당할 수 있습니다.
보관소는 LDAP 인증을 사용하여 이러한 사용자를 인증하며, 자격 증명을 위해 LDAP 서버에 전달되고, 이 자격 증명은 저장소에 대한 액세스를 허용하기 전에 필요합니다. 성능을 향상시키기 위해, 성공적으로 검증된 자격 증명을 보관소에서 캐시할 수 있으며, 만료 시간 초과를 사용하여 적절한 기간 후에 다시 유효성 검사가 수행되는지 확인할 수 있습니다.
LDAP 서버에서 계정이 제거되면 더 이상 확인 권한이 부여되지 않으므로 저장소에 대한 액세스가 거부됩니다. 저장소에 저장된 LDAP 계정의 세부 사항도 삭제할 수 있습니다.
이러한 계정을 사용하는 것은 사용자에게는 투명하게 이루어지므로, LDAP에서 만든 사용자와 그룹 계정 및 저장소에 단독으로 만들어진 계정 간에 차이가 없습니다.
AEM 6에서 LDAP 지원은 이전 버전과 다른 유형의 구성이 필요한 새로운 구현과 함께 제공됩니다.
이제 모든 LDAP 구성을 OSGi 구성으로 사용할 수 있습니다. 웹 관리 콘솔을 통해 다음 링크를 구성할 수 있습니다. https://serveraddress:4502/system/console/configMgr
AEM에서 LDAP를 사용하려면 다음 세 개의 OSGi 구성을 만들어야 합니다.
  1. IDP(LDAP Identity Provider)입니다.
  2. 동기화 핸들러.
  3. 외부 로그인 모듈입니다.
Oak 의 외부 로그인 모듈 - LDAP 및 이후 사용자를 통한 인증 과정을 통해 외부 로그인 모듈을 자세히 살펴보십시오.
Apache DS를 사용하여 Experience Manager를 구성하는 예를 보려면 Apache Directory Service를 사용하도록 Adobe Experience Manager 6.5 구성을 참조하십시오.

LDAP ID 공급자 구성

LDAP ID 공급자는 LDAP 서버에서 사용자를 검색하는 방법을 정의하는 데 사용됩니다.
관리 콘솔에서 Apache Jackrabbit Oak LDAP Identity Provider 이름 아래에 있습니다.
LDAP ID 공급자에 대해 다음 구성 옵션을 사용할 수 있습니다.
LDAP 공급자 이름 이 LDAP 공급자 구성의 이름입니다.
LDAP 서버 호스트 이름 LDAP 서버의 호스트 이름
LDAP 서버 포트 LDAP 서버 포트
SSL 사용 SSL(LDAP) 연결을 사용해야 하는지 여부를 나타냅니다.
TLS 사용 연결에서 TLS를 시작할지를 나타냅니다.
인증서 확인 비활성화 서버 인증서 유효성 검사를 비활성화해야 하는지 여부를 나타냅니다.
바인딩 DN 인증에 대한 사용자의 DN입니다. 이 값이 비어 있으면 익명 바인딩이 수행됩니다.
바인딩 암호 인증을 위한 사용자 암호
검색 시간 초과 검색 시간 초과까지
관리 풀 최대 활성 관리 연결 풀의 최대 활성 크기입니다.
사용자 풀 최대 활성 사용자 연결 풀의 최대 활성 크기입니다.
사용자 기본 DN 사용자 검색용 DN
사용자 객체 클래스 사용자 항목에 포함되어야 하는 객체 클래스 목록입니다.
사용자 ID 속성 사용자 ID가 포함된 속성의 이름입니다.
사용자 추가 필터 사용자를 검색할 때 사용할 추가 LDAP 필터입니다. 최종 필터의 형식은 다음과 같습니다.'(&(<idAttr>=<userId>)(objectclass=<objectclass>)<extraFilter>)'(user.extraFilter)
사용자 DN 경로 중간 경로의 일부를 계산하는 데 DN을 사용해야 하는지 여부를 제어합니다.
그룹 기본 DN 그룹 검색에 대한 기본 DN입니다.
그룹 개체 클래스 그룹 항목에 포함되어야 하는 개체 클래스 목록입니다.
그룹 이름 속성 그룹 이름이 포함된 속성의 이름입니다.
그룹 추가 필터 그룹을 검색할 때 사용할 추가 LDAP 필터입니다. 최종 필터의 형식은 다음과 같습니다.'(&(<nameAttr>=<groupName>)(objectclass=<objectclass>)<extraFilter>)'
그룹 DN 경로 중간 경로의 일부를 계산하는 데 DN을 사용해야 하는지 여부를 제어합니다.
그룹 구성원 속성 그룹의 구성원을 포함하는 그룹 속성입니다.

동기화 처리기 구성

동기화 처리기는 Indentity Provider 사용자 및 그룹이 저장소로 동기화되는 방식을 정의합니다.
관리 콘솔의 Apache Jackrabbit Oak 기본 동기화 처리기 이름 아래에 있습니다.
동기화 처리기에는 다음 구성 옵션을 사용할 수 있습니다.
동기화 처리기 이름 동기화 구성의 이름입니다.
사용자 만료 시간 동기화된 사용자가 만료될 때까지 지속 시간입니다.
사용자 자동 멤버십 동기화된 사용자가 자동으로 추가되는 그룹 목록입니다.
사용자 속성 매핑 외부 속성의 로컬 속성의 목록 매핑 정의입니다.
사용자 경로 접두사 새 사용자를 만들 때 사용되는 경로 접두사입니다.
사용자 멤버십 만료 멤버십이 만료된 후
사용자 멤버십 중첩 깊이 구성원 관계가 동기화될 때 그룹 중첩의 최대 깊이를 반환합니다. 값이 0이면 그룹 구성원 조회를 효과적으로 사용할 수 없습니다. 값이 1이면 사용자의 직접 그룹만 추가됩니다. 이 값은 사용자 멤버십 조상을 동기화할 때만 개별 그룹을 동기화할 때 영향을 주지 않습니다.
그룹 만료 시간 동기화된 그룹이 만료될 때까지 지속 시간입니다.
그룹 자동 구성원 동기화된 그룹이 자동으로 추가되는 그룹 목록입니다.
그룹 속성 매핑 외부 속성의 로컬 속성의 목록 매핑 정의입니다.
그룹 경로 접두사 새 그룹을 만들 때 사용되는 경로 접두사입니다.

외부 로그인 모듈

외부 로그인 모듈은 관리 콘솔 아래의 Apache Jackrabbit Oak 외부 로그인 모듈 아래에 있습니다.
Apache Jackrabbit Oak 외부 로그인 모듈은 JAAS(Java Authentication and Authorization Server) 사양을 구현합니다. 자세한 내용은 공식 Oracle Java Security Reference Guide를 참조하십시오.
이 두 모듈을 효과적으로 바인딩하여 사용할 ID 공급자 및 동기화 핸들러를 정의하는 것이 이들의 역할입니다.
다음 구성 옵션을 사용할 수 있습니다.
JAAS 등급
이 로그인 모듈 항목의 등급(예: 정렬 순서) 지정. 출품작은 내림차순으로 정렬됩니다(즉, 더 높은 값 등급 구성이 먼저 표시됨).
JAAS 컨트롤 플래그
LoginModule이 필요한지 여부를 지정하는 속성, 필수 조건, SUFFICIENT 또는 선택 사항입니다.이러한 플래그의 의미에 대한 자세한 내용은 JAAS 구성 설명서를 참조하십시오.
JAAS 영역
LoginModule을 등록할 영역 이름(또는 응용 프로그램 이름)입니다. 영역 이름이 제공되지 않으면 Felix JAAS 구성에 구성된 대로 LoginModule이 기본 영역으로 등록됩니다.
ID 공급자 이름
ID 공급자의 이름입니다.
동기화 처리기 이름
동기화 핸들러의 이름입니다.
AEM 인스턴스와 두 개 이상의 LDAP 구성을 사용하려는 경우 각 구성에 대해 별도의 ID 제공자 및 동기화 핸들러를 만들어야 합니다.

SSL을 통해 LDAP 구성

아래 절차에 따라 SSL을 통해 LDAP를 인증하도록 AEM 6을 구성할 수 있습니다.
  1. LDAP ID 공급자를 구성할 때 SSL 사용 또는 TLS 사용 확인란을선택합니다.
  2. 설정에 따라 동기화 핸들러와 외부 로그인 모듈을 구성합니다.
  3. 필요한 경우 Java VM에 SSL 인증서를 설치합니다. 이 작업은 키 도구를 사용하여 수행할 수 있습니다.
    keytool -import -alias localCA -file <certificate location> -keystore <keystore location>
  4. LDAP 서버에 대한 연결을 테스트합니다.

SSL 인증서 만들기

자체 서명된 인증서는 SSL을 통해 LDAP에 인증하도록 AEM을 구성할 때 사용할 수 있습니다. 다음은 AEM에서 사용할 인증서를 생성하기 위한 작업 절차의 예입니다.
  1. SSL 라이브러리가 설치되어 있고 작동하는지 확인합니다. 이 절차에서는 OpenSSL을 예로 사용합니다.
  2. 사용자 정의된 OpenSSL 구성(cnf) 파일을 만듭니다. 기본 openssl.cnf ​구성 파일을 복사하고 사용자 정의하여 수행할 수 있습니다. UNIX 시스템의 경우 일반적으로 /usr/lib/ssl/openssl.cnf
  3. 터미널에서 아래 명령을 실행하여 CA 루트 키를 계속 만듭니다.
    openssl genpkey -algorithm [public key algorithm] -out certificatefile.key -pkeyopt [public key algorithm option]
    
    
  4. 다음으로 자체 서명된 새 인증서를 만듭니다.
    openssl req -new -x509 -days [number of days for certification] -key certificatefile.key -out root-ca.crt -config CA/openssl.cnf
  5. 새로 생성된 인증서를 검사하여 모든 것이 순서대로 되어 있는지 확인합니다.
    openssl x509 -noout -text -in root-ca.crt
  6. 인증서 구성(.cnf) 파일에 지정된 모든 폴더가 있는지 확인합니다. 없는 경우 만듭니다.
  7. 예를 들어, 다음을 실행하여 임의 시드를 만듭니다.
    openssl rand -out private/.rand 8192
  8. 생성된 .pem 파일을 .cnf 파일에 구성된 위치로 이동합니다.
  9. 마지막으로 Java 키 저장소에 인증서를 추가합니다.

디버그 로깅 활성화

연결 문제를 해결하기 위해 LDAP ID 공급자와 외부 로그인 모듈 모두에 대해 디버그 로깅을 설정할 수 있습니다.
디버그 로깅을 사용하려면 다음을 수행해야 합니다.
  1. 웹 관리 콘솔로 이동합니다.
  2. "Apache Sling Logging Logger 구성"을 찾아 다음 옵션을 사용하여 두 개의 로거를 만듭니다.
  • 로그 수준:디버그
  • 로그 파일 logs/ldap.log
  • 메시지 패턴:{0,date,dd.MM.yyyy HH:mm:ss.SSS} &ast;{4}&ast;{2} {3} {5}
  • 로거:org.apache.jackrabbit.oak.security.authentication.ldap
  • 로그 수준:디버그
  • 로그 파일:logs/external.log
  • 메시지 패턴:{0,date,dd.MM.yyyy HH:mm:ss.SSS} &ast;{4}&ast;{2} {3} {5}
  • 로거:org.apache.jackrabbit.oak.spi.security.authentication.external

그룹 가입에 대한 단어

LDAP 파섹 이러한 그룹은 동기화 프로세스의 일부로 AEM에 추가될 외부 LDAP 그룹일 수 있지만, 이 그룹은 별도로 추가되는 그룹일 수도 있고 원본 LDAP 그룹 제휴 구성표에 속하지 않을 수도 있습니다.
대부분의 경우, 이러한 그룹은 로컬 AEM 관리자 또는 다른 ID 공급자가 추가하는 그룹일 수 있습니다.
LDAP 서버의 그룹에서 사용자가 제거되면 동기화 시 변경 사항이 AEM 쪽에도 반영됩니다. 그러나 LDAP에 의해 추가되지 않은 사용자의 다른 모든 그룹 제휴는 그대로 유지됩니다.
AEM 파섹 rep:externalId 이 속성은 동기화 처리기에서 동기화한 모든 사용자 또는 그룹에 자동으로 추가되며 원래 ID 공급자에 대한 정보가 포함됩니다.
자세한 내용은 사용자 및 그룹 동기화에 대한 Apache Oak 설명서를 참조하십시오 .

알려진 문제

SSL을 통해 LDAP를 사용할 계획인 경우 Netscape 주석 옵션 없이 사용 중인 인증서가 작성되었는지 확인합니다. 이 옵션을 활성화하면 SSL 핸드셰이크 오류로 인해 인증이 실패합니다.