18.5. LDAP 그룹 동기화의 예

이 섹션에는 RFC 2307, Active Directory, 보강된 Active Directory 스키마에 대한 예가 포함되어 있습니다.

참고

이러한 예에서는 모든 사용자를 해당 그룹의 직접 멤버로 가정합니다. 특히, 어떠한 그룹도 다른 그룹의 멤버가 될 수 없습니다. 중첩 그룹을 동기화하는 방법에 대한 정보는 중첩 멤버십 동기화 예를 참조하십시오.

18.5.1. RFC 2307 스키마를 사용한 그룹 동기화

RFC 2307 스키마의 경우 다음 예제에서는 JaneJim이라는 두 멤버가 있는 그룹 admins를 동기화합니다. 예제에서는 다음을 설명합니다.

  • 그룹 및 사용자를 LDAP 서버에 추가하는 방법
  • 동기화 후 OpenShift Container Platform에 생성되는 결과 그룹 레코드
참고

이러한 예에서는 모든 사용자를 해당 그룹의 직접 멤버로 가정합니다. 특히, 어떠한 그룹도 다른 그룹의 멤버가 될 수 없습니다. 중첩 그룹을 동기화하는 방법에 대한 정보는 중첩 멤버십 동기화 예를 참조하십시오.

RFC 2307 스키마에서는 사용자(Jane 및 Jim)와 그룹 모두 LDAP 서버에 최상위 항목으로 존재하며, 그룹 멤버십은 그룹 속성에 저장됩니다. 다음의 ldif 조각에서는 이 스키마의 사용자 및 그룹을 정의합니다.

RFC 2307 스키마를 사용하는 LDAP 항목: rfc2307.ldif

  dn: ou=users,dc=example,dc=com
  objectClass: organizationalUnit
  ou: users
  dn: cn=Jane,ou=users,dc=example,dc=com
  objectClass: person
  objectClass: organizationalPerson
  objectClass: inetOrgPerson
  cn: Jane
  sn: Smith
  displayName: Jane Smith
  mail: jane.smith@example.com
  dn: cn=Jim,ou=users,dc=example,dc=com
  objectClass: person
  objectClass: organizationalPerson
  objectClass: inetOrgPerson
  cn: Jim
  sn: Adams
  displayName: Jim Adams
  mail: jim.adams@example.com
  dn: ou=groups,dc=example,dc=com
  objectClass: organizationalUnit
  ou: groups
  dn: cn=admins,ou=groups,dc=example,dc=com 1
  objectClass: groupOfNames
  cn: admins
  owner: cn=admin,dc=example,dc=com
  description: System Administrators
  member: cn=Jane,ou=users,dc=example,dc=com 2
  member: cn=Jim,ou=users,dc=example,dc=com

1
그룹은 LDAP 서버의 최상위 항목입니다.
2
그룹 멤버와 함께 그룹 속성이 식별을 위한 참조 정보로 나열됩니다.

사전 요구 사항

  • 구성 파일을 생성합니다.

절차

  • rfc2307_config.yaml 파일과의 동기화를 실행합니다.

    $ oc adm groups sync --sync-config=rfc2307_config.yaml --confirm

    OpenShift Container Platform은 위 동기화 작업의 결과로 다음과 같은 그룹 레코드를 만듭니다.

    rfc2307_config.yaml 파일을 사용하여 생성된 OpenShift Container Platform 그룹

    apiVersion: user.openshift.io/v1
    kind: Group
    metadata:
      annotations:
        openshift.io/ldap.sync-time: 2015-10-13T10:08:38-0400 1
        openshift.io/ldap.uid: cn=admins,ou=groups,dc=example,dc=com 2
        openshift.io/ldap.url: LDAP_SERVER_IP:389 3
      creationTimestamp:
      name: admins 4
    users: 5
    - jane.smith@example.com
    - jim.adams@example.com

    1
    이 OpenShift Container Platform 그룹이 LDAP 서버와 마지막으로 동기화된 시간으로, ISO 6801 형식으로 되어 있습니다.
    2
    LDAP 서버에서 그룹의 고유 식별자입니다.
    3
    이 그룹의 레코드가 저장된 LDAP 서버의 IP 주소 및 호스트입니다.
    4
    동기화 파일에서 지정한 그룹의 이름입니다.
    5
    동기화 파일에서 지정한 대로 이름이 지정된 그룹 멤버에 해당하는 사용자입니다.

