참고
MongoDB 8.0 부터 LDAP 인증 및 권한 부여 는 더 이상 사용되지 않습니다. 이 기능 은 사용할 수 있으며 MongoDB 8 의 수명 기간 동안 변경 없이 계속 작동합니다. LDAP 는 향후 주요 출시하다 에서 제거될 예정입니다.
자세한 내용은 LDAP 사용 중단을 참조하세요.
MongoDB deployment 에서 액세스 제어를 적용하는 경우, MongoDB Agent 는 적절한 액세스 이 있는 사용자로 MongoDB 에 인증해야 합니다. Automation 을 사용하는 경우 Cloud Manager 가 이 작업을 처리합니다.
MongoDB Enterprise 는 saslauthd
및 운영 체제 라이브러리를 통해 LDAP 서버에 대한 단순 및 SASL 바인딩을 지원합니다.
Linux용 MongoDB Enterprise는
saslauthd
또는 운영 체제 라이브러리를 통해 LDAP 서버에 바인딩할 수 있습니다.Windows용 MongoDB Enterprise는 운영 체제 라이브러리를 통해 LDAP 서버에 바인딩할 수 있습니다.
MongoDB Agent는 LDAP 를 사용하여 MongoDB 인스턴스에 대한 인증을 지원합니다.
참고
자동화를 사용하면 Cloud Manager MongoDB Agent 인증 관리합니다. 인증 에 대해 자세히 학습 Cloud Manager 프로젝트에 대한 LDAP 인증 관리를 참조하세요.
전제 조건
인증을 사용하도록 배포 구성
MongoDB Agent는 MongoDB 사용자처럼 배포서버의 MongoDB 데이터베이스와 상호 작용합니다. 따라서 인증을 지원하도록 MongoDB deployment 및 MongoDB Agent를 구성해야 합니다.
배포를 추가 할 때 배포의 인증 메커니즘을 지정하거나 기존 배포 의 설정을 편집 할 수 있습니다. 최소한 배포 시 MongoDB Agent에서 사용하려는 인증 메커니즘을 활성화해야 합니다. MongoDB Agent는 지원되는 모든 인증 메커니즘을 사용할 수 있습니다.
TLS 인증서 필요 환경 변수 설정
MongoDB Agent 호스트에서는 TLS_REQCERT 환경 변수를 demand
(으)로 설정하다 해야 합니다.
예시
Red Hat Enterprise Linux 호스트에서 /etc/openldap/ldap.conf
파일을 열고 다음 설정과 값을 추가합니다:
TLS_REQCERT demand
애플리케이션을 사용하여 이 환경 변수를 설정할 수 있습니다.
고려 사항
자동화가 배포를 managed하지 않는 경우 각 기능에 대해 별도로 LDAP 인증을 구성해야 합니다.
LDAP 인증을 구성 하려면 호스트를 추가하거나 기존 호스트의 구성을 편집합니다.
MongoDB에서 사용자 생성 및 구성
LDAP 인증 을 사용하는 MongoDB 인스턴스를 자동화하려면 필요한 역할과 권한을 가진 MongoDB 사용자를 MongoDB 의 $external
데이터베이스 에 추가합니다. $external
데이터베이스 를 통해 mongod
는 LDAP 서버 와 같은 외부 소스를 참조하여 인증할 수 있습니다.
다음 명령을 사용하여 mongosh
에서 사용자를 생성합니다.
db.getSiblingDB("$external").createUser( { user : "<username>", roles : [ { role : "clusterAdmin", db : "admin" }, { role : "readWriteAnyDatabase", db : "admin" }, { role : "userAdminAnyDatabase", db : "admin" }, { role : "dbAdminAnyDatabase", db : "admin" }, { role : "backup", db : "admin" }, { role : "restore", db : "admin" } ] } )
LDAP 인증 을 사용하는 MongoDB 4.0 이상 인스턴스를 백업하려면 필요한 역할을 가진 사용자를 MongoDB 의 $external
데이터베이스 에 추가합니다. $external
데이터베이스 는 외부 인증 및 권한 부여 세부 정보를 위한 자격 증명 을 저장합니다.
다음 mongosh
명령을 사용하여 사용자를 생성합니다.
db.getSiblingDB("$external").createUser( { user : "<username>", roles: [ { role: "clusterAdmin", db: "admin" } ] } )
db.getSiblingDB("$external").createUser( { user: "<username>", roles: [ { role: "backup", db: "admin" } ] } )
필요한 액세스 권한에 학습 보려면 MongoDB Agent 백업에 필요한액세스 을 참조하세요.
LDAP 인증 을 사용하는 MongoDB 4.0 이상 인스턴스를 모니터 하려면 MongoDB 의 $external
데이터베이스 에 사용자를 추가합니다. $external
데이터베이스 는 외부 인증 및 권한 부여 세부 정보를 위한 자격 증명 을 저장합니다. 이 사용자에게 다음 예시 에 제공된 역할을 할당합니다.
다음 mongosh
명령을 사용하여 사용자를 생성합니다.
db.getSiblingDB("$external").createUser( { user : "<username>", roles: [ { role: "clusterMonitor", db: "admin" } ] } )
이 함수에 필요한 역할을 알아보려면 모니터링 설정을 참조하세요.