2.6. Active Directory에 대한 추가 고려 사항
이 섹션에서는 JBoss EAP가 Active Directory 도메인의 일부인 Microsoft Windows 서버에서 실행될 때 SPNEGO 인증에 필요한 계정을 구성하는 방법에 대해 설명합니다.
이 섹션에서는 서버에 액세스하는 데 사용되는 호스트 이름을 HOST_NAME 이라고 하고, 영역을 REALM, 도메인이라고도 하며 , JBoss EAP 인스턴스를 호스팅하는 서버를 MACHINE_NAME 이라고 합니다.
2.6.1. Microsoft Windows 도메인 구성 링크 복사링크가 클립보드에 복사되었습니다!
기존 서비스 주체 매핑 지우기.
Microsoft Windows 네트워크에서 일부 매핑은 자동으로 생성됩니다. 자동으로 생성된 매핑을 삭제하여 서버의 ID를 서비스 주체에 매핑하여 협상을 올바르게 수행합니다. 매핑을 사용하면 클라이언트 컴퓨터에서 웹 브라우저가 서버를 신뢰하고 SPNEGO를 시도할 수 있습니다. 클라이언트 컴퓨터는 HTTP/
HOST_NAME형식으로 매핑에 대한 도메인 컨트롤러로 확인합니다.다음은 기존 매핑을 삭제하는 단계입니다.
명령을 사용하여 컴퓨터의 도메인에 등록된 매핑을 나열합니다.
setspn -L MACHINE_NAME명령을 사용하여 기존 매핑을 삭제합니다.
setspn -D HTTP/HOST_NAME MACHINE_NAMEsetspn -D host/HOST_NAME MACHINE_NAME호스트 사용자 계정을 만듭니다.
참고호스트 사용자 이름이
MACHINE_NAME과 다른지 확인합니다.섹션의 나머지 부분에서 호스트 사용자 이름을
USER_NAME이라고 합니다.USER_NAME과간의 매핑을 정의합니다.HOST_NAME다음 명령을 실행하여 서비스 주체 매핑을 구성합니다.
ktpass -princ HTTP/HOST_NAME@REALM -pass * [-kvno 0] -mapuser DOMAIN\USER_NAME -out jboss.keytab -ptype KRB5_NT_PRINCIPAL -crypto all메시지가 표시되면 사용자 이름의 암호를 입력합니다.
다음 명령을 실행하여 매핑을 확인합니다.
setspn -L USER_NAME.참고네가있는 경우
KrbException: 지정된 버전의 키를 사용할 수 없습니다.JRE의 오류, 키 버전을0으로 설정해야 할 수도 있습니다 :-kvno 0. REALM 은 모두 대문자여야 하지만 HOST_NAME 은 모두 소문자여야 합니다. 또한 HOST_NAME 은 FQDN이어야 하며 확인 가능한A또는AAAA레코드여야 하며CNAME레코드가 아닙니다.crypto를 사용하는 것은Windows Server 2008 이상에서만 작동합니다. Windows Server 2003의 경우 정확한 설정을 지정해야 합니다.보안 도메인 내에서 주체를 정의합니다.
주체는
elytron또는 legacy보안하위 시스템에서HTTP/HOST_NAME@REALM으로 정의하거나 업데이트할 수 있습니다.중요예를 들어 옵션 또는 암호 변경과 같이 사용자를 수정한 경우
keytab을 다시 생성해야 합니다.