Kerberos SSO를 위한 Engineering Lifecycle Management 클라이언트 구성

Java 기술을 기반으로 하고 Kerberos 인증을 지원하는 모든 IBM® Engineering Lifecycle Management 클라이언트는 명시적으로 구성해야 합니다.

Microsoft Visual Studio IDE용 Engineering Workflow Management 클라이언트, Engineering Workflow Management Windows 탐색기 통합 및 Engineering Workflow Management MS-SCCI 공급자에는 Java 구성 요소가 내장되어 있으므로 이러한 클라이언트도 Kerberos 인증을 사용하도록 구성해야 합니다.

Engineering Lifecycle Management 클라이언트의 Kerberos 인증은 기본 JRE(Java Runtime Engine)에서 일반 보안 서비스 보안 애플리케이션 프로그래밍 인터페이스(GSS-API)를 사용하여 구현됩니다. 이 라이브러리 구성은JAASJava 인증 및 권한 부여 서비스) 또는 JAAS API의 표준 시스템 속성으로 제어됩니다(표 1 참조).
테이블 1. ' Kerberos'를 지원하는 ' Engineering Lifecycle Management 클라이언트의 시스템 속성 /SPNEGO
Java 시스템 특성 설명
-Djava.security.krb5.realm 클라이언트를 연결하기 위한 영역(Kerberos 도메인 이름).
중요: ' java.security.krb5.realm ' 및 ' java.security.krb5.kdc ' 시스템 속성은 함께 설정해야 하며, 그렇지 않으면 무시됩니다.
-Djava.security.krb5.kdc 클라이언트를 연결할 Microsoft Active Directory KDC(키 배포 센터)의 호스트 이름입니다. 서버에서 기본 포트를 사용하지 않는 경우 포트 번호도 포함해야 합니다.
중요: ' java.security.krb5.realm ' 및 ' java.security.krb5.kdc ' 시스템 속성은 함께 설정해야 합니다. 함께 설정하지 않으면 무시됩니다.
-Djava.security.krb5.conf Kerberos 버전 5 구성 파일에 대한 경로.

이 파일은 기본 위치에서 찾을 수 있는 krb5.ini 또는 krb5.conf 파일과 동일한 형식이지만 별도의 파일입니다. 파일은 어떤 이름이든 가질 수 있으며 krb5.conf, 다른 구성 속성을 포함할 수도 있습니다. 그러나 구성 특성의 작은 서브세트만으로 기능 클라이언트를 보유할 수 있습니다. 또한 IBM JRE는 모든 구성 특성을 지원하지는 않습니다.

참고: 이러한 시스템 속성은 ' java.security.krb5.realm ' 및 ' java.security.krb5.kdc ' 속성 대신 설정할 수 있습니다.

