LDAP(Lightweight Directory Access Protocol) 검색 필터 구성

이 주제를 사용하여 LDAP 검색 필터를 구성하십시오. 이러한 단계는 특정 LDAP 디렉토리 유형에 대해 기존 사용자 및 그루 필터를 수정하고 또한 인증서를 LDAP 서버의 항목에 맵핑하도록 인증서 필터를 설정하기 위해 필요합니다.

시작하기 전에

WebSphere® Application Server는 LDAP(Lightweight Directory Access Protocol) 필터를 사용하여 LDAP 디렉토리 서버로부터 사용자 및 그룹에 대한 정보를 검색하고 얻습니다. 제품이 지원하는 각 LDAP 서버에 대해 기본 필터 세트가 제공됩니다. 사용자의 LDAP 구성에 맞도록 이러한 필터를 수정할 수 있습니다. 필터가 수정된 후 확인 또는 적용을 클릭하면 독립형 LDAP 레지스트리 패널의 디렉토리 유형이 사용자 정의 필터가 사용됨을 나타내는 사용자 정의로 변경됩니다. 또한 LDAP 서버의 추가 유형을 지원하는 필터를 개발할 수도 있습니다. 추가 LDAP 디렉토리를 지원하기 위한 노력은 선택사항이고 다른 LDAP 디렉토리 유형은 지원되지 않습니다. 관리 콘솔에서 다음 단계를 완료하십시오.

