문서 홈 → 애플리케이션 개발 → MongoDB 매뉴얼
Kerberos 인증 문제 해결
mongokerberos
유효성 검사 도구
mongokerberos
프로그램은 MongoDB와 함께 사용하기 위한 플랫폼의 Kerberos 구성을 확인하고, MongoDB 클라이언트의 Kerberos 인증이 예상대로 작동하는지 테스트할 수 있는 편리한 방법을 제공합니다.
mongokerberos
도구는 일반적인 구성 문제를 진단하는 데 도움이 될 수 있으며, Kerberos 구성 문제를 해결할 때 시작하는 것이 좋습니다. 자세한 내용은 mongokerberos
문서를 참조하세요.
mongokerberos
MongoDB Enterprise에서만 사용할 수 있습니다.
Kerberos 구성 디버깅 전략
Kerberos로 mongod
또는 mongos
에 대해 시작하거나 인증하는 데 문제가 있는 경우 :
MongoDB Community Edition이 아닌 MongoDB Enterprise를 실행 중인지 확인하세요. Kerberos 인증은 MongoDB Enterprise 기능이며 MongoDB Community Edition 바이너리에서는 작동하지 않습니다.
MongoDB 엔터프라이즈를 사용하고 있는지 확인하려면
--version
명령줄 옵션을mongod
또는mongos
에 전달합니다.mongod --version 이 명령의 출력에서
modules: subscription
또는modules: enterprise
문자열을 찾아 MongoDB 엔터프라이즈 바이너리를 사용하고 있는지 확인합니다.mongod
또는mongos
인스턴스의 표준 시스템 호스트 이름이 확인 가능한 정규화된 도메인 이름인지 확인합니다.Linux에서는 시스템 프롬프트에서
hostname -f
명령을 사용하여 시스템 호스트 이름 확인을 확인할 수 있습니다.Linux에서는 서비스 주체 이름(SPN 의 기본 구성 요소가 의 SPN은
mongodb
입니다. SPN의 기본 구성 요소가 아닌 경우 를mongodb
사용하여 기본 구성 요소를 지정해야--setParameter saslServiceName
합니다.
Linux에서는 SPN(서비스 주체 이름)의 인스턴스 구성 요소가 키탭 파일 의 또는 인스턴스의 표준
mongod
mongos
시스템 호스트 이름과 일치합니다.mongod
또는 인스턴스의 시스템 호스트 이름이 키탭mongos
파일에 없으면GSSAPI error acquiring credentials.
오류 메시지와 함께 인증이 실패합니다.에서 반환된
mongod
또는mongos
인스턴스의hostname -f
--setParameter saslHostName
호스트 이름이 정규화되지 않은 경우 또는 를 시작할 때 를mongod
mongos
사용하여 인스턴스의 정규화된 도메인 이름을 설정합니다.정방향 및 역방향 DNS 조회를 모두 제공하기 위해
mongod
또는mongos
인스턴스를 실행하는 각 호스트에A
및PTR
DNS 레코드가 있는지 확인합니다.A
레코드는mongod
또는mongos
의 FQDN에 매핑되어야 합니다.MongoDB 인스턴스와 Kerberos 인프라를 호스팅하는 서버의 시계가 최대 시간 왜곡(기본값 5분) 이내인지 확인합니다. 시간 차이가 최대 시간 왜곡보다 크면 인증에 성공할 수 없습니다.
Linux의 Kerberos 추적 로깅
MIT Kerberos는 추적 로깅 출력을 위한 KRB5_TRACE
환경 변수를 제공합니다. Linux에서 MIT Kerberos에 지속적인 문제가 있는 경우 mongod
, mongos
또는 mongosh
인스턴스를 시작할 때 KRB5_TRACE
를 설정하여 상세 로깅을 생성할 수 있습니다.
예를 들어, 다음 명령은 키탭 파일이 기본 /etc/krb5.keytab
경로에 있는 독립형 mongod
를 시작하고 /logs/mongodb-kerberos.log
KRB5_TRACE
설정합니다.
env KRB5_KTNAME=/etc/krb5.keytab \ KRB5_TRACE=/logs/mongodb-kerberos.log \ mongod --dbpath /data/db --logpath /data/db/mongodb.log \ --auth --setParameter authenticationMechanisms=GSSAPI \ --bind_ip localhost,<hostname(s)|ip address(es)> --fork
일반적인 오류 메시지
경우에 따라 MongoDB는 Kerberos 서비스에 문제가 있는 경우 GSSAPI 인터페이스에서 오류 메시지를 반환합니다. 몇 가지 일반적인 오류 메시지는 다음과 같습니다: