Docs Menu
Docs Home
/
MongoDB Atlas
/ /

LDAP로 사용자 인증 및 권한 부여 설정하기

이 페이지의 내용

  • 필요한 액세스 권한
  • 전제 조건
  • 추천
  • 고려 사항
  • LDAP 권한 부여와 X.509 사용자 간 충돌
  • 사용자 이름
  • 연결 문자열
  • 구성 변경 시 롤링 재시작
  • 공용 IP 주소 사용
  • 제한 사항
  • 절차
  • LDAP로 인증 구성
  • 인증 구성
  • LDAP 데이터베이스 사용자 또는 그룹 추가
  • LDAP 구성 보기
  • LDAP 구성 비활성화
  • 타사 LDAP 제공자를 위한 튜토리얼

참고

MongoDB 8.0 부터 LDAP 인증 및 권한 부여 는 더 이상 사용되지 않습니다. 이 기능 은 사용할 수 있으며 MongoDB 8 의 수명 기간 동안 변경 없이 계속 작동합니다. LDAP 는 향후 주요 출시하다 에서 제거될 예정입니다.

자세한 내용은 LDAP 사용 중단을 참조하세요.

참고

다음 배포에서는 이 기능 을 사용할 수 없습니다.

  • 서버리스 인스턴스

  • M0 클러스터

  • M2/M5 클러스터

  • Flex 클러스터

학습보려면 제한을 참조하세요.

Atlas는 TLS를 통해 자체 경량 디렉토리 액세스 프로토콜(Lightweight Directory Access Protocol, LDAP) 서버를 사용하여 모든 MongoDB 클라이언트의 사용자 인증 및 권한 부여를 관리할 수 있는 기능을 제공합니다. 단일 LDAPS(LDAP over TLS) 구성이 프로젝트의 모든 cluster에 적용됩니다.

LDAP로 사용자 권한 부여가 가능하도록 설정한 경우 LDAP 그룹을 Atlas 데이터베이스의 MongoDB 역할에 매핑하여 admin 데이터베이스에 LDAP 그룹을 생성할 수 있습니다. LDAP 그룹을 효과적으로 사용하려면 개발 환경과 프로덕션 환경을 위한 별도의 Atlas 프로젝트를 만드는 등 조직 내 특정 배포에 대한 액세스를 제어할 수 있는 추가 프로젝트를 Atlas 내에 만드세요. 그런 다음 LDAP 그룹을 Atlas 프로젝트의 역할에 매핑하여 원하는 배포에 대한 액세스를 제공할 수 있습니다.

참고

사용자 권한 부여를 활성화했는데 LDAP 사용자가 어떤 LDAP 그룹에도 속해 있지 않은 경우, Atlas는 사용자에게 데이터베이스 역할을 할당하지 않습니다. 사용자 인증을 활성화하고 사용자 권한 부여를 비활성화하면 Atlas는 MongoDB database 역할을 LDAP 사용자에게 할당합니다.

조직이 여러 부서로 구성되어 있고 각 부서가 서로 다른 청구 요건, 경고 설정 및 프로젝트 노드를 가진 경우에는 각 부서나 사업부별 새 프로젝트 세트 또는 새 조직을 생성하는 것이 좋습니다.

참고

LDAP 에 대한 설명은 MongoDB 문서의 범위를 벗어납니다. RFC 4515 검토 하세요.4516 및 RFC 또는 선호하는 LDAP 문서를 참조하세요.

LDAP 사용자 또는 그룹을 관리하려면 Atlas에 대한 Organization Owner 또는 Project Owner 액세스 권한이 있어야 합니다.

Atlas에서 LDAP를 사용하여 사용자 인증 및 권한 부여를 관리하려면 다음 전제 조건을 충족해야 합니다.

  • MongoDB 4.0 이상을 사용하는 Atlas 클러스터.

  • TLS를 사용하는 LDAP 서버로, Atlas 클러스터가 VPC, VNet 피어링 연결, 클러스터 노드의 공용 IP 주소를 사용하여 네트워크를 통해 액세스할 수 있습니다.

  • 사용자 권한 부여를 위해서만 LDAP 엔트리에 각 사용자의 속성으로 포함된 LDAP 그룹 멤버십입니다.

LDAPS 서비스가 Atlas 클러스터에 액세스하는 경우 MongoDB는 두 가지 구성 중 하나를 권장합니다.

VPC 또는 VNet 사용

  1. VPC 또는 VNet에서 LDAP 서버를 실행합니다.

  2. Atlas 프로젝트에 피어링 연결을 설정합니다.

  3. LDAP 서버의 비공개 IP 주소로 확인되는 공개 FQDN을 사용합니다.

