K8s에서 LDAP을 이용해 접근 제어 관리를 하기 위해 사용하는 항목들을 정리해본다.
LDAP_BIND_DN
- LDAP 클라이언트가 서버에 연결한 후 인증하기 위해 사용되는 Distinguished Name(DN)이다.
- DN은 LDAP 디렉터리 트리 내에서 고유한 엔트리(항목)을 식별하는 방법 중 하나이다.
- 일반적으로 사용자 또는 응용 프로그램이 디렉터리 서비스에 대한 액세스를 허용하도록 인증할 때 사용된다.
- 클라이언트가 서버에 연결하고 특정 DN을 사용하여 인증을 수행할 수 있다.
- 이 DN은 LDAP 서버에 등록된 사용자 또는 서비스 계정을 나타내며, 일반적으로 다음과 같은 형식을 가진다.
CN=John Smith,OU=Users,DC=example,DC=com
위의 DN 예제에서는 "CN"은 Common Name을 나타내며, "OU"는 Organizational Unit을 나타낸다. "DC"는 Domain Component를 나타내며, LDAP 경로를 구성하는 데 사용된다.
- LDAP_BIND_DN을 설정하면 클라이언트는 해당 DN을 사용하여 LDAP 서버에 인증을 시도하고, 인증이 성공하면 해당 DN의 권한으로 디렉터리 트리에서 작업을 수행할 수 있다.
- LDAP_BIND_DN은 LDAP 연결을 설정할 때 필수적이며, 서버에 대한 접근 권한을 관리하고 보안을 유지하는 데 중요한 역할을 한다.
LDAP_BIND_PASSWORD
- LDAP_BIND_PASSWORD는 LDAP 서버와의 연결을 설정한 후 LDAP 클라이언트가 서버에 인증하기 위해 사용하는 비밀번호 또는 암호를 나타낸다.
- 이 비밀번호는 LDAP_BIND_DN (Distinguished Name)으로 식별된 계정과 연관되며, 해당 계정을 사용하여 디렉터리 서버에 접근할 때 필요하다.
- LDAP 클라이언트는 LDAP 서버에 연결 후 LDAP_BIND_DN과 LDAP_BIND_PASSWORD를 제공하여 인증을 시도하고, 인증이 성공하면 클라이언트는 해당 계정의 권한으로 디렉터리 트리에서 작업을 수행할 수 있다.
- LDAP_BIND_PASSWORD는 접근 권한을 관리하기 위해 중요한 역할을 한다. 따라서 이 비밀번호는 안전하게 보관하고 전송하는 것이 중요하다.
- 일반적으로 LDAP 클라이언트 설정에서 LDAP_BIND_DN과 LDAP_BIND_PASSWORD를 구성하고, 연결을 설정할 때 이러한 인증 정보를 사용하여 LDAP 서버와의 연결을 확립하고 인증을 시도한다.
LDAP_GROUP_SEARCH_BASE_DN
- LDAP 서버에서 그룹 정보를 검색할 때 사용되는 베이스 DN (Distinguished Name)을 나타낸다. 이 베이스 DN은 LDAP 디렉터리 트리에서 그룹 정보를 검색하기 위한 출발점을 지정한다.
- LDAP 그룹 정보를 검색할 때 LDAP_GROUP_SEARCH_BASE_DN을 설정하면 클라이언트는 해당 베이스 DN 아래에서 그룹을 검색하고 해당 그룹의 멤버십 정보를 가져올 수 있다. 일반적으로 이것은 그룹 객체의 위치를 나타내며, 그룹의 이름, 유형 등과 함께 사용된다.
OU=Groups,DC=example,DC=com
위의 예에서 "OU"는 Organizational Unit을 나타내며, "DC"는 Domain Component를 나타낸다. 이 설정은 LDAP 서버의 디렉터리 트리에서 "OU=Groups" 위치에서 그룹 정보를 검색하겠다는 것을 의미하며 클라이언트는 이 베이스 DN을 사용하여 그룹 검색 및 멤버십 정보를 확인할 수 있다.
LDAP_GROUP_SEARCH_FILTER
- LDAP_GROUP_SEARCH_FILTER는 디렉터리 서버에서 그룹 정보를 검색하는 데 사용되는 필터 또는 조건을 나타낸다.
- 이 필터는 LDAP 클라이언트가 그룹을 검색할 때 사용되며, 특정 조건에 일치하는 그룹만을 반환하도록 도와준다.
- 일반적으로 LDAP 클라이언트는 특정 그룹 속성 (예: 그룹 이름) 또는 그룹 속성 값 (예: "developers")을 기반으로 그룹을 검색하기 위해 이 필터를 사용한다.
- 필터는 LDAP 검색 표현을 따르며, 이 표현은 괄호 안에 필드 이름과 값을 사용하여 구성된다.
(&(attribute=value)(attribute2=value2))
위의 예에서 "attribute" 및 "value"는 특정 그룹을 식별하는 데 사용되는 속성과 값이다.
(&(objectClass=group)(cn=developers))
"CN" (Common Name)이 "developers"인 그룹을 검색하기 위한 LDAP_GROUP_SEARCH_FILTER는 다음과 같이 설정될 수 있다. 이 필터는 "objectClass"가 "group"이고 "cn"이 "developers"인 그룹을 검색하는 데 사용된다.
LDAP_GROUP_SEARCH_NAME_ATTRIBUTE
- LDAP을 사용하여 그룹을 검색할 때 사용되는 그룹 이름 또는 식별자를 나타내는 속성(attribute)의 이름을 나타낸다.
- 이 설정은 LDAP 클라이언트에서 그룹을 식별하기 위해 사용되는 속성을 지정하는 데 사용된다.
- 일반적으로 LDAP_GROUP_SEARCH_NAME_ATTRIBUTE 설정은 그룹을 식별하기 위해 사용자가 입력한 그룹 이름 또는 그룹 식별자를 나타내는 속성(attribute)의 이름을 지정한다.
- 사용자가 그룹을 검색하려면 클라이언트는 이 설정에 지정된 속성과 사용자가 입력한 그룹 이름 또는 식별자를 비교하여 일치하는 그룹을 찾는다.
- 예를 들어, LDAP_GROUP_SEARCH_NAME_ATTRIBUTE 설정이 "cn"으로 설정되면 사용자가 그룹 이름 "developers"를 입력하면 클라이언트는 "cn" 속성과 "developers" 값을 비교하여 해당 그룹을 식별한다.
LDAP_GROUP_SEARCH_USER_ATTRIBUTE
- 사용자 계정과 관련된 속성(attribute)의 이름을 나타내는 설정이다.
- 이 설정은 LDAP 클라이언트에서 그룹 멤버십을 검색하거나 그룹과 관련된 사용자 계정 정보를 확인하는 데 사용된다.
- 일반적으로 LDAP_GROUP_SEARCH_USER_ATTRIBUTE 설정은 그룹과 연결된 사용자 계정을 식별하는 데 사용되는 속성의 이름을 나타낸다.
- 사용자 계정이 그룹에 속한 경우, 이 설정은 그룹 객체에 연결된 사용자 계정을 찾는 데 사용된다.
- 예를 들어, LDAP_GROUP_SEARCH_USER_ATTRIBUTE 설정이 "member"로 설정되면 그룹 객체에는 "member" 속성에 그룹에 속한 사용자 계정의 DN (Distinguished Name)이 포함된다.
- 클라이언트는 이 설정을 사용하여 그룹 객체의 "member" 속성에서 사용자 계정 DN을 추출하고 해당 사용자 계정을 확인한다.
LDAP_HOST
- LDAP 클라이언트가 연결하려는 LDAP 디렉터리 서버의 호스트 주소 또는 호스트 이름을 나타낸다.
- LDAP 호스트는 LDAP 클라이언트 설정 또는 구성에서 지정해야 하는 중요한 정보 중 하나이다.
- LDAP 호스트는 일반적으로 LDAP 디렉터리 서버의 IP 주소나 호스트 이름을 가리키며, LDAP 클라이언트는 이 호스트에 연결하여 LDAP 프로토콜을 통해 서버와 통신합니다.
- 일반적으로 다음 형식을 가질 수 있다.
- IP 주소: "192.168.1.100"와 같이 디렉터리 서버의 IP 주소
- 호스트 이름: "ldap.example.com"와 같이 디렉터리 서버의 호스트 이름
- 예를 들어, LDAP 호스트가 "ldap.example.com"이고 LDAP 포트가 기본 포트 389인 경우, LDAP 클라이언트는 "ldap.example.com:389"와 같이 호스트 및 포트 번호를 사용하여 서버에 연결한다.
LDAP_ROOT_CA_DATA_B64
- LDAP에서 사용자 인증 및 연결 보안을 제공하기 위한 SSL/TLS (Secure Sockets Layer/Transport Layer Security) 프로토콜을 사용할 때 필요한 서버의 루트 인증 기관 (Certificate Authority) 인증서의 인증 데이터를 Base64로 인코딩된 형식으로 나타내는 설정이다.
- 이 설정은 클라이언트가 LDAP 서버와 안전한 연결을 설정할 때 필요한 서버의 디지털 인증서를 검증하는 데 사용된다.
LDAP_USER_SEARCH_BASE_DN
- LDAP 클라이언트에서 사용자 계정을 검색하기 위한 Base DN (Distinguished Name)을 나타낸다.
- Base DN은 LDAP 서버에서 검색 작업을 시작할 기본 위치를 지정하는 데 사용된다.
- 일반적으로 LDAP_USER_SEARCH_BASE_DN 설정은 사용자 계정을 검색하기 위한 LDAP 서버의 Base DN을 나타내며, 이 설정은 클라이언트가 사용자 계정 검색 작업을 수행할 때 시작 위치를 지정하는 데 사용된다.
- Base DN은 LDAP 디렉터리 트리의 일부인 디렉터리 경로를 나타내며, 사용자 계정 검색이 이 경로에서 시작된다.
예를 들어, LDAP 디렉터리 트리가 다음과 같이 구성되어 있다고 가정해보자
DC=example,DC=com
- OU=Users
- CN=User1
- CN=User2
- OU=Groups
- CN=Developers
- CN=Managers
위와 같이, LDAP_USER_SEARCH_BASE_DN을 "OU=Users,DC=example,DC=com"로 설정하면 클라이언트는 "OU=Users,DC=example,DC=com" 베이스 DN에서 사용자 계정을 검색한다. 이 Base DN 아래에 있는 사용자 계정만을 검색하게 된다.
LDAP_USER_SEARCH_FILTER
- LDAP 클라이언트가 디렉터리 서버에서 사용자 계정 정보를 검색하는 데 사용되는 필터 또는 검색 조건을 나타낸다.
- 이 필터는 클라이언트가 디렉터리 서버에서 특정 사용자 계정을 검색할 때 사용되며, 사용자 검색 작업을 제한하거나 필터링하는 데 도움이 된다.
- 예를 들어, "(&(objectClass=user)(sAMAccountName=j.smith))"와 같은 LDAP_USER_SEARCH_FILTER를 설정하면 "objectClass"가 "user"이고 "sAMAccountName"이 "j.smith"인 사용자 계정을 검색하는 데 사용된다.
LDAP_USER_SEARCH_NAME_ATTRIBUTE
- LDAP_USER_SEARCH_NAME_ATTRIBUTE는 LDAP 디렉터리 서버에서 사용자 계정을 검색할 때 사용자 이름 또는 식별자를 나타내는 속성(attribute)의 이름을 지정하는 설정이다. 이 설정은 LDAP 클라이언트에서 사용자 계정을 검색할 때 어떤 속성을 사용하여 사용자를 식별할지 결정하는 데 사용된다.
- 예를 들어, 이 설정을 "uid"로 하면 LDAP 클라이언트는 사용자 이름 또는 사용자 ID로 "uid" 속성을 사용하여 사용자를 식별한다.
- 사용자 이름 또는 식별자는 일반적으로 LDAP_USER_SEARCH_NAME_ATTRIBUTE로 설정된 속성에 저장되며, 이 설정은 사용자 계정 정보를 검색할 때 사용된다.
- LDAP 클라이언트가 사용자를 식별하기 위해 사용자 이름을 입력하면 클라이언트는 해당 이름을 LDAP_USER_SEARCH_NAME_ATTRIBUTE 설정에 지정된 속성과 비교하여 일치하는 사용자 계정을 찾는다.
&(objectClass=posixAccount)(uid={john.smith})
예를 들어, LDAP_USER_SEARCH_NAME_ATTRIBUTE 설정이 "uid"로 설정되면, 사용자 이름 "john.smith"를 입력하여 해당 사용자의 계정 정보를 검색할 때 "uid" 속성과 비교한다. 이 속성의 값이 "john.smith"인 사용자 계정을 반환한다.
- LDAP 클라이언트 설정 또는 구성에서 LDAP_USER_SEARCH_NAME_ATTRIBUTE를 정확하게 설정해야 하며, 이 설정은 사용자 계정 관리 및 검색 프로세스에서 중요한 역할을 한다. 이를 통해 클라이언트가 사용자 이름 또는 식별자를 기반으로 사용자 계정을 검색하고 관리할 수 있다.
PosixAccount
PosixAccount는 LDAP 디렉터리 서버에서 사용되는 스키마 또는 객체 클래스(object class) 중 하나로, 유닉스 및 리눅스 시스템에서 사용자 계정 정보를 표현하는 데 사용된다.
PosixAccount는 사용자의 유닷스 또는 리눅스 시스템에서 사용되는 기본 계정 정보를 정의하는데 도움이 되는 일련의 속성을 포함한다.
PosixAccount 객체 클래스는 주로 다음과 같은 속성을 포함한다.
1. uid (User ID): 사용자의 고유 식별자로 사용
2. cn (Common Name): 사용자의 일반 이름 또는 풀 이름을 나타냄
3. gidNumber (Group ID Number): 사용자가 속한 그룹의 고유 식별자
4. homeDirectory: 사용자의 홈 디렉터리 경로를 지정
5. loginShell: 사용자의 로그인 쉘을 지정
6. uidNumber: 사용자의 숫자형식의 식별자로 사용
7. userPassword: 사용자의 암호 또는 암호 해시를 포함할 수 있다.
8. gecos (General Electric Comprehensive Operating System): 사용자의 추가 정보를 나타낸다.
PosixAccount 객체 클래스는 사용자 계정을 관리하고, 사용자가 시스템에 로그인하고 파일 및 디렉터리에 액세스할 때 사용되는 중요한 정보를 제공한다.
이를 통해 LDAP 디렉터리 서버에서 사용자 계정 정보를 중앙 집중식으로 관리하고 다양한 시스템에서 공유할 수 있으며, 복잡한 사용자 관리 및 권한 부여를 단순화할 수 있다.
'DevOps > Kubernetes' 카테고리의 다른 글
[Kubernetes] 쿠버네티스 컴포넌트 (0) | 2023.02.07 |
---|---|
[Kubernetes] AWS EKS - Fargate로 구성하기 (0) | 2022.06.14 |
[Kubernetes] AWS EKS - CloudWatch Container Insight (0) | 2022.06.14 |
[Kubernetes] AWS EKS - Clustering Autoscaling (클러스터 오토스케일링) (0) | 2022.06.13 |
[Kubernetes] 쿠버네티스 모니터링 (Monitoring) - Metrics Server (0) | 2022.06.13 |
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!