Kerberos 지원 Engineering Lifecycle Management 서버와 연결 설정하기

  1. Java 시스템 속성을 설정합니다.

    Java 시스템 속성 java.security.krb5.realm 및 java.security.krb5.kdc 또는 java.security.krb5.conf 사용하여 Kerberos 인증을 위한 Engineering Lifecycle Management 클라이언트를 구성할 수 있습니다. 클라이언트 구성 파일을 수정하거나 클라이언트 연결 마법사를 사용하여 설정할 수 있습니다.

    • 연결 마법사를 사용하여 시스템 속성 설정하기

      Engineering Workflow Management Eclipse 클라이언트에는 각각의 연결 마법사에서 이러한 시스템 속성을 설정할 수 있는 구성 인터페이스가 있습니다.

      속성 대화상자입니다.

      연결 마법사에서는 Kerberos 구성 파일을 사용할 수도 있습니다. Kerberos 구성 파일 샘플은 아래를 참조하세요.

    • 클라이언트 구성 파일을 사용하여 시스템 속성 설정
      이러한 Java 시스템 속성은 Engineering Lifecycle Management 클라이언트 구성 파일의 - vmargs 섹션에서 설정할 수 있습니다. 예를 들어 SCM 클라이언트를 구성하는 경우 구성 파일 Client- ' Install-Dir\scmtools\eclipse\scm.ini '을 사용할 수 있습니다. 구성이 완료되면 아래와 같이 표시됩니다:
      -vm
      ../../jdk/jre/bin
      -startup
      plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
      --launcher.library
      plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20150204-1316
      --launcher.suppressErrors
      -data
      @noDefault
      -vmargs
      -Xmx512m
      -Xshareclasses:nonfatal
      -Xquickstart
      -Dosgi.requiredJavaVersion=1.8
      -Xdump:system:events=systhrow,filter=java/lang/OutOfMemoryError,request=exclusive+prepwalk
      -Dorg.eclipse.emf.ecore.plugin.EcorePlugin.doNotLoadResourcesPlugin=true
      -Djava.security.krb5.realm=REALM.NAME
      -Djava.security.krb5.kdc=ad.my.domain
      이전 예제에는 다음 매개 변수가 포함되어 있습니다:
      • REALM.NAME '은 Kerberos 영역입니다
      • ad.my.domain '은 KDC 호스트 이름입니다
      일부 클라이언트 구성 파일의 위치는 다음과 같습니다:
      • Build-Client-Install-Dir\buildsystem\buildengine\eclipse\jbe.ini
      • SCM-Client-Install-Dir\scmtools\eclipse\scm.ini
      • EWM-Client-Install-Dir\eclipse.ini
  2. 인증 유형을 Kerberos 선택하여 연결을 시작합니다

    인증 유형은 연결 마법사에서 선택하거나 명령줄에서 적절한 매개변수 값을 입력하여 선택할 수 있습니다.

    다음은 scm 클라이언트에 Kerberos 인증 유형을 사용하는 샘플 명령줄입니다:

    scm login -r https://jazzserver1.realm.name:9443/ccm --kerberos

    JRE는 운영 체제 디렉터리 또는 JRE 설치 디렉터리에 있는 잘 알려진 이름의 구성 파일을 검색할 수도 있습니다(표 2 참조). Kerberos/SPNEGO를 사용하는 JRE 설치는 시스템 특성을 사용하는 대신 이러한 중앙 구성 파일에 의존합니다.

    관리자는 클라이언트 소프트웨어 배치 또는 클라이언트 운영 체제를 쉽게 변경할 수 있는지 여부에 따라 클라이언트 구성 값을 구성하기 위한 전략을 선택할 수 있습니다.

클라이언트 구성 택승을 찾기 위한 JRE 검색 알고리즘

JRE는 클라이언트 구성 특성을 찾기 위해 다음 검색 알고리즘을 적용합니다.

  1. java.security.krb5.realmjava.security.krb5.kdc 시스템 특성이 클라이언트에 설정되어 있는 경우 JRE는 각각 기본 영역 및 KDC로 이러한 값을 사용합니다.
    참고: 이러한 구성 값이 ' java.security.krb5.conf 시스템 속성에 지정되어 있거나 기본 위치 중 하나에 있는 경우 ' krb5.conf ' 또는 ' krb5.ini ' 파일에 설정된 모든 기본값을 재정의합니다.
  2. ' java.security.krb5.realm ' 및 ' java.security.krb5.kdc ' 속성이 설정되지 않은 경우, JRE는 ' java.security.krb5.conf 속성에 지정되어 있거나 기본 위치 중 하나에서 해당 파일이 발견되면 ' krb5.conf ' 또는 ' krb5.ini ' 파일에서 기본 영역 및 KDC를 찾습니다.
  3. 3개 시스템 특성이 설정되어 있지 않은 경우 JRE는 다음 알고리즘을 적용합니다.
    1. JRE는 다음 디렉토리에서 krb5.conf 파일을 검색합니다.

      Windows 운영 체제 아이콘 Java-Install-Dir\lib\security

      UNIX 운영 체제 아이콘 Java-Install-Dir/lib/security

      여기서, Java-Install-Dir은 클라이언트 컴퓨터에서 JRE가 설치되어 있는 디렉토리입니다.

    2. 그래도 ' krb5.conf 파일을 찾을 수 없는 경우 JRE는 표 2에 지정된 위치에서 구성 파일을 검색합니다.
      테이블 2. 클라이언트 컴퓨터에서 Kerberos 구성 파일의 가능한 위치
      운영 체제 위치
      Windows 운영 체제 아이콘 C:\Windows\krb5.ini
      Linux 운영 체제 아이콘 /etc/krb5.conf
      기타 UNIX 운영 체제 아이콘 시스템 /etc/krb5/krb5.conf
      Mac OS X 운영 체제 아이콘 /etc/krb5.conf
      z/OS 운영 체제 아이콘 /etc/krb5/krb5.conf
      IBM i 운영 체제 아이콘 /QIBM/UserData/OS400/NetworkAuthentication/krb5.conf