데이터 센터 사용 방법

  1. 공개 IP 주소로 확인되는 공개 FQDN으로 LDAP 서버를 실행합니다.

  2. Atlas 클러스터 노드의 공용 IP 주소에서 인바운드 액세스를 허용하도록 LDAP 서버를 구성합니다.

LDAP 권한 부여를 활성화하면 Atlas 관리형 X.509 인증서로 인증하는 사용자로 클러스터에 연결할 수 없습니다.

LDAP 권한 부여를 활성화한 후에는 자체 관리형509 X. 인증서로 인증하는 사용자로 클러스터에 연결할 수 있습니다 . 그러나 X.509 인증서에 있는 사용자의 일반 이름은 LDAP로 데이터베이스에 액세스할 수 있는 권한이 있는 사용자의 고유 이름과 일치해야 합니다.

Atlas는 LDAP 서버에 있는 사용자의 전체 고유 이름(DN)을 Atlas 사용자 이름으로 사용합니다. 예를 들어 ralph라는 LDAP 사용자의 사용자 이름은 Atlas에서 다음과 같습니다.

cn=ralph,cn=Users,dc=aws-atlas-ldap-01,dc=myteam,dc=com

관리자가 사용자 인증 또는 LDAP를 통한 사용자 인증과 권한 부여를 모두 활성화하는 경우 데이터베이스 사용자는 클라이언트에 대한 연결 문자열에서 다음 매개변수를 재정의해야 합니다.

  • authSource 필수 $external

  • authenticationMechanism 필수 PLAIN

예시

에 대한 다음 연결 string mongoshLDAP 이라는 사용자를 rob 인증합니다.

mongosh "mongodb+srv://cluster0-tijis.mongodb.net/test?authSource=%24external" \
--authenticationMechanism PLAIN \
--username cn=rob,cn=Users,dc=ldaps-01,dc=myteam,dc=com

연결 문자열을 복사하려면 다음을 수행합니다.

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.

  3. 아직 표시되지 않은 경우 사이드바에서 Clusters를 클릭합니다.

    Clusters(클러스터) 페이지가 표시됩니다.

2

Connect를 클릭합니다.

3

User DN 및 비밀번호로 문자열을 수정합니다.

참고

비밀번호, 데이터베이스 이름 또는 연결 문자열에 예약된 URI 문자가 포함된 경우 해당 문자를 이스케이프 처리해야 합니다. 예를 들어 비밀번호가 @bc123인 경우 연결 문자열에 암호를 지정할 때 @ 문자를 이스케이프 처리해야 합니다 (예시: %40bc123). 자세한 내용은 연결 문자열 비밀번호의 특수 문자를 참조하세요.

LDAP 구성을 변경하면 Atlas는 cluster의 롤링 재시작을 수행합니다. 이 재시작을 통해 Atlas는 올바른 설정을 사용하여 사용자를 인증할 수 있습니다.

네트워크 주소 변환을 통해 다른 내부 또는 비공개 IP 주소를 참조하는 공용 IP 주소를 사용하면 Atlas 트래픽을 LDAP 서버로 허용할 수 있습니다. 이 작업을 수행하는 경우 특정 활동으로 인해 Atlas cluster의 공용 IP 주소가 변경될 수 있다는 점에 유의하세요.

공용 IP 주소를 기반으로 LDAP 서버 액세스를 허용한 경우, Atlas 클러스터의 공용 IP 주소가 변경되어 LDAP 액세스가 차단됩니다.LDAP 액세스를 복원하려면 새 Atlas 클러스터 공용 IP 주소를 LDAP 액세스 목록에 추가합니다.

동일한 데이터베이스 사용자에 대해 LDAP 인증과 SCRAM 인증을 모두 사용할 수 없습니다.

참고

동일한 Atlas CLI 명령을 사용하여 LDAP 인증 및 LDAP 권한 부여를 구성할 수 있습니다.

Atlas CLI를 사용하여 지정한 프로젝트에 대해 하나의 LDAP 구성을 저장하려면 다음 명령어를 실행합니다.

atlas security ldap save [options]

명령 구문 및 매개변수에 대해 자세히 알아보려면 Atlas 보안 LDAP 저장에 대한 Atlas CLI 설명서를 참조하세요.

참조: 관련 링크

프로젝트 의 모든 클러스터에 대해 LDAP 를 사용하여 사용자 인증 을 구성하려면 다음 절차를 따르세요.

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Advanced를 클릭합니다.

    고급 페이지가 표시됩니다.

2

참고

이 기능을 활성화하면 추가 비용이 발생할 수 있습니다. Advanced Security(고급 보안)를 참조하세요.

3

여러 서버를 쉼표로 구분하여 나열할 수 있습니다. 다른 포트는 사용할 수 없습니다.

4

자체 서명된 인증서를 제공할 수 있습니다.

5

Atlas에서 변경 사항을 배포할 때까지 기다립니다. Atlas는 제공한 구성 세부 정보를 사용하여 클러스터가 LDAP 서버로 연결, 인증, 쿼리할 수 있음을 확인합니다.

