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