13.3.7. LDAP 인증


단순 바인드 인증을 사용하여 LDAPv3 서버에 대해 사용자 이름과 암호의 유효성을 검사하도록 identityProviders 스탠자에서 LDAPPasswordIdentityProvider 를 설정합니다.

참고

다음 단계를 따르지 않고 LDAP 서버에 장애 조치가 필요한 경우 LDAP 페일오버를 위해 SSSD를 구성하여 기본 인증 방법을 확장합니다.

LDAP 디렉터리는 인증 중 제공된 사용자 이름과 일치하는 항목으로 검색됩니다. 고유한 일치 항목이 1개 발견되는 경우 해당 항목의 고유 이름(DN)과 제공된 암호를 사용하여 단순 바인딩이 시도됩니다.

다음 단계를 수행합니다.

  1. 구성된 URL의 속성 및 필터를 사용자가 입력한 사용자 이름과 결합하여 검색 필터를 생성합니다.
  2. 생성된 필터를 사용하여 디렉터리를 검색합니다. 검색에서 정확히 하나의 항목을 반환하지 않으면 액세스를 거부합니다.
  3. 검색에서 검색된 항목의 DN과 사용자 제공 암호를 사용하여 LDAP 서버에 바인딩합니다.
  4. 바인딩에 실패하면 액세스를 거부합니다.
  5. 바인딩이 성공하면 구성된 속성을 ID, 이메일 주소, 표시 이름, 기본 사용자 이름으로 사용하여 ID를 빌드합니다.

구성된 URL은 RFC 2255 URL이며, 사용할 LDAP 호스트 및 검색 매개변수를 지정합니다. URL 구문은 다음과 같습니다.

ldap://host:port/basedn?attribute?scope?filter

위 예의 경우 다음을 수행합니다.

URL 구성 요소설명

ldap

일반 LDAP의 경우 ldap 문자열을 사용합니다. 보안 LDAP(LDAPS)의 경우 대신 ldaps를 사용합니다.

host:port

LDAP 서버의 이름 및 포트입니다. ldap의 경우 기본값은 localhost:389 이고 LDAPS의 경우 localhost:636입니다.

basedn

모든 검색을 시작해야 하는 디렉터리 분기의 DN입니다. 적어도 디렉터리 트리의 맨 위에 있어야 하지만 디렉터리에 하위 트리를 지정할 수도 있습니다.

attribute

검색할 속성입니다. RFC 2255에서는 쉼표로 구분된 속성 목록을 사용할 수 있지만 제공되는 속성 수와 관계없이 첫 번째 속성만 사용됩니다. 속성이 제공되지 않는 경우 기본값은 uid를 사용하는 것입니다. 사용할 하위 트리의 모든 항목에서 고유한 속성을 선택하는 것이 좋습니다.

scope

검색 범위입니다. one 또는 sub일 수 있습니다. 범위가 제공되지 않는 경우 기본값은 sub 범위를 사용하는 것입니다.

filter

유효한 LDAP 검색 필터입니다. 제공하지 않는 경우 기본값은 (objectClass=*)입니다.

검색을 수행할 때 속성, 필터, 제공된 사용자 이름을 결합하여 다음과 같은 검색 필터가 생성됩니다.

(&(<filter>)(<attribute>=<username>))

예를 들어 다음과 같은 URL을 살펴보십시오.

ldap://ldap.example.com/o=Acme?cn?sub?(enabled=true)

클라이언트가 사용자 이름 bob을 사용하여 연결을 시도하는 경우 결과 검색 필터는 (&(enabled=true)(cn=bob))입니다.

LDAP 디렉터리에서 검색에 인증이 필요한 경우 항목을 검색하는 데 사용할 bindDNbindPassword를 지정하십시오.

LDAPPasswordIdentityProvider를 사용한 마스터 구성

oauthConfig:
  ...
  identityProviders:
  - name: "my_ldap_provider" 1
    challenge: true 2
    login: true 3
    mappingMethod: claim 4
    provider:
      apiVersion: v1
      kind: LDAPPasswordIdentityProvider
      attributes:
        id: 5
        - dn
        email: 6
        - mail
        name: 7
        - cn
        preferredUsername: 8
        - uid
      bindDN: "" 9
      bindPassword: "" 10
      ca: my-ldap-ca-bundle.crt 11
      insecure: false 12
      url: "ldap://ldap.example.com/ou=users,dc=acme,dc=com?uid" 13

1
이 공급자 이름은 반환된 사용자 ID 앞에 접두어로 지정되어 ID 이름을 형성합니다.
2
true인 경우 웹 이외의 클라이언트(예: CLI)의 인증되지 않은 토큰 요청이 이 프로바이더의 WWW-Authenticate 챌린지 헤더가 전송됩니다.
3
true인 경우 웹 콘솔과 같은 웹 클라이언트의 인증되지 않은 토큰 요청은 이 프로바이더가 지원하는 로그인 페이지로 리디렉션됩니다.
4
위에서 설명한 대로 이 프로바이더의 ID와 사용자 오브젝트 간의 매핑 설정 방법을 제어합니다.
5
ID로 사용할 속성 목록입니다. 비어 있지 않은 첫 번째 속성이 사용됩니다. 하나 이상의 속성이 필요합니다. 나열된 어떤 속성에도 값이 없는 경우 인증이 실패합니다.
6
이메일 주소로 사용할 속성 목록입니다. 비어 있지 않은 첫 번째 속성이 사용됩니다.
7
표시 이름으로 사용할 속성 목록입니다. 비어 있지 않은 첫 번째 속성이 사용됩니다.
8
이 ID에 대해 사용자를 프로비저닝할 때 기본 사용자 이름으로 사용할 속성 목록입니다. 비어 있지 않은 첫 번째 속성이 사용됩니다.
9
검색 단계에서 바인딩하는 데 사용할 선택적 DN입니다.
10
검색 단계에서 바인딩하는 데 사용할 선택적 암호입니다. 이 값은 환경 변수, 외부 파일 또는 암호화된 파일에서 도 제공할 수 있습니다.
11
구성된 URL에 대한 서버 인증서의 유효성을 검사하는 데 사용할 인증서 번들입니다. 이 파일의 내용은 /etc/origin/master/<identity_provider_name>_ldap_ca.crt 파일에 복사됩니다. ID 공급자 이름은 openshift_master_identity_providers 매개변수의 값입니다. CA 텍스트 또는 로컬 CA 파일의 경로를 지정하지 않으면 /etc/origin/master/ 디렉터리에 CA 인증서를 배치해야 합니다. 여러 ID 공급자를 지정하는 경우 /etc/origin/master/ 디렉터리에 각 공급자의 CA 인증서를 수동으로 배치해야 합니다. 이 위치를 변경할 수 없습니다. 인증서 번들 정의는 insecure: false 가 인벤토리 파일에 설정된 경우에만 적용됩니다.
12
true인 경우 서버에 TLS 연결이 이루어지지 않습니다. false인 경우 ldaps:// URL은 TLS를 사용하여 연결되고, ldap:// URL은 TLS로 업그레이드됩니다.
13
위에 설명된 대로 사용할 LDAP 호스트 및 검색 매개변수를 지정하는 RFC 2255 URL입니다.
참고

LDAP 통합을 위해 사용자를 허용 목록에 추가하려면 lookup 매핑 방법을 사용하십시오. LDAP에서 로그인하려면 클러스터 관리자가 각 LDAP 사용자에 대한 ID 및 사용자 오브젝트를 생성해야 합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.