참고

동일한 Atlas CLI 명령을 사용하여 LDAP 인증 및 LDAP 권한 부여를 구성할 수 있습니다.

Atlas CLI를 사용하여 지정한 프로젝트에 대해 하나의 LDAP 구성을 저장하려면 다음 명령어를 실행합니다.

atlas security ldap save [options]

명령 구문 및 매개변수에 대해 자세히 알아보려면 Atlas 보안 LDAP 저장에 대한 Atlas CLI 설명서를 참조하세요.

참조: 관련 링크

프로젝트 의 모든 클러스터에 대해 LDAP 를 사용하여 사용자 권한 부여 를 구성하려면 다음 절차를 따르세요.

중요

  • 권한 부여를 활성화하기 전에 LDAP로 인증을 활성화해야 합니다.

  • LDAP 권한 부여를 활성화하고 구성하면 LDAP 인증에 대해서만 구성된 데이터베이스 사용자는 더 이상 데이터베이스에 액세스할 수 없습니다.

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Advanced를 클릭합니다.

    고급 페이지가 표시됩니다.

2
3
4

사용자가 작업을 수행하려고 하면 Atlas는 LDAP 쿼리 템플릿을 실행하여 인증된 사용자가 속한 LDAP 그룹을 가져옵니다. Atlas는 쿼리가 작업을 수행할 권한이 있는 그룹을 하나 이상 반환하는 경우 작업을 허용합니다. 쿼리에서 작업을 수행할 권한이 있는 그룹을 반환하지 않는 경우 Atlas는 작업을 허용하지 않습니다.

Atlas는 쿼리를 실행할 때 {USER} 자리 표시자에서 인증된 사용자 이름을 대체합니다. 쿼리는 Server Hostname에 지정된 호스트에 상대적입니다.

쿼리 형식은 RFC4515 을 준수해야 합니다.

쿼리 템플릿을 제공하지 않으면 Atlas 는 기본값 인 {USER}?memberOf?base 을 적용합니다.

5

Atlas에서 변경 사항을 배포할 때까지 기다립니다. Atlas는 제공한 구성 세부 정보를 사용하여 클러스터가 LDAP 서버로 연결, 인증, 쿼리할 수 있음을 확인합니다.

Atlas CLI를 사용하여 프로젝트에 대한 데이터베이스 사용자를 생성하려면 다음 명령어를 실행하세요.

atlas dbusers create [builtInRole]... [options]

명령 구문 및 매개변수에 대한 자세한 내용은 Atlas DB 사용자 생성에 대한 Atlas CLI 설명서를 참조하세요.

참조: 관련 링크

LDAP를 사용하여 권한 부여를 구성한 후 다음 단계에 따라 LDAP 데이터베이스 사용자 또는 그룹을 만듭니다.

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Database Access를 클릭합니다.

    데이터베이스 액세스 페이지가 표시됩니다.

2
  1. 아직 표시되지 않은 경우 Database Users 탭을 클릭합니다.

  2. 딸깍 하는 소리 Add New Database User.

3

Add New Database User 모달 창의 Authentication Method 섹션에서 LDAP로 레이블이 지정된 상자를 선택합니다.

참고

LDAP 옵션이 표시되지 않는 경우 LDAP를 LDAP 하여 권한 부여 를 구성해야 합니다.

4

LDAP Type 아래에서 단일 사용자의 경우 LDAP User 을 선택하거나 LDAP 그룹 의 경우 LDAP Group 를 선택합니다.

5

사용자 또는 그룹 에 string 대한 인증 LDAP LDAP 을 입력합니다.

예시

projectName 프로젝트 의 myUser LDAP 사용자에 대해 다음을 입력합니다.

cn=myUser,ou=projectName,dc=com

LDAP 권한 부여 를 활성화 LDAP 사용자를 만들 수 있지만 클러스터에 액세스 할 수는 없습니다. LDAP 권한 부여 가 활성화된 클러스터에 액세스 하려면 LDAP 그룹 을 추가합니다.

6

데이터베이스 사용자 권한을 선택합니다. 다음 중 한 가지 이상의 방법으로 새 사용자에게 권한을 할당할 수 있습니다.

  • Built-in Role 드롭다운 메뉴에서 내장 역할을 선택합니다. Atlas UI에서 데이터베이스 사용자당 하나의 내장 역할을 선택할 수 있습니다. 기본 옵션을 삭제하는 경우 Add Built-in Role을(를) 클릭하여 새 내장 역할을 선택할 수 있습니다.

  • 사용자 지정 역할이 정의되어 있는 경우에는 Custom Roles 섹션을 펼치고 Custom Roles 드롭다운 메뉴에서 하나 이상의 역할을 선택할 수 있습니다. Add Custom Role을 클릭하여 사용자 지정 역할을 추가합니다. Custom Roles 링크를 클릭하여 프로젝트의 사용자 지정 역할을 볼 수도 있습니다.

  • Specific Privileges 섹션을 확장하고 Specific Privileges 드롭다운 메뉴에서 하나 이상의 권한을 선택합니다. 더 많은 권한을 추가하려면 Add Specific Privilege을(를) 클릭합니다. 이렇게 하면 개별 데이터베이스 및 컬렉션에 대한 사용자별 권한이 할당됩니다.

