엔터프라이즈 인증 메커니즘
개요
MongoDB Enterprise 에는 MongoDB Community Edition 에서는 사용할 수 없는 인증 메커니즘이 포함되어 있습니다. 이 가이드 에서는 이러한 인증 메커니즘을 사용하여 MongoDB 에 인증하는 방법을 학습 수 있습니다. MongoDB 에서 사용할 수 있는 다른 인증 메커니즘에 학습 보려면 인증 메커니즘을 참조하세요.
Kerberos
일반 보안 서비스 API (GSSAPI)는 Kerberos 인증 을 위한 인터페이스를 제공합니다.
참고
GSSAPI로 인증하려면 SASL을 지원 하는 MongoDB C 운전자 를 빌드 해야 합니다. 소스에서 운전자 를 빌드하는 경우 ENABLE_SASL
cmake
옵션을 사용하여 SASL 지원 을 활성화 할 수 있습니다.
GSSAPI로 인증하려면 다음 단계를 완료하세요.
티켓 부여 티켓 받기
Unix 환경에서는 먼저 kinit
명령을 실행 하여 초기 티켓 부여 티켓 을 얻고 캐시 해야 합니다. Windows 환경을 실행 경우 다음 단계로 건너뛸 수 있습니다.
다음 예시 에서는 kinit
명령을 사용하여 주체 mongodbuser@EXAMPLE.COM
에 대한 티켓 부여 티켓 을 가져옵니다. 그런 다음 klist
명령을 사용하여 자격 증명 캐시 에 주체와 티켓 을 표시합니다.
kinit mongodbuser@EXAMPLE.COM mongodbuser@EXAMPLE.COM's Password: klist Credentials cache: FILE:/tmp/krb5cc_1000 Principal: mongodbuser@EXAMPLE.COM Issued Expires Principal Feb 9 13:48:51 2013 Feb 9 23:48:51 2013 krbtgt/mongodbuser@EXAMPLE.COM
연결 옵션 설정
다음으로 다음 연결 옵션을 설정하다 합니다.
Kerberos principal
: 인증할 Kerberos 주체입니다.authMechanism
:"GSSAPI"
로 설정합니다.authMechanismProperties
: 선택 사항입니다. 기본값 으로 MongoDB 는mongodb
을(를) 인증 서비스 이름으로 사용합니다. 다른 서비스 이름을 지정하려면 이 옵션을"SERVICE_NAME:<authentication service name>"
로 설정하다 합니다.
다음 예시 와 같이 연결 URI의 매개변수를 통해 이러한 옵션을 설정하다 수 있습니다.
auto uri = mongocxx::uri("mongodb://<Kerberos principal>@<hostname>:<port>/?" "authMechanism=GSSAPI" "&authMechanismProperties=SERVICE_NAME:<authentication service name>"); auto client = mongocxx::client(uri);
참고
앞의 예시 와 같이 주체의 @
기호를 %40
로 바꿔야 합니다.
PLAIN SASL
RFC 4616 에 정의된 PLAIN 단순 인증 및 보안 계층(SASL)은 TLS 또는 다른 암호화 계층과 함께 자주 사용되는 사용자 이름-비밀번호 인증 메커니즘 입니다.
중요
PLAIN SASL은 일반 텍스트 인증 메커니즘입니다. PLAIN SASL을 사용하여 MongoDB에 인증할 때는 인증서 유효성 검사와 함께 TLS/SSL을 사용할 것을 강력히 권장합니다.
연결에 TLS를 활성화하는 방법에 대해 자세히 알아보려면 TLS (전송 계층 보안) 구성을 참조하세요.
SASL로 인증하려면 authMechanism
연결 옵션을 PLAIN
로 설정하다 합니다. 다음 예시 와 같이 연결 string 의 매개변수를 통해 이 옵션을 설정하다 수 있습니다.
auto uri = mongocxx::uri("mongodb://<db_username>:<db_password>@<hostname>:<port>/?" "authMechanism=PLAIN&tls=true"); auto client = mongocxx::client(uri);
API 문서
C++ 운전자 에서 mongocxx::client
객체 를 만드는 방법에 학습 보려면 다음 API 설명서를 참조하세요.