18.5.2. RFC2307 스키마와 사용자 정의 이름 매핑을 사용한 그룹 동기화

사용자 정의 이름 매핑과 그룹을 동기화하면 구성 파일이 이러한 매핑을 포함하도록 아래와 같이 변경됩니다.

사용자 정의 이름 매핑과 함께 RFC 2307 스키마를 사용하는 LDAP 동기화 구성: rfc2307_config_user_defined.yaml

kind: LDAPSyncConfig
apiVersion: v1
groupUIDNameMapping:
  "cn=admins,ou=groups,dc=example,dc=com": Administrators 1
rfc2307:
    groupsQuery:
        baseDN: "ou=groups,dc=example,dc=com"
        scope: sub
        derefAliases: never
        pageSize: 0
    groupUIDAttribute: dn 2
    groupNameAttributes: [ cn ] 3
    groupMembershipAttributes: [ member ]
    usersQuery:
        baseDN: "ou=users,dc=example,dc=com"
        scope: sub
        derefAliases: never
        pageSize: 0
    userUIDAttribute: dn 4
    userNameAttributes: [ mail ]
    tolerateMemberNotFoundErrors: false
    tolerateMemberOutOfScopeErrors: false

1
사용자 정의 이름 매핑입니다.
2
사용자 정의 이름 매핑에서 키에 사용되는 고유 식별자 속성입니다. groupUIDAttribute로 DN을 사용할 때는 groupsQuery 필터를 지정할 수 없습니다. 세분화된 필터링의 경우 허용 목록/차단 목록 메서드를 사용하십시오.
3
사용자 정의 이름 매핑에 고유 식별자가 없는 경우 OpenShift Container Platform 그룹의 이름을 지정하는 속성입니다.
4
LDAP 서버에서 사용자를 고유하게 식별하는 속성입니다. userUIDAttribute로 DN을 사용할 때는 usersQuery 필터를 지정할 수 없습니다. 세분화된 필터링의 경우 허용 목록/차단 목록 메서드를 사용하십시오.

사전 요구 사항

  • 구성 파일을 생성합니다.

절차

  • rfc2307_config_user_defined.yaml 파일과의 동기화를 실행합니다.

    $ oc adm groups sync --sync-config=rfc2307_config_user_defined.yaml --confirm

    OpenShift Container Platform은 위 동기화 작업의 결과로 다음과 같은 그룹 레코드를 만듭니다.

    rfc2307_config_user_defined.yaml 파일을 사용하여 생성된 OpenShift Container Platform 그룹

    apiVersion: user.openshift.io/v1
    kind: Group
    metadata:
      annotations:
        openshift.io/ldap.sync-time: 2015-10-13T10:08:38-0400
        openshift.io/ldap.uid: cn=admins,ou=groups,dc=example,dc=com
        openshift.io/ldap.url: LDAP_SERVER_IP:389
      creationTimestamp:
      name: Administrators 1
    users:
    - jane.smith@example.com
    - jim.adams@example.com

    1
    사용자 정의 이름 매핑에 의해 지정된 그룹의 이름입니다.

18.5.3. RFC 2307과 사용자 정의 오류 허용 오차를 사용한 그룹 동기화

기본적으로 동기화 중인 그룹에 멤버 쿼리에 정의된 범위를 벗어나는 항목이 있는 멤버가 포함된 경우, 그룹 동기화에 오류가 발생하여 실패합니다.

Error determining LDAP group membership for "<group>": membership lookup for user "<user>" in group "<group>" failed because of "search for entry with dn="<user-dn>" would search outside of the base dn specified (dn="<base-dn>")".

