Docs Menu
Docs Home
/ / /
C++ 드라이버
/

엔터프라이즈 인증 메커니즘

이 페이지의 내용

  • 개요
  • Kerberos
  • 티켓 부여 티켓 받기
  • 연결 옵션 설정
  • PLAIN SASL
  • API 문서

MongoDB Enterprise 에는 MongoDB Community Edition 에서는 사용할 수 없는 인증 메커니즘이 포함되어 있습니다. 이 가이드 에서는 이러한 인증 메커니즘을 사용하여 MongoDB 에 인증하는 방법을 학습 수 있습니다. MongoDB 에서 사용할 수 있는 다른 인증 메커니즘에 학습 보려면 인증 메커니즘을 참조하세요.

일반 보안 서비스 API (GSSAPI)는 Kerberos 인증 을 위한 인터페이스를 제공합니다.

참고

GSSAPI로 인증하려면 SASL을 지원 하는 MongoDB C 운전자 를 빌드 해야 합니다. 소스에서 운전자 를 빌드하는 경우 ENABLE_SASL cmake 옵션을 사용하여 SASL 지원 을 활성화 할 수 있습니다.

GSSAPI로 인증하려면 다음 단계를 완료하세요.

1

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
2

다음으로 다음 연결 옵션을 설정하다 합니다.

  • 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 로 바꿔야 합니다.

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);

C++ 운전자 에서 mongocxx::client 객체 를 만드는 방법에 학습 보려면 다음 API 설명서를 참조하세요.

돌아가기

인증