제품 클러스터에 대해 LDAP(Lightweight Directory Access Protocol) 연결을 구성하십시오.
LDAP 디렉토리를 제품 디렉토리와 연결해야 합니다. 그런 다음 LDAP 디렉토리의 사용자를 클러스터에 추가할 수 있습니다.
다음과 같은 LDAP 유형이 지원됩니다.
- IBM Tivoli Directory Server
- IBM Lotus Domino
- IBM SecureWay Directory Server
- Novell eDirectory
- Sun Java™ System Directory Server
- Netscape Directory Server
- Microsoft Active Directory
- 사용자 정의
참고: LDAP 서버를 설정할 때 계정 잠금 정책을 구성할 수 있습니다. 계정 잠금 정책은 로그인 시도가 여러 번 실패하는 경우 계정에 대한 액세스를 제한하여 강화된 보안을 제공합니다.
중요: 플랫폼 UI(ibm-zen-operator) 서비스가 설치된 경우에는 LDAP 사용자 및 사용자 그룹 역할, 권한 관리에 사용자 관리 기능을 사용할 수 있습니다. LDAP 또는 OpenShift 사용자를 클러스터에 추가할 수 있습니다. 사용자를 추가할 때 Username 필드에서 사용자의 OpenShift 또는 LDAP 로그인 ID를 지정해야합니다.
필수 사용자 유형 또는 액세스 레벨: 클러스터 관리자 또는 Cloud Pak 관리자
LDAP 디렉토리에 연결
다음 단계에 따라 LDAP 연결을 설정하십시오.
전제조건: 클러스터를 설치하십시오. 클러스터가 설치되면 관리 사용자 이름, 비밀번호 및 URL이 표시된다.
- URL을 사용하여 콘솔에 로그온한 후 사용자 이름과 패스워드를 입력한다.
- 주: 콘솔은 플랫폼 UI 또는 공통 UI일 수 있습니다. 자세한 정보는 콘솔을 사용하여 클러스터 액세스를 참조하십시오.
- 탐색 메뉴에서 ID 및 액세스 > ID 제공자를 클릭하십시오.
- 연결 작성을 클릭하십시오. "LDAP 연결" 페이지가 표시됩니다.
- LDAP 연결을 설정하려면 다음 세부사항을 입력하십시오.
주: 다중 LDAP 연결 인스턴스를 동일한 LDAP 서버로 구성할 수 있습니다. 그러나 다음 요구사항을 충족하는지 확인하십시오.- Base DN 및 연결 Name 모두 고유해야 합니다.
- User ID map 에서 지정한 LDAP 속성의 사용자 이름은 LDAP 인스턴스에서 고유해야 합니다. 이 요구사항은 WebSphere Liberty 가 기본적으로 다중 LDAP에 연합 레지스트리를 사용하기 때문입니다. 자세한 정보는 Liberty에서 LDAP 사용자 레지스트리 구성을 참조하십시오.
- IBM Cloud Pak 기본 서비스는 기본 admin 사용자 ID를 제공합니다. LDAP 레지스트리에 admin 사용자 ID가 있는 경우 기본 서비스가 제공하는 기본 admin 사용자 ID의 이름을 바꿔야 합니다. 기본 이름을 변경하는 방법에 대한 자세한 정보는 기본 관리 사용자 이름 변경 또는 클러스터 관리자 사용자 이름 변경을 참조하십시오.
- 연결 이름: LDAP 연결의 고유 이름. 형식: 1 - 50개의 영숫자 문자. 허용되는 특수 문자: - _
- 서버 유형: 연결할 수 있는 디렉토리 서버 유형의 목록입니다. 목록에서 하나를 선택하십시오.
- 기본 DN: 검색 기반의 식별 이름. 예: dc=abc,dc=com. 형식: 1-255자의 영숫자 문자, 허용되는 특수 문자:
- =
- .
- ,
- -
- 바인드 DN: 기본 DN을 검색할 수 있는 사용자. 예: cn=admin,dc=abc,dc=com. 이 매개변수는 선택사항입니다. Bind DN 매개변수에 사용자가 지정되지 않은 경우 인증 없이 LDAP 연결이 설정됩니다. 형식: 0-255자의 영숫자 문자, 공백이 허용됩니다. 허용되는 특수 문자:
- =
- .
- ,
- -
- :
- @
- (
- )
- _
- \
- 바인드 DN 비밀번호: Bind DN에서 언급되는 사용자의 비밀번호. 바인드 DN에 사용자를 지정하지 않으면 이 매개변수는 필요하지 않습니다. 최대 255자가 허용됩니다.
Base DN의 경우, 다음 값이 올바르지 않습니다.Base DN : DC=mycompany,DC=com Bind DN : CN=Administrator,CN=Users,DC=mycompany,DC=com
- dc=mycompany,dc=com에서는 DC가 소문자 알파벳이기 때문입니다.
- DC=mycompany, DC=com에서는 매개변수 사이에 공백이 있기 때문입니다.
- cn=Administrator,cn=Users,dc=mycompany,dc=com에서는 CN 및 DC가 소문자 알파벳이기 때문입니다.
- CN=Administrator,DC=mycompany,DC=com에서는 CN=Users 매개변수가 누락되었기 때문입니다.
- CN=Administrator,CN=Users, DC=mycompany,DC=com에서는 매개변수 사이에 공백이 있기 때문입니다.
- CN=administrator,CN=Users,DC=mycompany,DC=com에서는 administrator 매개변수값이 소문자 알파벳으로 시작하기 때문입니다.
- 참고: 기본 DN 및 바인드 DN 값의 구성이 대소문자를 구분하도록 설정되어야 하며 전체 식별 이름(DN) 경로여야 합니다. 공백, 쉼표 및 기타 문자를 포함하는 DN 경로가 LDAP 서버에서 구성된 것과 동일해야 합니다. 다음 예를 참조하십시오.
- URL: LDAP 디렉토리 도메인 이름 또는 IP 주소 및 LDAP 포트 번호. 도메인 이름은 ldap(s)://로 시작되어야 합니다. URL 예제: ldap(s)://corpldap.abc.com:389 또는 ldap://10.10.10.1:389
- LDAP 서버가 LDAP 버전 3을 준수하는 경우 필터는 알파벳 문자 또는 공백으로 구분되지 않는다.
- 기본 서비스 버전 3.19 이상에서 Group filter 및 Group member ID map 필터는 하나 이상의 값을 지원합니다.
- 그룹 필터: 그룹 검색을 위한 필터링 절. Format: 1 - 255 alphanumeric characters; From foundational services version 3.23 and later, IAM supports all the special characters but following are the validated and tested special characters: white space, = ; . , & % () {} <> | !
- 그룹 ID 맵핑: 그룹 이름을 LDAP 항목에 맵핑하는 필터. 형식: 1 - 255자의 영숫자, 허용되는 특수 문자: 공백, * : = ; . , & % () {}
- 그룹 멤버 ID 맵핑: 사용자를 그룹에 맵핑하는 필터. 형식: 1 - 255자의 영숫자, 허용되는 특수 문자: 공백, * : = ; . , & % () {}
- 사용자 필터: 사용자 검색을 위한 필터링 절. Format: 1 - 255 alphanumeric characters; From foundational services version 3.23 and later, IAM supports all the special characters but following are the validated and tested special characters: white space, = ; . , & % () {} <> | !
- 사용자 ID 맵: LDAP 항목에 사용자 이름을 맵핑하는 필터. 형식: 1 - 255자의 영숫자, 허용되는 특수 문자: 공백, * : = ; . , & % () {}
- 참고:
- 참고: 호스트 이름을 사용하여 LDAPS 서버에 연결할 수 없는 경우, LDAPS 서버의 IP 주소와 호스트 이름을 로컬 DNS에 추가하십시오. LDAPS 서버 호스트 이름은 마스터 노드에서 해석 가능해야 합니다.
- LDAP 서버
- 인증 정보를 입력하십시오.
- 연결 정보를 입력하십시오.
- 작성을 클릭하십시오.
클러스터가 이제 LDAP 디렉토리와 연결됩니다.
주: 다른 호스트를 차단하려면 알려지지 않은 호스트로 DNS 루프를 방지하기 위해 출구 방화벽 추가 를 참조하십시오.
참고: LDAPS 연결을 사용하는 경우에는 LDAPS 연결에 필요한 SSL(Secure Sockets Layer) 인증서가 디렉토리에 연결할 때 자동으로 구성됩니다. 그러나 auth-idp 팟(Pod)은 수동으로 다시 시작해야 합니다. 마스터 노드에서 다음 단계를 완료하십시오.
- Kubernetes CLI(kubectl) 도구를 설치하십시오.
- auth-idp 팟(Pod)을 가져오십시오.
-
kubectl -n ibm-common-services get pods | grep auth-idp
- auth-idp 팟(Pod)을 삭제하십시오.
-
kubectl -n ibm-common-services delete pods <pod_name>
- 팟(Pod)이 다시 시작될 때까지 대기하십시오.
- LDAPS 연결이 실패한 경우에는 연결을 수동으로 설정할 수도 있습니다. 자세한 정보는 SSL을 통한 LDAP 구성을 참조하십시오.
다음으로 LDAP 사용자 및 사용자 그룹을 클러스터에 추가할 수 있습니다.
참고: 클러스터 관리자 또는 Cloud Pak 관리자가 관리자에게 LDAP 디렉토리에 대한 보기 액세스 권한을 제공해야 합니다. 그러면 관리자가 콘솔을 사용하여 팀에 사용자 또는 그룹을 추가할 수 있습니다.
LDAP 유형별 기본 LDAP 필터
주: 자유에 대한 제한사항이 있습니다. 즉, LDAP userFilter 및 groupFilter 필드에는 =%v 값이 있는 속성이 있어야 합니다. 예를 들어, 데이터 로그인 플로우가 작동하려면 (cn=%v) for Cloud Pak과 Cloud Pak의 경우입니다.
다음 표는 필터의 이름, 해당 데이터 유형 및 기본값을 나타냅니다. groupFilter 및 groupMemberIdMap 는 기본 서비스 버전 3.19 이상에서 하나 이상의 기본값을 가질 수 있습니다.
예:
- groupFilter = (S = %v) ((objectclass=groupOfNames) (objectclass=groupOfUniqueNames)))
- groupMemberIdMap = groupOfNames:member;groupOfUniqueNames:uniqueMember
groupFilter | 문자열 | (&(cn=%v)(objectclass=groupOfUniqueNames)) |
groupIdMap | 문자열 | *:cn |
groupMemberIdMap | 문자열 | groupOfUniqueNames:uniquemember |
userFilter | 문자열 | (&(emailAddress=%v)(objectclass=person)) |
userIdMap | 문자열 | *:emailAddress |
groupFilter | 문자열 | (&(cn=%v)(objectclass=groupOfUniqueNames)) |
groupIdMap | 문자열 | *:cn |
groupMemberIdMap | 문자열 | groupOfUniqueNames:uniquemember |
userFilter | 문자열 | (&(uid=%v)(objectclass=ePerson)) |
userIdMap | 문자열 | *:uid |
groupFilter | 문자열 | (&(cn=%v)(objectcategory=group)) |
groupIdMap | 문자열 | *:cn |
groupMemberIdMap | 문자열 | memberOf:member |
userFilter | 문자열 | (((sAMAccountName= %v) (objectclass = person)) |
userIdMap | 문자열 | user:sAMAccountName |
groupFilter | 문자열 | (&(cn=%v)(objectclass=dominoGroup)) |
groupIdMap | 문자열 | *:cn |
groupMemberIdMap | 문자열 | dominoGroup:member |
userFilter | 문자열 | (&(uid=%v)(objectclass=person)) |
userIdMap | 문자열 | person:uid |
groupFilter | 문자열 | (&(cn=%v)((objectclass=groupOfNames)(objectclass=groupOfUniqueNames))) |
groupIdMap | 문자열 | *:cn |
groupMemberIdMap | 문자열 | groupOfNames:member;groupOfUniqueNames:uniqueMember |
userFilter | 문자열 | (&(uid=%v)(objectclass=ePerson)) |
userIdMap | 문자열 | *:uid |
groupFilter | 문자열 | (&(cn=%v)(objectclass=ldapsubentry)) |
groupIdMap | 문자열 | *:cn |
groupMemberIdMap | 문자열 | nsRole:nsRole |
userFilter | 문자열 | (&(uid=%v)(objectclass=inetOrgPerson)) |
userIdMap | 문자열 | inetOrgPerson:uid |
groupFilter | 문자열 | (&(cn=%v)((objectclass=groupOfNames)(objectclass=groupOfUniqueNames))) |
groupIdMap | 문자열 | *:cn |
groupMemberIdMap | 문자열 | groupOfNames:member;groupOfUniqueNames:uniqueMember |
userFilter | 문자열 | (&(uid=%v)(objectclass=inetOrgPerson)) |
userIdMap | 문자열 | inetOrgPerson:uid |
groupFilter | 문자열 | (S = %v) (objectclass=groupOf이름)) |
groupIdMap | 문자열 | *:cn |
groupMemberIdMap | 문자열 | groupOfNames:member |
userFilter | 문자열 | (&(cn=%v)(objectclass=person)) |
userIdMap | 문자열 | person:cn |
알 수 없는 호스트로의 DNS 루프를 방지하기 위해 송신 방화벽 추가
다음 명령을 실행하여 송신 네트워크 정책을 검색하십시오.
oc get egressnetworkpolicy ldap-firewall
샘플 출력:
NAME AGE
ldap-firewall 16m
다음 샘플 YAML 사양에서는 LDAP 방화벽 송신 네트워크 정책을 정의합니다. 다른 호스트를 차단하려면 액세스를 거부하려는 호스트를 지정하도록 사양을 업데이트하십시오. 그런 다음, 업데이트된 정책을 저장 및 적용하십시오.
apiVersion: network.openshift.io/v1
kind: EgressNetworkPolicy
metadata:
name: ldap-firewall
spec:
egress:
- type: Allow
to:
dnsName: bluepages.ibm.com
- type: Allow
to:
cidrSelector: 9.30.192.0/24
- type: Deny
to:
cidrSelector: 0.0.0.0/0
podSelector:
matchLabels:
app: auth-idp
policyType:
- Egress
'IT > 보안' 카테고리의 다른 글
내 도메인에 여러 개의 DKIM 레코드를 가질 수 있나요? (0) | 2023.08.21 |
---|---|
[EQST insight] WFA 시대의 사이버보안 위협 대응을 위한 접근권한 제어 7 가지 전략 (0) | 2023.05.17 |
의존성(Dependency)이란? 컴파일타임 의존성과 런타임 의존성의 차이 및 비교 (0) | 2023.03.15 |
switch case문(조건문2) 이해, 예제 -C언어 (0) | 2023.03.04 |
Shell Scripting (For 문, if 문, Case 문) (0) | 2023.03.04 |