LDAP 인증 및 권한 부여를 위한 Ops Manager 사용자 구성
개요
LDAP(Lightweight Directory Access Protocol) 서비스를 사용하여 Ops Manager 사용자 인증 및 권한 부여를 관리할 수 있습니다. 사용자가 Ops Manager를 통해 로그인하면 Ops Manager는 LDAP 디렉토리에서 사용자를 검색하여 Ops Manager 사용자 레코드에 있는 사용자의 이름 및 이메일 주소를 LDAP 사용자 레코드의 값과 동기화합니다.
LDAP를 사용하도록 Ops Manager를 구성하려면 다음으로 이동합니다. Admin > General > Ops Manager Config > User Authentication.
참고
이 튜토리얼에서는 Ops Manager 웹 인터페이스의 사용자 인증에 대해 설명합니다.
MongoDB deployment에서 LDAP MongoDB 도 사용하는 경우 MongoDB LDAP용 MongoDB Agent LDAPMongoDB Agent 구성에 설명된 대로 Agent에 대한 사용자를 별도로 만들어야
이 튜토리얼에서는 다음 방법을 설명합니다.
사용자 인증
사용자가 로그인을 시도하면 Ops Manager는 LDAP 쿼리를 사용하여 일치하는 사용자 및 사용자 그룹을 검색합니다.
Ops Manager는 LDAP Bind Dn 및 LDAP Bind Password 필드에 지정된 자격 증명을 사용하여
search
사용자로 LDAP에 로그인합니다.Ops Manager는 LDAP User Base Dn 필드에 지정된 기본 고유 이름으로 검색하고, LDAP User Search Attribute 필드에 지정된 LDAP 속성에 따라 사용자를 일치시킵니다.
Ops Manager는 LDAP Group Base Dn 필드에 지정된 기본 고유 이름으로 검색하고, LDAP Group Member Attribute 필드에 지정된 LDAP 속성에 따라 사용자 그룹을 일치시킵니다. LDAP Group Base Dn 값이 제공되지 않은 경우 Ops Manager는 LDAP User Base Dn 값을 사용하여 LDAP 그룹 멤버십을 검색합니다.
일치하는 사용자가 발견되면 Ops Manager는 제공된 사용자의 LDAP 암호에 대해 제공된 암호를 인증합니다.
권한 부여/접근 제어
LDAP 그룹을 사용하면 Ops Manager에 대한 액세스를 제어할 수 있습니다. LDAP 그룹을 조직 및 프로젝트 Ops Manager 역할과 연결하고 해당 역할을 가져야 하는 사용자에게 LDAP 그룹을 할당합니다.
LDAP 항목은 다음과 같이 Ops Manager 레코드에 매핑됩니다.
LDAP | Ops Manager |
---|---|
사용자 | 사용자 |
Group | 조직/프로젝트 역할 |
LDAP 그룹을 효과적으로 사용하려면 개발 및 프로덕션 환경을 위한 별도의 Ops Manager 프로젝트를 만드는 등 조직 내 특정 배포에 대한 액세스를 제어할 수 있는 추가 프로젝트를 Ops Manager 내에 만들어 보세요. 그런 다음 LDAP 그룹을 Ops Manager 프로젝트의 역할에 매핑하여 배포에 대한 액세스를 제공할 수 있습니다.
참고
LDAP 그룹에 대한 변경 사항이 Ops Manager에 적용되려면 최대 1시간이 걸릴 수 있습니다. 영향을 받는 그룹의 사용자가 Ops Manager에서 로그아웃하고 다시 로그인하면 변경 사항이 즉시 적용됩니다.
LDAP 사용자가 어떤 LDAP 그룹에도 속해 있지 않은 경우, Ops Manager는 사용자에게 어떤 역할, 조직 또는 프로젝트도 배정하지 않습니다.
LDAP 사용자에게 프로젝트 역할은 할당되었지만 조직 역할은 할당되지 않은 경우, Ops Manager는 자동으로 해당 사용자에게 조직 구성원 역할을 할당합니다.
조직이 여러 부서로 구성되어 있고 각 부서가 서로 다른 청구 요건, 경고 설정 및 프로젝트 구성원을 가진 경우에는 각 부서별로 새 조직을 생성하는 것이 좋습니다.
SSL을 통한 LDAP
SSL 연결을 통한 LDAP(LDAPS)를 사용하는 경우 이 필드를 작성합니다.
필드 | 필요한 값 |
---|---|
LDAP SSL CA File | 신뢰할 수 있는 인증 기관의 PEM 키 파일 경로. |
LDAP SSL PEM Key File | 클라이언트 인증서와 개인 키가 포함된 PEM 키 파일의 경로. |
LDAP SSL PEM Key File Password | LDAP SSL PEM Key File이 암호화된 경우 이를 해독하기 위한 비밀번호. |
전제 조건
LDAP 서버는 다음을 갖춰야 합니다.
Ops Manager가 설치, 구성 및 액세스할 수 있어야 합니다.
각 사용자의 그룹 멤버십을 각 사용자의 LDAP 항목의 속성으로 포함합니다.
중요
Ops Manager 그룹 멤버십에 중첩된 LDAP 그룹을 포함하려면
member
LDAP 사용자 속성을 사용하세요.예를 예시, LDAP 사용자
jsmith
이(가) LDAP 그룹B
에 속하고 LDAP 그룹B
이(가) LDAP 그룹A
에 속한 경우, MongoDB Ops Manager 는jsmith
을(를) 그룹A
및B
의 멤버로 인식합니다. .Ops Manager 사용자 및 그룹을 포함하는 기본 고유 이름을 검색할 수 있는 사용자를 포함합니다.
Global Owners
에 대한 그룹을 포함합니다.MongoDB Ops Manager에서 를구성 LDAP 할 때 이 그룹을 LDAP Global Role Owner 필드에 입력 해야 합니다 .
예시
LDAP에 Ops Manager 관리자가 사용할
admin
그룹이 있는 경우 LDAP Global Role Owner 필드에admin
를 입력합니다.LDAP 인증을 활성화한 후에는 먼저 이 그룹에 속한 사용자로 Ops Manager에 로그인하여 초기 Ops Manager 프로젝트(해당되는 경우)를 만들고 반드시 LDAP 그룹을 프로젝트 및 조직 역할에 매핑해야 합니다.
중요
Ops Manager가 LDAP 인증으로 전환되면 인증 방법을 변경하는 전역 소유자 역할의 사용자만 로그인 상태로 유지됩니다. 다른 모든 사용자는 로그아웃되며, LDAP 사용자 이름 및 비밀번호를 사용하여 Ops Manager에 다시 로그인해야 합니다. LDAP 사용자 이름 및 비밀번호가 없는 사용자는 더 이상 Ops Manager에 로그인할 수 없습니다.
절차
LDAP 인증을 구성하려면 다음에 따릅니다.
선택한 LDAP 시스템에서 사용자 레코드를 정의합니다.
표준 LDAP 객체 클래스 및 속성 유형에 대한 설명을 찾으려면 사용자 애플리케이션을 위한 경량 디렉토리 액세스 프로토콜 스키마를 참조하세요.
LDAP 구성 설정을 입력합니다.
다음 필수 LDAP 구성 필드에 값을 입력합니다.
필드작업예시User Authentication MethodLDAP0}을 선택합니다.LDAP
LDAP URILDAP 서버의 호스트 이름과 포트를 입력합니다.
인증에 여러 LDAP 서버를 사용하는 경우 각 URI를 공백으로 구분합니다.
중요: MongoDB Ops Manager 는 LDAP URI 필드 에 밑줄 문자(
_
)가 포함된 호스트 이름을 지원 하지 않습니다.ldap://ldap.example.com:389
LDAP SSL CA FileLDAPS 서버에서 사용하는 인증서에 서명한 CA의 인증서가 포함된 PEM 키 파일의 경로를 입력합니다. 이 필드는 선택 사항이며 Ops Manager 애플리케이션에서 LDAPS 서버의 식별을 확인하고 중간자 공격을 방지하는 데 사용됩니다. 이 구성을 제공하지 않으면 Ops Manager는 JRE(Java Runtime Environment)와 함께 제공되는 기본 루트 CA 인증서 번들을 사용합니다. LDAPS 서버 인증서를 루트 CA에서 확인할 수 없는 경우(즉, 자체 서명된 경우) LDAPS 서버에 대한 요청이 실패합니다./opt/cert/ca.pem
LDAP SSL PEM Key File클라이언트 인증서 및 개인 키가 포함된 PEM 키 파일의 경로를 입력합니다. 이 필드는 선택 사항이며 LDAPS 서버에서 클라이언트 애플리케이션이 클라이언트 인증서를 전달해야 하는 경우에만 사용해야 합니다. Ops Manager 애플리케이션 서버에서 LDAPS 서버로 전송된 요청에 서명하는 데 사용됩니다. 이를 통해 LDAPS 서버는 Ops Manager 애플리케이션 서버의 식별을 확인할 수 있습니다./opt/cert/ldap.pem
LDAP SSL PEM Key File PasswordLDAP SSL PEM 키 파일의 암호를 해독하는 비밀번호를 입력합니다. LDAPS 서버에서 LDAP SSL PEM 키 파일 필드에 지정된 클라이언트 인증서가 필요하고 LDAP SSL PEM 키 파일에 지정된 클라이언트 인증서가 파일 시스템에 암호화된 상태로 저장되어 있는 경우, 이 필드는 필수입니다.<encrypted-password>
LDAP Bind DnLDAP 서버에서 사용자 검색을 수행할 수 있는 인증된 사용자를 입력합니다.cn=admin, dc=example, dc=com
LDAP Bind PasswordLDAP 서버에서 Bind Dn 사용자의 비밀번호를 입력합니다.<password>
LDAP User Base DnOps Manager가 LDAP 서버에서 사용자를 검색하는 데 사용하는 고유 이름을 입력합니다.dc=example, dc=com
LDAP User Search Attribute사용자 이름을 지정하는 LDAP 서버에 LDAP 필드를 입력합니다.uid
LDAP Group Base DnOps Manager가 LDAP 서버에서 그룹을 검색하는 데 사용하는 고유 이름을 입력합니다.ou=othergroups, dc=example, dc=com
LDAP Group Member Attribute해당 그룹에 속하는 LDAP 사용자 목록을 지정하는 LDAP 그룹 속성을 입력합니다.member
LDAP User Group사용자가 속한 LDAP 그룹을 지정하는 LDAP 사용자 속성을 입력합니다. 이 LDAP 속성은 임의의 형식을 사용하여 일반 이름(cn
) 또는 고유 이름(dn
) 등의 그룹을 나열할 수 있습니다. 그룹을 지정하는 모든 Ops Manager 설정은 선택한 형식과 일치해야 합니다.memberOf
LDAP Global Role OwnerOps Manager 전역 소유자가 속한 LDAP 그룹을 입력합니다.cn=global-owner, ou=groups, dc=example, dc=com
필요한 경우 다음 선택적 LDAP 구성 필드에 값을 입력하세요.
중요
각 그룹에 대해 정규화된 고유 이름을 사용해야 합니다. 여러 LDAP 또는 SAML 그룹이 동일한 역할에 해당하는 경우 세미콜론 2개(
;;
)로 구분합니다. 역할의 필드에서 그룹을 제거하여 해당 역할에 대한 그룹의 액세스 권한을 취소합니다.필드작업LDAP User First Name사용자의 이름을 지정하는 LDAP 사용자 속성을 입력합니다.LDAP User Last Name사용자의 성을 지정하는 LDAP 사용자의 속성을 입력합니다.LDAP User Email사용자의 이메일 주소를 지정하는 LDAP 사용자 속성을 입력합니다.LDAP Global Role Automation AdminOps Manager 전역 자동화 관리자가 속한 LDAP 그룹을 입력합니다. 세미콜론 2개(;;
)로 구분된 경우 이 필드에 LDAP 그룹을 여러 개 입력할 수 있습니다.LDAP Global Role Backup AdminOps Manager 전역 백업 관리자가 속한 LDAP 그룹을 입력합니다. 세미콜론 2개(;;
)로 구분된 경우 이 필드에 LDAP 그룹을 여러 개 입력할 수 있습니다.LDAP Global Role Monitoring AdminOps Manager 전역 모니터링 관리자가 속한 LDAP 그룹을 입력합니다. 세미콜론 2개(;;
)로 구분된 경우 이 필드에 LDAP 그룹을 여러 개 입력할 수 있습니다.LDAP Global Role User AdminOps Manager 전역 사용자 관리자가 속한 LDAP 그룹을 입력합니다. 세미콜론 2개(;;
)로 구분된 경우 이 필드에 LDAP 그룹을 여러 개 입력할 수 있습니다.LDAP Global Role Read OnlyOps Manager 전역 읽기 전용 사용자가 속한 LDAP 그룹을 입력합니다. 세미콜론 2개(;;
)로 구분된 경우 이 필드에 LDAP 그룹을 여러 개 입력할 수 있습니다.
LDAP 그룹을 프로젝트 역할과 연결합니다.
새 프로젝트의 역할에 LDAP 그룹을 연결합니다.
참고
새 프로젝트를 생성하려면 전역 역할을 가지고 있어야 합니다.
Admin > General > Projects를 클릭합니다.
Create a New Project를 클릭합니다.
Project Name에 새 Ops Manager 프로젝트의 이름을 입력합니다.
각 프로젝트 역할에 해당하는 LDAP 그룹을 입력합니다.
중요
각 그룹에 대해 정규화된 고유 이름을 사용해야 합니다. 여러 LDAP 또는 SAML 그룹이 동일한 역할에 해당하는 경우 세미콜론 2개(
;;
)로 구분합니다. 역할의 필드에서 그룹을 제거하여 해당 역할에 대한 그룹의 액세스 권한을 취소합니다.Add Project를 클릭합니다.
기존 프로젝트에서 LDAP 그룹과 역할의 연결을 업데이트하려면 다음을 수행하세요.
Admin > General > Projects를 클릭합니다.
프로젝트의 Actions 열에서 을 클릭한 다음 Edit LDAP Settings을 클릭합니다.
각 프로젝트 역할에 해당하는 LDAP 그룹을 입력합니다.
중요
각 그룹에 대해 정규화된 고유 이름을 사용해야 합니다. 여러 LDAP 또는 SAML 그룹이 동일한 역할에 해당하는 경우 세미콜론 2개(
;;
)로 구분합니다. 역할의 필드에서 그룹을 제거하여 해당 역할에 대한 그룹의 액세스 권한을 취소합니다.Save Changes를 클릭합니다.
선택 사항: LDAP 그룹을 조직 역할과 연결합니다.
LDAP 그룹을 새 조직의 역할에 연결하려면 다음을 수행합니다.
참고
새 조직을 생성하려면 전역 역할을 가지고 있어야 합니다.
Admin > General > Organizations를 클릭합니다.
Create a New Organization를 클릭합니다.
Organization Name에 새 Ops Manager 조직의 이름을 입력합니다.
각 조직역할에 해당하는 LDAP 그룹을 입력합니다.
중요
각 그룹에 대해 정규화된 고유 이름을 사용해야 합니다. 여러 LDAP 또는 SAML 그룹이 동일한 역할에 해당하는 경우 세미콜론 2개(
;;
)로 구분합니다. 역할의 필드에서 그룹을 제거하여 해당 역할에 대한 그룹의 액세스 권한을 취소합니다.Add Organization를 클릭합니다.
기존 조직의 역할과 LDAP 그룹의 연결을 업데이트하려면 다음과 같이 하세요:
Admin > General > Organizations를 클릭합니다.
Edit Org 버튼을 클릭합니다.
각 조직역할에 해당하는 LDAP 그룹을 입력합니다.
중요
각 그룹에 대해 정규화된 고유 이름을 사용해야 합니다. 여러 LDAP 또는 SAML 그룹이 동일한 역할에 해당하는 경우 세미콜론 2개(
;;
)로 구분합니다. 역할의 필드에서 그룹을 제거하여 해당 역할에 대한 그룹의 액세스 권한을 취소합니다.Save Changes를 클릭합니다.
MongoDB 배포를 추가합니다.
MongoDB deployment을 추가할때 LDAP 인증 설정을 지정하세요.
문제 해결
Ops Manager는 JDK에서 기본적으로 엔드포인트 탐지를 활성화합니다. Ops Manager 호스트에 신뢰할 수 있는 서버 인증서를 사용해야 합니다.
신뢰할 수 있는 인증서를 사용할 수 없는 경우:
엔드포인트 식별을 비활성화합니다.
mms.conf
의JAVA_MMS_UI_OPTS
속성에-Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true
를 추가합니다.이 변경 후에 모든 Ops Manager 서비스를 다시 시작하세요.
경고
이 기능을 사용하지 않도록 설정하면 Ops Manager 보안에 영향을 줍니다. 대신 유효하고 신뢰할 수 있는 인증서를 구성해야 합니다.