JBoss(AEM Forms JEE)에서 AEM Forms 데이터베이스 암호 업데이트 및 암호화

AEM Forms on JEE는 JBoss 데이터 소스 구성 파일(예: lc_oracle.xml 또는 lc_turnkey.xml)에 데이터베이스 자격 증명을 저장하므로 데이터베이스 암호가 변경되거나 암호화가 필요한 경우 AEM Forms에서 데이터 소스를 인증할 수 없고 연결 오류가 발생합니다. LCM(구성 관리자) 실행 중 또는 JBoss 시작 시 일반적으로 데이터베이스 회전, 자격 증명 변경 또는 일반 텍스트에서 암호화된 암호로의 변환 후 오류가 발생합니다. JBoss/EAP 버전과 일치하는 방법을 사용하여 암호화된 암호를 재생성하고 데이터 소스 구성 파일을 업데이트하면 연결이 복원됩니다.

설명 description

환경:

  • JEE의 AEM Forms
  • Adobe Experience Manager 온-프레미스 소프트웨어
  • JBoss EAP 7.x(PicketBox 암호화)
  • JBoss EAP 8(Elytron 자격 증명 저장소)

문제/증상:

  • LCM이 ALC-LCM-110-030 코드로 데이터 소스를 구성하지 못했습니다 오류를 보고합니다.
  • JBoss 또는 AEM 시작이 실패하고 사용자에 대한 액세스가 거부되었습니다(암호 사용: YES)​와(과) 같은 데이터베이스 오류가 발생합니다.

근본 원인:

AEM Forms은 JBoss 정의 데이터 소스를 사용합니다. 구성된(및 종종 암호화된) 암호가 실제 데이터베이스 사용자 암호와 일치하지 않으면 데이터 소스 인증이 실패합니다. 이 문제는 lc_oracle.xml 또는 lc_turnkey.xml을(를) 업데이트하지 않고 데이터베이스 암호를 회전하거나, 변경 후 암호화된 암호를 다시 생성하지 않거나, 환경에서 레거시 PicketBox 암호화와 Elytron 자격 증명 저장소 항목을 혼합할 때 발생합니다.

확인하는 방법

  1. 설치에서 사용하는 암호 메커니즘을 식별합니다. lc_turnkey.xml 또는 lc_oracle.xml을(를) 열고 암호 필드를 확인합니다. {MASK-...}(으)로 시작하는 암호는 PicketBox를 나타내고 자격 증명 저장소 참조를 사용하는 암호 식은 Elytron을 나타냅니다.
  2. 암호화 유형이 JBoss/EAP 버전과 일치하는지 확인합니다. PicketBox는 EAP 7.x 설치에 일반적으로 사용됩니다. Elytron 자격 증명 저장소는 EAP 7.4에 대해 선택 사항이며 EAP 8에는 필수입니다.

해결 방법 resolution

  1. 수정하기 전에 현재 구성 파일을 백업합니다. jboss/standalone/configuration/lc_turnkey.xml 또는 lc_oracle.xml을(를) 복사하고 백업 타임스탬프를 확인합니다. 백업 없이 진행하지 마십시오.

  2. EAP 7.x용 PicketBox 메서드를 사용하여 새 데이터베이스 암호를 암호화합니다. 아래 암호화 명령을 실행하고 메시지가 표시되면 새 데이터베이스 암호를 입력합니다. 이 명령은 암호화되고 마스킹된 값을 인쇄합니다.

    code language-none
    java -cp modules/system/layers/base/org/jboss/logging/main/jboss-logging-3.4.1.Final-redhat-00001.jar;modules/system/layers/base/org/picketbox/main/picketbox-5.0.3.Final-redhat-00007.jar;modules/system/layers/base/org/picketbox/main/picketbox-commons-1.0.0.final-redhat-5.jar;modules/system/layers/base/org/picketbox/main/picketbox-infinispan-5.0.3.Final-redhat-00007.jar org.picketbox.datasource.security.SecureIdentityLoginModule
    

    명령이 실패하면 Java 경로와 모듈 경로가 환경에 표시된 대로 정확하게 존재하는지 확인합니다.

  3. lc_turnkey.xml 또는 lc_oracle.xml에서 암호화된 암호를 업데이트하십시오. <password> 태그 내의 기존 암호화된 값을 새로운 암호화된 값으로 바꾸고 XML 구문 오류가 없는지 확인합니다. 파일이 유효하지 않은 경우 백업에서 복원하고 다시 시도하십시오.

  4. AEM Forms을 호스팅하는 애플리케이션 서버를 다시 시작합니다. 데이터 원본 초기화에 대해 server.log을(를) 검토하십시오. 그래도 서버가 실패하면 로그에서 SQL 인증 오류를 확인하고 실제 데이터베이스 암호를 다시 확인합니다.

  5. (선택 사항) PicketBox 대신 Elytron을 선택하는 경우 Elytron 자격 증명 저장소를 구성합니다. Experience League Elytron 자격 증명 저장소 안내서에 따라 Elytron 지원 항목으로 JBoss 부트를 확인합니다. 저장소가 로드되지 않으면 EAP 7.x 설치 시 지원되는 PicketBox로 되돌립니다.

유효성 검사

  1. AEM 시작 확인: 로그인 화면이 로드되지만 사용자 이름과 암호가 일치하지 않습니다 오류가 발생했습니다.
  2. 데이터 원본 연결 확인: server.log에 SQL 인증 예외가 나타나지 않습니다.

관련 읽기

recommendation-more-help
experience-cloud-kcs-help-kbarticles