이러한 오류는 대부분 usersQuery 필드의 baseDN이 잘못 구성되었음을 나타냅니다. 그러나 baseDN에에 의도적으로 일부 그룹 멤버가 포함되어 있지 않은 경우, tolerateMemberOutOfScopeErrors:true를 설정하면 그룹을 계속 동기화할 수 있습니다. 범위를 벗어난 멤버는 무시됩니다.

마찬가지로 그룹 동기화 프로세스에서 그룹 멤버를 찾지 못하면 오류와 함께 실패합니다.

Error determining LDAP group membership for "<group>": membership lookup for user "<user>" in group "<group>" failed because of "search for entry with base dn="<user-dn>" refers to a non-existent entry".
Error determining LDAP group membership for "<group>": membership lookup for user "<user>" in group "<group>" failed because of "search for entry with base dn="<user-dn>" and filter "<filter>" did not return any results".

이러한 오류는 대부분 usersQuery 필드가 잘못 구성되었음을 나타냅니다. 그러나 그룹에 누락된 것으로 알려진 멤버 항목이 포함된 경우, tolerateMemberNotFoundErrors:true로 설정하면 그룹을 계속 동기화할 수 있습니다. 문제가 있는 멤버는 무시됩니다.

주의

LDAP 그룹 동기화에 오류 허용을 사용하면 동기화 프로세스에서 문제가 있는 멤버 항목을 무시합니다. LDAP 그룹 동기화가 올바르게 구성되어 있지 않으면 동기화된 OpenShift Container Platform 그룹에서 멤버가 누락될 수 있습니다.

그룹 멤버십에 문제가 있는 RFC 2307 스키마를 사용하는 LDAP 항목: rfc2307_problematic_users.ldif

  dn: ou=users,dc=example,dc=com
  objectClass: organizationalUnit
  ou: users
  dn: cn=Jane,ou=users,dc=example,dc=com
  objectClass: person
  objectClass: organizationalPerson
  objectClass: inetOrgPerson
  cn: Jane
  sn: Smith
  displayName: Jane Smith
  mail: jane.smith@example.com
  dn: cn=Jim,ou=users,dc=example,dc=com
  objectClass: person
  objectClass: organizationalPerson
  objectClass: inetOrgPerson
  cn: Jim
  sn: Adams
  displayName: Jim Adams
  mail: jim.adams@example.com
  dn: ou=groups,dc=example,dc=com
  objectClass: organizationalUnit
  ou: groups
  dn: cn=admins,ou=groups,dc=example,dc=com
  objectClass: groupOfNames
  cn: admins
  owner: cn=admin,dc=example,dc=com
  description: System Administrators
  member: cn=Jane,ou=users,dc=example,dc=com
  member: cn=Jim,ou=users,dc=example,dc=com
  member: cn=INVALID,ou=users,dc=example,dc=com 1
  member: cn=Jim,ou=OUTOFSCOPE,dc=example,dc=com 2

1
LDAP 서버에 존재하지 않는 멤버입니다.
2
동기화 작업에 대한 사용자 쿼리에 있을 수 있지만 baseDN에 없는 멤버입니다.

위 예제의 오류를 허용하려면 동기화 구성 파일에 다음을 추가해야 합니다.

오류를 허용하는 RFC 2307 스키마를 사용하는 LDAP 동기화 구성: rfc2307_config_tolerating.yaml

kind: LDAPSyncConfig
apiVersion: v1
url: ldap://LDAP_SERVICE_IP:389
rfc2307:
    groupsQuery:
        baseDN: "ou=groups,dc=example,dc=com"
        scope: sub
        derefAliases: never
    groupUIDAttribute: dn
    groupNameAttributes: [ cn ]
    groupMembershipAttributes: [ member ]
    usersQuery:
        baseDN: "ou=users,dc=example,dc=com"
        scope: sub
        derefAliases: never
    userUIDAttribute: dn 1
    userNameAttributes: [ mail ]
    tolerateMemberNotFoundErrors: true 2
    tolerateMemberOutOfScopeErrors: true 3

