개요
참고
GSSAPI 인증 MongoDB Enterprise Edition에서만 사용할 수 있습니다.
일반 보안 서비스 API (GSSAPI) 인증 메커니즘 사용하면 Kerberos 주체 이름을 사용하여 Kerberos 인증 위해 구성된 MongoDB 배포서버 인증할 수 있습니다.
C++ 드라이버 에서 Kerberos 사용하려면 MongoDB 배포서버 Kerberos 인증 위해 이미 구성되어 있어야 하며 애플리케이션 호스트 Kerberos 자격 증명 얻을 수 있어야 합니다.
코드 자리 표시자
이 페이지의 코드 예시 에서는 다음 자리 표시자를 사용합니다.
<kerberos_principal>: 인증할 Kerberos 주체입니다.<hostname>: 배포서버 에 있는mongod또는mongos호스팅하다 의 FQDN(정규화된 도메인 이름)입니다. Kerberos 올바른 영역 확인을 위해 IP 주소나 짧은 호스트 이름 대신 FQDN이 필요합니다.<port>: MongoDB 배포서버 의 포트 번호입니다. 이 매개변수를 생략하면 MongoDB 기본값 포트 번호(27017)를 사용합니다.
이 페이지의 코드 예시 사용하려면 이러한 자리 표시자를 원하는 값으로 바꾸세요.
참고
MongoDB 연결 URI에 <kerberos_principal> 를 포함하는 경우 @ 문자를 %40로 퍼센트 인코딩해야 합니다.
애플리케이션에서 GSSAPI 인증 사용
C++ 드라이버 와 함께 Kerberos 인증 메커니즘 사용하려면 먼저 Kerberos 사용하도록 MongoDB 배포서버 구성해야 합니다. 배포를 구성하려면 MongoDB Server 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 로 바꿔야 합니다.
API 문서
C++ 운전자 에서 mongocxx::client 객체 를 만드는 방법에 학습 보려면 다음 API 설명서를 참조하세요.