예제 krb5.conf 또는 krb5.ini 파일

다음 예제 krb5.conf 또는 krb5.ini 파일에는 최소 구성이 포함되어 있습니다. 고급 설정에는 더 많은 매개 변수가 필요할 수 있습니다.
    [libdefaults]
        default_realm = REALM.NAME
    [realms]
        REALM.NAME = {
            kdc = ad.my.domain:88
            default_domain = my.domain
        }
    [domain_realms]
        .my.domain = REALM.NAME
예제에 포함된 매개변수는 다음과 같습니다.
  • REALM.NAME은 Kerberos 영역입니다.
  • my.domain은 도메인 이름입니다.
  • ad.my.domain '은 KDC 호스트 이름입니다.
중요:
  • 이 파일의 정의는 대소문자를 구분합니다. 예를 들어, Kerberos 영역(예제에서 REALM.NAME)은 모두 대문자여야 합니다.
  • 여기에 설명된 Kerberos ' krb5.conf ' 또는 ' krb5.ini ' 파일은 SPNEGO를 사용하여 IBM WebSphere® Liberty 구성하는 데 사용되는 동일한 이름의 Kerberos 구성 파일과 동일하지 않습니다. 두 파일 모두 JRE의 Kerberos를 지원하는 반면 각기 다른 목적을 갖습니다.

Engineering Lifecycle Management Eclipse 클라이언트에서 Kerberos SSO를 활성화하기 위해 IBM JRE에 세션 키 제공

기본적으로, Microsoft Windows는 써드파티 애플리케이션이 TGT(ticket-granting ticket)를 검색하는 것을 제한하며 Kerberos 보안 패키지에서 세션 키 쌍을 제한합니다. Engineering Lifecycle Management Eclipse 클라이언트에 포함된 IBM JRE는 이 Windows 제한의 영향을 받는 타사 애플리케이션 중 하나입니다. Engineering Lifecycle Management 웹 클라이언트는 영향을 받지 않습니다. 통합 Windows 인증을 선택하지 않고 Eclipse 클라이언트를 설치한 경우, 이 제한을 제거하려면 Windows 레지스트리를 수동으로 업데이트해야 합니다.

  1. Windows 레지스트리 편집기인 regedit을 엽니다.
  2. ' HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters'로 이동합니다.
  3. 다음 속성과 값을 사용하여 allowtgtsessionkey 키를 생성합니다:
    • 데이터 유형 REG_DWORD
    • 값: 1(기본값은 0)
    참고: 일부 Windows 버전의 경우, ' HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos'에 allowtgtsessionkey 키를 생성해야 합니다. 문제를 방지하기 위해, 키를 두 위치에 모두 작성하는 것이 좋습니다.
  4. 클라이언트 컴퓨터를 다시 시작하십시오.