1
LDAP 서버에서 사용자를 고유하게 식별하는 속성입니다. userUIDAttribute로 DN을 사용할 때는 usersQuery 필터를 지정할 수 없습니다. 세분화된 필터링의 경우 허용 목록/차단 목록 메서드를 사용하십시오.
2
true인 경우 동기화 작업에서는 일부 멤버가 없는 그룹을 허용하고 LDAP 항목이 없는 멤버를 무시합니다. 그룹 멤버를 찾을 수 없는 경우 동기화 작업의 기본 동작은 실패하는 것입니다.
3
true인 경우 동기화 작업에서는 일부 멤버가 usersQuery 기본 DN에 지정된 사용자 범위를 벗어나는 그룹을 허용하고, 멤버 조회 범위를 벗어나는 멤버를 무시합니다. 그룹 멤버가 범위를 벗어나는 경우 동기화 작업의 기본 동작은 실패하는 것입니다.

사전 요구 사항

  • 구성 파일을 생성합니다.

절차

  • rfc2307_config_tolerating.yaml 파일과의 동기화를 실행합니다.

    $ oc adm groups sync --sync-config=rfc2307_config_tolerating.yaml --confirm

    OpenShift Container Platform은 위 동기화 작업의 결과로 다음과 같은 그룹 레코드를 만듭니다.

    rfc2307_config.yaml 파일을 사용하여 생성된 OpenShift Container Platform 그룹

    apiVersion: user.openshift.io/v1
    kind: Group
    metadata:
      annotations:
        openshift.io/ldap.sync-time: 2015-10-13T10:08:38-0400
        openshift.io/ldap.uid: cn=admins,ou=groups,dc=example,dc=com
        openshift.io/ldap.url: LDAP_SERVER_IP:389
      creationTimestamp:
      name: admins
    users: 1
    - jane.smith@example.com
    - jim.adams@example.com

    1
    동기화 파일에서 지정한 대로 그룹 멤버에 해당하는 사용자입니다. 조회에 허용되는 오류가 발생한 멤버가 없습니다.

18.5.4. Active Directory 스키마를 사용하여 그룹 동기화

Active Directory 스키마에서는 두 사용자(Jane 및 Jim) 모두 LDAP 서버에 최상위 항목으로 존재하며, 그룹 멤버십은 사용자 속성에 저장됩니다. 다음의 ldif 조각에서는 이 스키마의 사용자 및 그룹을 정의합니다.

Active Directory 스키마를 사용하는 LDAP 항목: active_directory.ldif

dn: ou=users,dc=example,dc=com
objectClass: organizationalUnit
ou: users

dn: cn=Jane,ou=users,dc=example,dc=com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: testPerson
cn: Jane
sn: Smith
displayName: Jane Smith
mail: jane.smith@example.com
memberOf: admins 1

dn: cn=Jim,ou=users,dc=example,dc=com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: testPerson
cn: Jim
sn: Adams
displayName: Jim Adams
mail: jim.adams@example.com
memberOf: admins

1
사용자의 그룹 멤버십은 사용자의 속성으로 나열되며, 그룹은 서버에 항목으로 존재하지 않습니다. memberOf 속성이 사용자의 리터럴 속성이 아닐 수도 있습니다. 일부 LDAP 서버에서는 검색 중 생성되어 클라이언트에 반환되지만 데이터베이스에는 커밋되지 않습니다.

사전 요구 사항

  • 구성 파일을 생성합니다.