Atlas는 단일 데이터베이스 사용자에게 내장 역할, 여러 사용자 지정 역할, 여러 특정 권한을 적용할 수 있습니다.

적용된 역할 또는 권한을 제거하려면 삭제하려는 역할 또는 권한 옆에 있는 Delete를 클릭합니다.

참고

Atlas는 하나의 옵션만 선택한 경우 Built-in Role, Custom Role 또는 Specific Privilege 선택 항목 옆에 Delete 아이콘을 표시하지 않습니다. 다른 역할이나 권한을 적용한 후에는 선택한 역할이나 권한을 삭제할 수 있습니다.

권한 부여에 대한 자세한 내용은 MongoDB 매뉴얼의 Role-Based Access Control(역할 기반 액세스 제어)Built-in Roles(내장 역할)를 참조하세요.

7

기본적으로 사용자는 프로젝트의 모든 클러스터 및 연합 데이터베이스 인스턴스에 액세스할 수 있습니다. 다음을 수행하면 특정 클러스터 및 연합 데이터베이스 인스턴스에 대한 액세스를 제한할 수 있습니다.

  1. Restrict Access to Specific Clusters/Federated Database InstancesON로 전환합니다.

  2. Grant Access To 목록에서 사용자 액세스 권한을 부여할 클러스터 및 연합 데이터베이스 인스턴스를 선택합니다.

8
  1. Temporary User 또는 Temporary GroupOn 로 전환합니다.

  2. Atlas 가 Temporary User Duration 또는 Temporary Group Duration 드롭다운에서 사용자 또는 그룹 을 삭제 수 있는 시간을 선택합니다. 사용자 또는 그룹 이 존재하는 기간 중 하나를 선택할 수 있습니다.

    • 6시간

    • 1일

    • 1주

Database Users 탭 에서 임시 사용자 및 그룹은 Atlas 가 사용자 또는 그룹 을 삭제 때까지 남은 시간을 표시합니다. Atlas 가 사용자 또는 그룹 을 삭제하면 임시 사용자 또는 그룹의 자격 증명 을 사용하는 모든 클라이언트 또는 애플리케이션 은 클러스터 에 액세스 을 잃게 됩니다.

Atlas CLI를 사용하여 하나의 LDAP 구성에 대한 세부 정보를 반환하려면 다음 명령어를 실행합니다.

atlas security ldap get [options]

명령 구문 및 매개변수에 대해 자세히 알아보려면 Atlas CLI Atlas 보안 LDAP 가져오기 에대한 설명서를 참조하세요.

참조: 관련 링크

Atlas UI 를 사용하여 현재 LDAP 설정을 보려면 다음 단계를 따르세요.

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Advanced를 클릭합니다.

    고급 페이지가 표시됩니다.

2

Atlas 에 LDAP 인증 설정이 표시됩니다.

LDAP 권한 부여 설정을 보려면 LDAP Authorization 옆에 있는 버튼을 On 으로 전환합니다. Atlas 에 LDAP 권한 부여 설정이 표시됩니다.

참고

동일한 Atlas CLI 명령을 사용하여 LDAP 인증 설정 및 LDAP 권한 부여 설정을 비활성화할 수 있습니다.

Atlas CLI를 사용하여 하나의 LDAP 구성을 삭제하려면 다음 명령어를 실행합니다.

atlas security ldap delete [options]

명령 구문 및 매개변수에 대해 자세히 알아보려면 Atlas CLI Atlas LDAP 보안 삭제 에대한 설명서를 참조하세요.

참조: 관련 링크

Atlas UI 를 사용하여 현재 LDAP 설정을 비활성화하려면 다음 단계를 따르세요.

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Advanced를 클릭합니다.

    고급 페이지가 표시됩니다.

2

Atlas 는 LDAP 인증 설정 및 LDAP 권한 부여 설정을 비활성화합니다.

LDAP 권한 부여 만 비활성화하려면 LDAP Authorization 옆의 버튼을 OFF 으로 전환합니다. Atlas 에서 LDAP 권한 부여 설정을 비활성화합니다.

다음 튜토리얼을 통해 서드파티 LDAP 제공자의 사용자를 인증 및 권한 부여하도록 Atlas를 구성하세요.

돌아가기

AWS IAM