AEM 6에서 LDAP 구성 configuring-ldap-with-aem
LDAP (다음 L 두께 D 직관 A 액세스 P 프로토콜)은 중앙 디렉토리 서비스에 액세스하는 데 사용됩니다. 따라서 여러 애플리케이션에서 액세스할 수 있으므로 사용자 계정을 관리하는 데 필요한 노력을 줄일 수 있습니다. 이러한 LDAP 서버 중 하나는 Active Directory입니다. LDAP는 한 번에 로그인한 후 사용자가 여러 응용 프로그램에 액세스할 수 있도록 해주는 단일 사인온을 달성하는 데 종종 사용됩니다.
사용자 계정은 LDAP 서버와 저장소 간에 동기화될 수 있으며 LDAP 계정 세부 정보는 저장소에 저장됩니다. 필요한 권한 및 권한을 할당하기 위해 저장소 그룹에 계정을 지정할 수 있습니다.
저장소는 LDAP 인증을 사용하여 해당 사용자를 인증하며 검증을 위해 LDAP 서버로 전달되며, 이 인증은 저장소에 대한 액세스를 허용하기 전에 필요합니다. 성능을 향상시키기 위해 저장소에서 유효성이 확인된 자격 증명을 캐시할 수 있으며, 만료 시간 제한을 사용하여 적절한 기간 후에 재유효성 검사가 수행되도록 할 수 있습니다.
LDAP 서버 검증에서 계정이 제거되어 저장소에 대한 액세스가 더 이상 허용되지 않는 경우 저장소에 저장된 LDAP 계정의 세부 정보도 제거할 수 있습니다.
이러한 계정의 사용은 사용자에게 투명하며, LDAP에서 생성된 사용자 및 그룹 계정과 저장소에서만 생성된 계정 간에 차이가 없습니다.
AEM 6에서 LDAP 지원은 이전 버전과 다른 유형의 구성이 필요한 새로운 구현과 함께 제공됩니다.
이제 모든 LDAP 구성을 OSGi 구성으로 사용할 수 있습니다. 웹 관리 콘솔을 통해 구성할 수 있는 위치:https://serveraddress:4502/system/console/configMgr
LDAP가 AEM에서 작동하도록 하려면 3개의 OSGi 구성을 만들어야 합니다.
- IDP(LDAP Identity Provider)입니다.
- 동기화 처리기입니다.
- 외부 로그인 모듈입니다.
LDAP ID 공급자 구성 configuring-the-ldap-identity-provider
LDAP ID 공급자는 LDAP 서버에서 사용자를 검색하는 방법을 정의하는 데 사용됩니다.
이 정보는 아래의 관리 콘솔에서 찾을 수 있습니다. Apache Jackrabbit Oak LDAP Identity Provider 이름.
LDAP ID 공급자에 대해 다음 구성 옵션을 사용할 수 있습니다.
동기화 처리기 구성 configuring-the-synchronization-handler
동기화 처리기는 Indentity Provider 사용자 및 그룹이 리포지토리와 동기화되는 방식을 정의합니다.
그것은 아래 있습니다 Apache Jackrabbit Oak 기본 동기화 처리기 관리 콘솔에서 이름을 지정합니다.
동기화 처리기에 대해 다음 구성 옵션을 사용할 수 있습니다.
외부 로그인 모듈 the-external-login-module
외부 로그인 모듈은 Apache Jackrabbit Oak 외부 로그인 모듈 관리 콘솔 아래에 있습니다.
이 두 모듈을 효과적으로 바인딩하여 사용할 ID 공급자 및 동기화 핸들러를 정의하는 것이 좋습니다.
다음 구성 옵션을 사용할 수 있습니다.
SSL을 통해 LDAP 구성 configure-ldap-over-ssl
다음 절차에 따라 SSL을 통해 LDAP를 인증하도록 AEM 6을 구성할 수 있습니다.
-
을(를) 확인합니다. SSL 사용 또는 TLS 사용 구성할 때의 확인란 LDAP ID 공급자.
-
설정에 따라 동기화 핸들러 및 외부 로그인 모듈을 구성합니다.
-
필요한 경우 Java VM에 SSL 인증서를 설치합니다. 이 작업은 키 도구를 사용하여 수행할 수 있습니다.
keytool -import -alias localCA -file <certificate location> -keystore <keystore location>
-
LDAP 서버에 대한 연결을 테스트합니다.
SSL 인증서 만들기 creating-ssl-certificates
자체 서명된 인증서는 SSL을 통해 LDAP로 인증하도록 AEM을 구성할 때 사용할 수 있습니다. 다음은 AEM에서 사용할 인증서를 생성하는 작업 절차의 예입니다.
-
SSL 라이브러리가 설치 및 작동하는지 확인합니다. 이 절차는 OpenSSL을 예로 사용합니다.
-
사용자 지정된 OpenSSL 구성(cnf) 파일을 만듭니다. 이 작업은 기본 openssl.cnf 구성 파일을 복사하고 사용자 지정하여 수행할 수 있습니다. UNIX 시스템에서는 일반적으로
/usr/lib/ssl/openssl.cnf
-
단말에서 아래 명령을 실행하여 CA 루트 키 만들기를 계속합니다.
code language-none openssl genpkey -algorithm [public key algorithm] -out certificatefile.key -pkeyopt [public key algorithm option]
-
그런 다음 자체 서명된 새 인증서를 만듭니다.
openssl req -new -x509 -days [number of days for certification] -key certificatefile.key -out root-ca.crt -config CA/openssl.cnf
-
Inspect에서 새로 생성된 인증서를 사용하여 모든 것이 제대로 작동하는지 확인합니다.
openssl x509 -noout -text -in root-ca.crt
-
인증서 구성(.cnf) 파일에 지정된 모든 폴더가 있는지 확인합니다. 없는 경우 만듭니다.
-
실행(예: )하여 임의의 시드를 생성합니다.
openssl rand -out private/.rand 8192
-
만든 .pem 파일을 .cnf 파일에 구성된 위치로 이동합니다.
-
마지막으로 인증서를 Java 키 저장소에 추가합니다.
디버그 로깅 활성화 enabling-debug-logging
연결 문제를 해결하기 위해 LDAP ID 공급자와 외부 로그인 모듈에 대해 디버그 로깅을 사용할 수 있습니다.
디버그 로깅을 사용하려면 다음을 수행해야 합니다.
- 웹 관리 콘솔로 이동합니다.
- "Apache Sling Logging Logger 구성"을 찾아 다음 옵션을 사용하여 두 개의 로거를 만듭니다.
-
로그 수준: 디버그
-
로그 파일 logs/ldap.log
-
메시지 패턴: {0,date,dd.MM.yyyy HHss.SSS} *{4}* {2}
-
로거: org.apache.jackrabbit.oak.security.authentication.ldap
-
로그 수준: 디버그
-
로그 파일: logs/external.log
-
메시지 패턴: {0,date,dd.MM.yyyy HHss.SSS} *{4}* {2}
-
로거: org.apache.jackrabbit.oak.spi.security.authentication.external
그룹 계열에 대한 언급 a-word-on-group-affiliation
LDAP를 통해 동기화된 사용자는 AEM에서 다른 그룹의 일부일 수 있습니다. 이러한 그룹은 동기화 프로세스의 일부로 AEM에 추가될 외부 LDAP 그룹일 수 있지만 별도로 추가된 그룹일 수 있으며 원래 LDAP 그룹 제휴 체계에 포함되지 않습니다.
대부분의 경우 로컬 AEM 관리자 또는 다른 ID 공급자가 추가하는 그룹일 수 있습니다.
사용자가 LDAP 서버의 그룹에서 제거되면 동기화 시 변경 내용이 AEM 측에도 반영됩니다. 그러나 LDAP에 의해 추가되지 않은 사용자의 다른 모든 그룹 계열은 그대로 유지됩니다.
AEM에서는 를 사용하여 외부 그룹에서 사용자를 감지하고 처리합니다 rep:externalId
속성을 사용합니다. 이 속성은 동기화 처리기에 의해 동기화된 사용자 또는 그룹에 자동으로 추가되며 원래 ID 공급자에 대한 정보가 포함되어 있습니다.
자세한 내용은 사용자 및 그룹 동기화.
알려진 문제 known-issues
SSL을 통해 LDAP를 사용할 계획이라면 사용 중인 인증서가 Netscape 주석 옵션 없이 작성되었는지 확인하십시오. 이 옵션을 활성화하면 SSL 핸드셰이크 오류로 인해 인증이 실패합니다.