절차

  • active_directory_config.yaml 파일과의 동기화를 실행합니다.

    $ oc adm groups sync --sync-config=active_directory_config.yaml --confirm

    OpenShift Container Platform은 위 동기화 작업의 결과로 다음과 같은 그룹 레코드를 만듭니다.

    active_directory_config.yaml 파일을 사용하여 생성된 OpenShift Container Platform 그룹

    apiVersion: user.openshift.io/v1
    kind: Group
    metadata:
      annotations:
        openshift.io/ldap.sync-time: 2015-10-13T10:08:38-0400 1
        openshift.io/ldap.uid: admins 2
        openshift.io/ldap.url: LDAP_SERVER_IP:389 3
      creationTimestamp:
      name: admins 4
    users: 5
    - jane.smith@example.com
    - jim.adams@example.com

    1
    이 OpenShift Container Platform 그룹이 LDAP 서버와 마지막으로 동기화된 시간으로, ISO 6801 형식으로 되어 있습니다.
    2
    LDAP 서버에서 그룹의 고유 식별자입니다.
    3
    이 그룹의 레코드가 저장된 LDAP 서버의 IP 주소 및 호스트입니다.
    4
    LDAP 서버에 나열된 그룹의 이름입니다.
    5
    동기화 파일에서 지정한 대로 이름이 지정된 그룹 멤버에 해당하는 사용자입니다.

18.5.5. 보강된 Active Directory 스키마를 사용하여 그룹 동기화

보강된 Active Directory 스키마에서는 사용자(Jane 및 Jim)와 그룹 모두 LDAP 서버에 최상위 항목으로 존재하며, 그룹 멤버십은 사용자 속성에 저장됩니다. 다음의 ldif 조각에서는 이 스키마의 사용자 및 그룹을 정의합니다.

보강된 Active Directory 스키마를 사용하는 LDAP 항목: augmented_active_directory.ldif

dn: ou=users,dc=example,dc=com
objectClass: organizationalUnit
ou: users

dn: cn=Jane,ou=users,dc=example,dc=com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: testPerson
cn: Jane
sn: Smith
displayName: Jane Smith
mail: jane.smith@example.com
memberOf: cn=admins,ou=groups,dc=example,dc=com 1

dn: cn=Jim,ou=users,dc=example,dc=com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: testPerson
cn: Jim
sn: Adams
displayName: Jim Adams
mail: jim.adams@example.com
memberOf: cn=admins,ou=groups,dc=example,dc=com

dn: ou=groups,dc=example,dc=com
objectClass: organizationalUnit
ou: groups

dn: cn=admins,ou=groups,dc=example,dc=com 2
objectClass: groupOfNames
cn: admins
owner: cn=admin,dc=example,dc=com
description: System Administrators
member: cn=Jane,ou=users,dc=example,dc=com
member: cn=Jim,ou=users,dc=example,dc=com

1
사용자의 그룹 멤버십이 사용자 속성으로 나열됩니다.
2
그룹은 LDAP 서버의 최상위 항목입니다.

사전 요구 사항

  • 구성 파일을 생성합니다.

절차

  • augmented_active_directory_config.yaml 파일과의 동기화를 실행합니다.

    $ oc adm groups sync --sync-config=augmented_active_directory_config.yaml --confirm

    OpenShift Container Platform은 위 동기화 작업의 결과로 다음과 같은 그룹 레코드를 만듭니다.

    augmented_active_directory_config.yaml 파일을 사용하여 생성된 OpenShift Container Platform 그룹

    apiVersion: user.openshift.io/v1
    kind: Group
    metadata:
      annotations:
        openshift.io/ldap.sync-time: 2015-10-13T10:08:38-0400 1
        openshift.io/ldap.uid: cn=admins,ou=groups,dc=example,dc=com 2
        openshift.io/ldap.url: LDAP_SERVER_IP:389 3
      creationTimestamp:
      name: admins 4
    users: 5
    - jane.smith@example.com
    - jim.adams@example.com

    1
    이 OpenShift Container Platform 그룹이 LDAP 서버와 마지막으로 동기화된 시간으로, ISO 6801 형식으로 되어 있습니다.
    2
    LDAP 서버에서 그룹의 고유 식별자입니다.
    3
    이 그룹의 레코드가 저장된 LDAP 서버의 IP 주소 및 호스트입니다.
    4
    동기화 파일에서 지정한 그룹의 이름입니다.
    5
    동기화 파일에서 지정한 대로 이름이 지정된 그룹 멤버에 해당하는 사용자입니다.

18.5.5.1. LDAP 중첩 멤버십 동기화의 예