프로시저

  1. 보안 > 글로벌 보안을 클릭하십시오.
  2. 사용자 계정 저장소 아래에서 독립형 LDAP 레지스트리를 선택한 다음 구성을 클릭하십시오.
  3. 추가 특성 아래에서 고급 LDAP(Lightweight Directory Access Protocol) 사용자 레지스트리 설정을 클릭하십시오.
  4. 필요한 경우 사용자 필터를 수정하십시오. 사용자 필터는 레지스트리에서 사용자를 검색하는 데 사용되고 일반적으로 보안 역할 대 사용자 지정에 사용됩니다. 필터는 또한 필터에 지정된 속성이 있는 사용자를 인증하는 데 사용됩니다. 필터는 디렉토리 서비스에서 사용자를 검색하는 데 사용되는 특성을 지정합니다.

    다음 예에서 사용자의 약칭인 %v에 지정된 특성은 고유 키여야 합니다. 동일한 오브젝트 클래스가 있는 두 개의 LDAP 항목이 동일한 약칭을 가질 수 없습니다. 사용자 ID(uid)를 기반으로 사용자를 검색하고 inetOrgPerson 오브젝트 클래스를 사용하려면 다음 구문을 지정하십시오.

    (&(uid=%v)(objectclass=inetOrgPerson)

    이 구문에 대한 자세한 정보는 특정 Directory Server를 LDAP 서버로 사용 문서를 참조하십시오.

  5. 필요한 경우 Kerberos 사용자 필터를 수정하십시오. Kerberos 사용자 필터 이름은 레지스트리에서 Kerberos 프린시펄 이름을 검색하는데 사용됩니다. Kerberos 프린시펄 이름을 보유하는 LDAP 속성을 지정하십시오.
    IBM Lotus Domino 기본 krbuser 필터:
    (&(krbPrincipalName=%v)(objectcategory=Person))
    IBM SecureWay Directory Server 기본 krbuser 필터:
    (&(krbPrincipalName=%v)(objectcategory=ePerson))
    Microsoft Active Directory 기본 krbuser 필터:
    (&(userprincipalname=%v)(objectcategory=user))
    Sun Java System Directory Server 기본 krbuser 필터:
    (&(krbPrincipalName=%v)(objectcategory=inetOrgPerson))
    Novell eDirectory 기본 krbuser 필터:
    (&(krbPrincipalName=%v)(objectcategory=Person))
  6. 옵션: 연합 저장소를 사용 중인 경우에는 필요한 경우 Kerberos 속성 이름을 수정하십시오. Kerberos 속성 이름은 레지스트리에서 Kerberos 프린시펄을 검색하는 데 사용됩니다. Kerberos 프린시펄 이름을 보유하는 LDAP 속성을 지정하십시오.
    IBM Lotus Domino 기본 krbuser 필터:
    krbPrincipalName
    IBM SecureWay Directory Server 기본 krbuser 필터:
    krbPrincipalName
    Microsoft Active Directory 기본 krbuser 필터:
    userprincipalname
    Sun Java System Directory Server 기본 krbuser 필터:
    krbPrincipalName
    Novell eDirectory 기본 krbuser 필터:
    krbPrincipalName
  7. 필요한 경우 그룹 필터를 수정하십시오. 그룹 필터는 레지스트리에서 그룹을 검색하는 데 사용되고 일반적으로 보안 역할 대 그룹 지정에 사용됩니다. 또한 필터는 디렉토리 서비스에서 그룹을 검색하는 기준이 되는 특성을 지정하는 데 사용됩니다.

    다음 예에서 그룹의 약칭인 %v에 지정된 특성은 고유 키여야 합니다. 동일한 오브젝트 클래스가 있는 두 개의 LDAP 항목이 동일한 약칭을 가질 수 없습니다. 공통 이름(CN)을 기반으로 그룹을 찾아보고 groupOfNames 오브젝트 클래스 또는 groupOfUniqueNames 오브젝트 클래스를 사용하려면 다음 구문을 지정하십시오.

    (&(cn=%v)(|(objectclass=groupOfNames)(objectclass=groupOfUniqueNames)))

    이 구문에 대한 자세한 정보는 특정 Directory Server를 LDAP 서버로 사용 문서를 참조하십시오.

  8. 필요한 경우 사용자 ID 맵을 수정하십시오. 이 필터는 사용자의 약칭을 LDAP 항목에 맵핑하고 이러한 사용자가 약칭과 함께 표시될 때 사용자를 나타내는 정보의 일부를 지정합니다. 예를 들어, object class = inetOrgPerson의 항목을 ID별로 표시하려면 inetOrgPerson:uid를 지정하십시오. 이 필드는 세미콜론으로 구분된 여러 objectclass:property 쌍을 사용합니다. getCallerPrincipal 메소드 및 getUserPrincipal 메소드와 같은 메소드에 일관된 값을 제공하기 위해 이 필터를 사용하여 구하는 약칭이 사용됩니다. 예를 들어, CN=Bob Smith, ou=austin.ibm.com, o=IBM, c=US 사용자는 정의된 속성을 사용하여 로그인할 수 있지만(예: 이메일 주소, 사회 보장 번호 등) 이러한 메소드가 호출되면 사용자가 로그인하는 방법과 관계 없이 bob 사용자 ID가 리턴됩니다.
    참고: getUserDisplayName API만이 사용자 ID 맵을 존중합니다.
  9. 필요한 경우 그룹 ID 맵 필터를 수정하십시오. 이 필터는 그룹의 약칭을 LDAP 항목으로 맵핑하고 그룹이 표시될 때 그룹을 나타내는 정보의 일부를 지정합니다. 예를 들어, 해당 이름에 따라 그룹을 표시하려면, *:cn을 지정하십시오. 별표(*)는 이 경우에 오브젝트 클래스에서 검색하는 와일드카드 문자입니다. 이 필드는 세미콜론으로 구분된 여러 objectclass:property 쌍을 사용합니다.
  10. 필요한 경우 그룹 구성원 ID 맵 필터를 수정하십시오. 이 필터는 사용자 대 그룹 멤버십을 식별합니다. SecureWay 및 Domino® 디렉토리 유형의 경우, 이 필드는 사용자가 지정된 속성에 포함되는지를 확인하기 위해 지정된 오브젝트 클래스와 일치하는 모든 그룹을 쿼리하는 데 사용됩니다. 예를 들어, groupOfNames 오브젝트 클래스가 있는 그룹에 속하는 모든 사용자 및 구성원 속성에 포함된 사용자를 가져오려면 groupOfNames:member를 지정하십시오. 오브젝트 클래스의 특성인 이 구문은 오브젝트 클래스로 표시되는 그룹에 속하는 구성원 목록을 저장합니다. 이 필드는 세미콜론으로 구분된 여러 objectclass:property 쌍을 사용합니다. 이 구문에 대한 자세한 정보는 특정 Directory Server를 LDAP 서버로 사용의 내용을 참조하십시오.

    IBM® Tivoli® Directory Server, Sun ONE 및 Active Directory의 경우 이 필드는 사용자 오브젝트에 저장된 정보가 있는 그룹에서 모든 사용자를 쿼리하는 데 사용됩니다. 예를 들어, memberof:member 필터(Active Directory의 경우)는 사용자가 속하는 모든 그룹을 구하기 위해 사용자 오브젝트의 memberof 속성을 얻는 데 사용됩니다. 구성원 특성은 그룹 오브젝트를 사용하는 그룹에서 모든 사용자를 가져오는 데 사용됩니다. 그룹 정보를 구하기 위해 사용자 오브젝트를 사용하면 성능이 개선됩니다.

  11. LDAP 서버가 순환적 서버측 검색을 지원하지 않는 경우에는 중첩된 그룹 검색 수행 옵션을 선택하십시오.
  12. 필요한 경우 인증서 맵 모드를 수정하십시오. LDAP가 레지스트리로서 선택될 때 사용자 인증을 위해 X.590 인증서를 사용할 수 있습니다. 이 필드는 EXACT_DN 또는 CERTIFICATE_FILTER에 의해 X.509 인증서를 LDAP 디렉토리 사용자로 맵핑하는지 여부를 나타내는 데 사용됩니다. EXACT_DN이 선택되면 인증서의 DN은 대소문자와 공백을 포함하여 LDAP 서버의 사용자 항목과 정확하게 일치해야 합니다.
    권한 부여를 대소문자를 구분하지 않게 만들려면 독립형 LDAP 레지스트리 설정에서 권한 부여의 대소문자 무시 옵션을 선택하십시오. 독립형 LDAP 레지스트리 설정 패널에 액세스하려면 다음 단계를 완료하십시오.
    1. 보안 > 글로벌 보안을 클릭하십시오.
    2. 사용자 계정 저장소 아래에서 사용 가능한 영역 정의 드롭 다운 목록을 클릭하고 독립형 LDAP 레지스트리를 선택하십시오.
  13. CERTIFICATE_FILTER를 선택하는 경우에는 클라이언트 인증서에서 속성을 LDAP의 항목으로 맵핑하기 위한 LDAP 필터를 지정하십시오. 둘 이상의 LDAP 항목이 런타임 시에 필터 명세와 일치하면 모호한 일치 결과 때문에 인증에 실패합니다. 이 필터의 구문 또는 구조는 다음과 같습니다. LDAP attribute=${Client certificate attribute}(예: uid=${SubjectCN}).

    필터 명세의 한쪽 측면은 LDAP 서버가 사용하기 위해 구성된 스키마에 의존하는 LDAP 속성입니다. 필터 명세의 다른 측면은 클라이언트 인증서에서 공개 속성 중 하나입니다. 클라이언트 인증서에서 공개 속성 중 하나인 필터 명세는 달러 부호($), 열린 대괄호({)로 시작해야 하고 닫힌 대괄호(})로 끝나야 합니다. 클라이언트 인증서에서 공개 속성 중 하나인 필터 명세의 측면에서 다음 인증서 속성 값을 사용하십시오. 문자열의 대소문자가 중요합니다.

    • ${UniqueKey}
    • ${PublicKey}
    • ${IssuerDN}
    • ${Issuer<xx>}

      여기서 <xx>는 발행자 식별 이름의 유효한 컴포넌트를 나타내는 문자로 대체됩니다. 예를 들어, 발행자 공통 이름에 ${IssuerCN}를 사용할 수 있습니다.

    • ${NotAfter}
    • ${NotBefore}
    • ${SerialNumber}
    • ${SigAlgName}
    • ${SigAlgOID}
    • ${SigAlgParams}
    • ${SubjectDN}
    • ${Subject<xx>}

      여기서 <xx>는 주제 식별 이름의 유효한 컴포넌트를 나타내는 문자로 대체됩니다. 예를 들어, 주제 공통 이름에 ${SubjectCN}를 사용할 수 있습니다.

    • ${Version}

    이 필드를 사용 가능으로 설정하려면 인증서 맵핑에 CERTIFICATE_FILTER를 선택하십시오.

    문제점 방지 문제점 방지: 제목 대체 이름(SAN)은 인증서 필터 항목으로서 지원되지 않습니다. gotcha
  14. 적용을 클릭하십시오.
    LDAP 사용자 또는 그룹 필터가 고급 LDAP 설정 패널에서 수정되면 적용을 클릭하십시오. 확인을 클릭하면 사용자 정의 LDAP 디렉토리 유형이 아니라 이전 LDAP 디렉토리 유형을 포함하는 독립형 LDAP 레지스트리 패널로 이동됩니다. 독립형 LDAP 레지스트리 패널에서 확인 또는 적용을 클릭하면 백레벨 LDAP 레지스트리 패널 및 해당 디렉토리의 기본 필터가 저장됩니다. 이 조치는 사용자가 작성한 필터의 변경사항을 겹쳐씁니다. 변경사항을 겹쳐쓰지 않으려면 다음 조치 중 하나를 수행하면 됩니다.
    • 고급 LDAP(Lightweight Directory Access Protocol) 사용자 레지스트리 설정 패널에서 적용을 클릭하십시오. 보안 > 글로벌 보안을 클릭하고 사용자 계정 저장소 유형을 독립형 사용자 정의 레지스트리로 변경하십시오.
    • 독립형 LDAP 레지스트리 패널에서 사용자 정의 유형을 선택하십시오. 적용을 클릭한 다음 고급 LDAP(Lightweight Directory Access Protocol) 사용자 레지스트리 설정 패널을 클릭하여 필터를 변경하십시오. 변경사항을 완료한 후에 적용 또는 확인을 클릭하십시오.

    변경사항의 유효성 검증은 이 패널에서는 발생하지 않습니다. 유효성 검증은 글로벌 보안 패널에서 확인 또는 적용을 클릭할 때 수행됩니다. 처음으로 보안을 사용 가능으로 설정하는 프로세스에 있다면 나머지 단계를 완료하고 글로벌 보안 패널로 이동하십시오. 독립형 LDAP 레지스트리를 사용자 계정 저장소로서 선택하십시오. 보안이 이미 사용 가능하고 이 패널의 정보가 변경되면, 글로벌 보안 패널로 이동하고 확인 또는 적용을 클릭하여 변경사항의 유효성을 검증하십시오. 사용자의 변경사항이 유효성 검증되지 않으면, 서버는 시작되지 않을 수도 있습니다.

결과

이러한 단계를 수행하면 LDAP 검색 필터의 구성이 결과로 나옵니다. 이러한 단계는 특정 LDAP 디렉토리 유형의 기존 사용자 및 그룹 필터를 수정하기 위해 필요합니다. 단계는 또한 인증서를 LDAP 서버의 항목에 맵핑하기 위해 인증서 필터를 설정하는 데에도 사용됩니다.

다음에 수행할 작업

  1. 글로벌 보안 패널에서 확인 또는 적용을 클릭하여 이 설정을 유효성 검증하십시오.
  2. 이 패널의 변경사항을 적용하려면 셀 노드 및 모든 Application Server를 포함하여 모든 제품 서버를 저장, 중지 및 시작하십시오.
  3. 서버가 시작된 후 모든 보안 관련 태스크를 수행하여(사용자 가져오기, 그룹 가져오기 등등) 필터 변경사항이 작동하는지 확인하십시오.

주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_ldapfilter
파일 이름:tsec_ldapfilter.html