mongokerberos
Synopsis
MongoDB 엔터프라이즈 는 mongokerberos
실행 Kerberos 배포서버 에 대해 MongoDB의 Kerberosmongokerberos
및 GSSAPI 구성 옵션을 테스트하기 위해 를 제공합니다. 은(는) 서버및 클라이언트 모드 중 하나로 사용할 수 있습니다.
모드 | 설명 |
---|---|
서버 | 서버 모드 에서 는 서버 의 Kerberos 관련 구성을 분석하고 문제가 있는 모든 구성에 대한 오류 메시지가 포함된 보고서를 반환합니다. 사용법은 서버 모드를 참조하세요. |
고객 | 클라이언트 모드 에서 는 제공된 사용자 이름 에 대해 Kerberos 인증 을 테스트하고 |
두 모드에 대한 오류 메시지에는 발생한 특정 오류에 대한 정보와 오류 해결을 위한 잠재적인 조언이 포함됩니다.
mongokerberos
서버 모드와 클라이언트 모드 모두에서 다음 배포 유형을 지원합니다.
지원되는 Windows 플랫폼에서 Windows Active Directory 배포서버에 인증하는 Windows MongoDB 클라이언트.
Windows Active Directory 배포에 인증하는 Linux MongoDB 클라이언트.
참고
MongoDB Enterprise 및 는 mongokerberos
MIT 구현 만 지원 Kerberos 합니다. 의 .
일반적으로 Kerberos 인증 과 관련된 옵션을 구성할 때는 mongokerberos
를 사용하여 구성을 확인하는 것이 좋습니다.
mongokerberos
은(는) 테스트 및 검증 도구입니다. 파일을 편집하거나 서비스를 구성하지 않습니다. 플랫폼에서 Kerberos를 구성하려면 MIT Kerberos 설명서 를 참조하세요. 또는 해당 플랫폼의 설명서를 참조하세요. Kerberos를 사용하여 인증하도록 MongoDB를 구성하려면 다음 튜토리얼을 참조하세요.
설치
mongokerberos
도구는 MongoDB database 도구 추가 패키지의 일부이며, MongoDB Server와 함께 또는 독립형 설치로 설치할 수 있습니다.
MongoDB 서버로 설치
MongoDB Server 설치의 일부로 을(를) 설치하려면 mongokerberos
MongoDB Enterprise 다음을 수행합니다.
플랫폼에 맞는 지침을 따르세요: MongoDB Enterprise MongoDB Server 설치
설치가 완료되면
mongokerberos
및 기타 포함된 도구를 MongoDB Server와 동일한 위치에서 사용할 수 있습니다.참고
Windows
.msi
설치 프로그램 마법사의 경우 Complete 설치 옵션에는mongokerberos
가 포함됩니다.
독립형으로 설치
mongokerberos
를 독립형 설치로 설치하려면 다음을 수행합니다.
MongoDB Enterprise 다운로드 링크를 따라가세요: MongoDB Enterprise 다운로드 센터
드롭다운 메뉴에서 Platform (운영 체제)를 선택한 다음, 다음 차트에 따라 플랫폼에 적합한 Package 를 선택합니다.
OS패키지Linux
tgz
패키지Windows
zip
패키지macOS
tgz
패키지다운로드가 완료되면 아카이브의 압축을 풀고
mongokerberos
를 하드 드라이브의 위치에 복사합니다.팁
Linux 및 macOS 사용자는
mongokerberos
를$PATH
환경 변수에 정의된 파일 시스템 위치(예:/usr/bin
)에 복사할 수 있습니다. 이렇게 하면 전체 경로를 지정하거나 먼저 상위 디렉토리로 이동하지 않고도 명령줄에서mongokerberos
를 이름으로 직접 참조할 수 있습니다. 자세한 내용은 해당 플랫폼의 설치 가이드 를 참조하세요.
사용법
mongokerberos
는 서버 및 클라이언트 의 두 가지 모드로 실행할 수 있습니다.
mongosh
가 아닌 시스템 명령줄에서 mongokerberos
를 실행 .
서버 모드
서버 모드 에서 mongokerberos
를 실행하면 적절한 DNS 확인 확인, Kerberos 시스템 키탭 파일 유효성 검사 , mongod
또는 mongos
에 대한 MongoDB 서비스 주체에 대한 테스트 등 시스템의 Kerberos 구성에 대해 일련의 확인 단계가 수행됩니다. 인스턴스.
서버 모드에서 mongokerberos
를 사용하려면 먼저 다음을 수행해야 합니다.
플랫폼의 설명서에 따라 플랫폼에서 Kerberos 를 구성합니다.
다음 단계에 설명된 대로
mongod
또는mongos
인스턴스 와 함께 사용할 MongoDB 서비스 주체를 만듭니다.
이 단계를 완료하면 다음과 같이 --server
플래그를 사용하여 서버 모드 에서 mongokerberos
를 실행 수 있습니다.
mongokerberos --server
서버 에 Kerberos 가 올바르게 구성되고 서비스 주체가 성공적으로 생성된 경우 출력은 다음과 유사할 수 있습니다.
Resolving kerberos environment... [OK] Kerberos environment resolved without errors. Verifying DNS resolution works with Kerberos service at <hostname>... [OK] DNS test successful. Getting MIT Kerberos KRB5 environment variables... * KRB5CCNAME: not set. * KRB5_CLIENT_KTNAME: not set. * KRB5_CONFIG: not set. * KRB5_KTNAME: not set. * KRB5_TRACE: not set. [OK] Verifying existence of KRB5 keytab FILE:/etc/krb5.keytab... [OK] KRB5 keytab exists and is populated. Checking principal(s) in KRB5 keytab... Found the following principals for MongoDB service mongodb: * mongodb/server.example.com@SERVER.EXAMPLE.COM Found the following kvnos in keytab entries for service mongodb: * 3 [OK] KRB5 keytab is valid. Fetching KRB5 Config... KRB5 config profile resolved as: <Your Kerberos profile file will be output here> [OK] KRB5 config profile resolved without errors. Attempting to initiate security context with service credentials... [OK] Security context initiated successfully.
마지막 메시지는 시스템의 Kerberos 구성을 MongoDB 에서 사용할 준비가 되었음을 나타냅니다. 구성에 오류가 발생하면 위 출력의 일부로 표시됩니다.
클라이언트 모드
클라이언트 모드에서 mongokerberos
를 실행하면 시스템의 Kerberos 환경에 대한 인증을 테스트하고, 적절한 DNS 확인 확인, Kerberos 클라이언트 키탭 파일 확인, 티켓이 성공적으로 부여될 수 있는지 테스트 등 Kerberos 인증 프로세스의 각 단계를 수행할 수 있습니다. 클라이언트 모드에서 mongokerberos
를 실행하면 mongosh
의 클라이언트 인증 절차를 시뮬레이션합니다.
클라이언트 모드 에서 mongokerberos
사용하려면 먼저 플랫폼의 설명서에 따라 플랫폼에 Kerberos 를 구성해야 합니다. 선택 사항으로,mongokerberos
클라이언트 모드 를 사용하기 전에 먼저 서버 모드 에서 를 실행 하여 플랫폼의 Kerberos 구성이 유효한지 확인할 수도 있습니다.
이 단계를 완료한 후에는 다음과 같이 --client
플래그를 사용하여 클라이언트 모드 에서 mongokerberos
를 실행 하여 사용자 인증 을 테스트할 수 있습니다.
mongokerberos --client --username <username>
인증 절차의 일부로 Kerberos 티켓을 요청하는 데 사용되는 유효한 사용자 이름을 제공해야 합니다. 플랫폼의 Kerberos 인프라는 이 사용자를 알고 있어야 합니다.
제공된 자격 증명 이 유효하고 구성 파일의 Kerberos 옵션이 유효한 경우 출력은 다음과 유사할 수 있습니다.
Resolving kerberos environment... [OK] Kerberos environment resolved without errors. Verifying DNS resolution works with Kerberos service at <hostname>... [OK] DNS test successful. Getting MIT Kerberos KRB5 environment variables... * KRB5CCNAME: not set. * KRB5_CLIENT_KTNAME: not set. * KRB5_CONFIG: not set. * KRB5_KTNAME: not set. * KRB5_TRACE: not set. [OK] Verifying existence of KRB5 client keytab FILE:/path/to/client.keytab... [OK] KRB5 client keytab exists and is populated. Checking principal(s) in KRB5 keytab... [OK] KRB5 keytab is valid. Fetching KRB5 Config... KRB5 config profile resolved as: <Your Kerberos profile file will be output here> [OK] KRB5 config profile resolved without errors. Attempting client half of GSSAPI conversation... [OK] Client half of GSSAPI conversation completed successfully.
최종 메시지는 제공된 사용자에 대해 클라이언트 인증이 성공적으로 완료되었음을 나타냅니다. 인증 단계 중에 오류가 발생하면 위 출력의 일부로 오류가 표시됩니다.
옵션
--server
서버 모드 에서
mongokerberos
를 실행하여 플랫폼의 Kerberos 구성이 MongoDB 와 함께 사용하기에 유효한지 테스트합니다.사용 예시 및 예상 출력은 서버 모드 를 참조하세요.
--client
클라이언트 모드 에서
mongokerberos
를 실행하여 시스템의 Kerberos 환경에 대해 클라이언트 인증 을 테스트합니다. 클라이언트 모드 에서 실행 때--username
를 사용하여 유효한 사용자 이름 을 지정해야 합니다.mongokerberos
는 유효성 검사 절차의 일환으로 이 사용자 이름 에 대한 Kerberos 티켓 을 요청 합니다. 클라이언트 모드 에서mongokerberos
를 실행하면mongosh
의 클라이언트 인증 절차를 시뮬레이션합니다사용 예시 및 예상 출력은 클라이언트 모드 를 참조하세요.
--config <filename>, -f <filename>
런타임 구성 옵션에 대한 구성 파일 을 지정합니다. 옵션은 명령줄 구성 옵션과 동일합니다. 자세한 내용은 자체 관리형 구성 파일 옵션 을 참조하세요.
mongokerberos
는 이 파일에서saslHostName
및saslServiceName
에 대한 값을 읽습니다(있는 경우). 이러한 값은 대신--setParameter
옵션을 사용하여 대신 지정할 수 있습니다.구성 파일이 ASCII 인코딩을 사용하는지 확인합니다.
mongokerberos
인스턴스는 UTF-8 를 포함하여 ASCII가 아닌 인코딩을 사용하는 구성 파일을 지원하지 않습니다.
--setParameter <options>
구성 가능한 매개변수를 설정합니다. 여러
setParameter
필드를 지정할 수 있습니다.지원되는 모든 매개 변수를
setParameter
과 함께 사용할 수 있지만mongokerberos
는 다음 값만 확인합니다.이러한 값도 포함하는 구성 파일 에
--config
옵션을 사용하는 경우setParameter
값이 구성 파일 의 값을 재정의합니다.
--host <hostname>
인증을 테스트할 때 연결할 MongoDB 서버의 호스트 이름을 지정합니다.
--host
을(를) 지정하지 않으면mongokerberos
은(는) 호스트 이름의 DNS 유효성 검사 를 수행하지 않습니다(즉, PTR 기록 확인)
--username <username>, -u <username>
Kerberos 인증을 시도할 때 사용할
mongokerberos
의 사용자 이름입니다. 이 값은 클라이언트 모드에서 실행할 때 필요합니다.