OpenShift Container Platform의 그룹은 중첩되지 않습니다. 데이터를 사용하려면 LDAP 서버에서 그룹 멤버십을 평면화해야 합니다. Microsoft의 Active Directory 서버에서는 OID 1.2.840.113556.1.4.1941이 있는 LDAP_MATCHING_RULE_IN_CHAIN 규칙을 통해 이 기능을 지원합니다. 또한 이 일치 규칙을 사용하는 경우에는 명시적으로 허용된 그룹만 동기화할 수 있습니다.

이 섹션에는 한 명의 사용자 Jane과 하나의 그룹 otheradmins가 멤버인 admins라는 그룹을 동기화하는 보강된 Active Directory 스키마에 대한 예가 있습니다. otheradmins 그룹에는 Jim이라는 한 명의 사용자 멤버가 있습니다. 이 예제에서는 다음을 설명합니다.

  • 그룹 및 사용자를 LDAP 서버에 추가하는 방법
  • LDAP 동기화 구성 파일의 내용
  • 동기화 후 OpenShift Container Platform에 생성되는 결과 그룹 레코드

보강된 Active Directory 스키마에서는 사용자(JaneJim)와 그룹 모두 LDAP 서버에 최상위 항목으로 존재하며, 그룹 멤버십은 사용자 또는 그룹 속성에 저장됩니다. 다음의 ldif 조각에서는 이 스키마의 사용자 및 그룹을 정의합니다.

보강된 Active Directory 스키마를 중첩 멤버와 함께 사용하는 LDAP 항목: augmented_active_directory_nested.ldif

dn: ou=users,dc=example,dc=com
objectClass: organizationalUnit
ou: users

dn: cn=Jane,ou=users,dc=example,dc=com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: testPerson
cn: Jane
sn: Smith
displayName: Jane Smith
mail: jane.smith@example.com
memberOf: cn=admins,ou=groups,dc=example,dc=com 1

dn: cn=Jim,ou=users,dc=example,dc=com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: testPerson
cn: Jim
sn: Adams
displayName: Jim Adams
mail: jim.adams@example.com
memberOf: cn=otheradmins,ou=groups,dc=example,dc=com 2

dn: ou=groups,dc=example,dc=com
objectClass: organizationalUnit
ou: groups

dn: cn=admins,ou=groups,dc=example,dc=com 3
objectClass: group
cn: admins
owner: cn=admin,dc=example,dc=com
description: System Administrators
member: cn=Jane,ou=users,dc=example,dc=com
member: cn=otheradmins,ou=groups,dc=example,dc=com

dn: cn=otheradmins,ou=groups,dc=example,dc=com 4
objectClass: group
cn: otheradmins
owner: cn=admin,dc=example,dc=com
description: Other System Administrators
memberOf: cn=admins,ou=groups,dc=example,dc=com 5 6
member: cn=Jim,ou=users,dc=example,dc=com

1 2 5
사용자 및 그룹의 멤버십은 오브젝트 속성으로 나열됩니다.
3 4
그룹은 LDAP 서버의 최상위 항목입니다.
6
otheradmins 그룹은 admins 그룹의 멤버입니다.

중첩 그룹을 Active Directory와 동기화하는 경우 사용자 항목 및 그룹 항목에 대한 LDAP 쿼리 정의와 내부 OpenShift Container Platform 그룹 레코드에서 해당 항목을 표시하는 속성을 제공해야 합니다. 또한 이 구성에는 특정 변경이 필요합니다.

  • oc adm groups sync 명령에서 그룹을 명시적으로 허용해야 합니다.
  • LDAP_MATCHING_RULE_IN_CHAIN 규칙을 준수하려면 사용자의 groupMembershipAttributes"memberOf:1.2.840.113556.1.4.1941:"이 포함되어야 합니다.
  • groupUIDAttributedn으로 설정해야 합니다.
  • groupsQuery의 경우

    • filter를 설정하지 않아야 합니다.
    • 유효한 derefAliases를 설정해야 합니다.
    • 해당 값이 무시되므로 baseDN을 설정하지 않아야 합니다.
    • 해당 값이 무시되므로 scope를 설정하지 않아야 합니다.

명확히 하기 위해, OpenShift Container Platform에서 생성한 그룹의 경우 사용자용 필드 또는 관리자용 필드에 가급적 고유 이름 이외의 속성을 사용해야 합니다. 예를 들면 이메일로 OpenShift Container Platform 그룹의 사용자를 구분하고, 그룹 이름을 공통 이름으로 사용합니다. 다음 구성 파일에서는 이러한 관계를 생성합니다.

중첩 멤버와 함께 보강된 Active Directory 스키마를 사용하는 LDAP 동기화 구성: augmented_active_directory_config_nested.yaml

kind: LDAPSyncConfig
apiVersion: v1
url: ldap://LDAP_SERVICE_IP:389
augmentedActiveDirectory:
    groupsQuery: 1
        derefAliases: never
        pageSize: 0
    groupUIDAttribute: dn 2
    groupNameAttributes: [ cn ] 3
    usersQuery:
        baseDN: "ou=users,dc=example,dc=com"
        scope: sub
        derefAliases: never
        filter: (objectclass=person)
        pageSize: 0
    userNameAttributes: [ mail ] 4
    groupMembershipAttributes: [ "memberOf:1.2.840.113556.1.4.1941:" ] 5

1
groupsQuery 필터를 지정할 수 없습니다. groupsQuery 기본 DN 및 범위 값은 무시됩니다. groupsQuery에서 유효한 derefAliases를 설정해야 합니다.
2
LDAP 서버에서 그룹을 고유하게 식별하는 속성입니다. dn으로 설정해야 합니다.
3
그룹 이름으로 사용할 속성입니다.
4
OpenShift Container Platform 그룹 레코드에서 사용자 이름으로 사용할 속성입니다. mail 또는 sAMAccountName은 대부분의 설치에서 기본 선택 사항입니다.
5
멤버십 정보를 저장하는 사용자 속성입니다. LDAP_MATCHING_RULE_IN_CHAIN 사용에 유의하십시오.

사전 요구 사항

  • 구성 파일을 생성합니다.

절차

  • augmented_active_directory_config_nested.yaml 파일과의 동기화를 실행합니다.

    $ oc adm groups sync \
        'cn=admins,ou=groups,dc=example,dc=com' \
        --sync-config=augmented_active_directory_config_nested.yaml \
        --confirm
    참고

    cn=admins,ou=groups,dc=example,dc=com 그룹을 명시적으로 허용해야 합니다.

    OpenShift Container Platform은 위 동기화 작업의 결과로 다음과 같은 그룹 레코드를 만듭니다.

    augmented_active_directory_config_nested.yaml 파일을 사용하여 생성된 OpenShift Container Platform 그룹

    apiVersion: user.openshift.io/v1
    kind: Group
    metadata:
      annotations:
        openshift.io/ldap.sync-time: 2015-10-13T10:08:38-0400 1
        openshift.io/ldap.uid: cn=admins,ou=groups,dc=example,dc=com 2
        openshift.io/ldap.url: LDAP_SERVER_IP:389 3
      creationTimestamp:
      name: admins 4
    users: 5
    - jane.smith@example.com
    - jim.adams@example.com

    1
    이 OpenShift Container Platform 그룹이 LDAP 서버와 마지막으로 동기화된 시간으로, ISO 6801 형식으로 되어 있습니다.
    2
    LDAP 서버에서 그룹의 고유 식별자입니다.
    3
    이 그룹의 레코드가 저장된 LDAP 서버의 IP 주소 및 호스트입니다.
    4
    동기화 파일에서 지정한 그룹의 이름입니다.
    5
    동기화 파일에서 지정한 대로 이름이 지정된 그룹 멤버에 해당하는 사용자입니다. 그룹 멤버십이 Microsoft Active Directory Server에 의해 평면화되었으므로 중첩 그룹의 멤버가 포함됩니다.