엔터프라이즈 인증 메커니즘
개요
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
연결 옵션 설정
다음으로 다음 연결 옵션을 설정하다 합니다.
username
: 인증할 Kerbos 주체입니다.authMechanism
:"GSSAPI"
로 설정합니다.authMechanismProperties
: 선택 사항입니다. 기본값 으로 MongoDB 는mongodb
을(를) 인증 서비스 이름으로 사용합니다. 다른 서비스 이름을 지정하려면 이 옵션을"SERVICE_NAME:<authentication service name>"
로 설정하다 합니다.
다음 예시 와 같이 연결 URI의 매개변수를 통해 이러한 옵션을 설정하다 수 있습니다.
const char *uri = "mongodb://mongodbuser%40EXAMPLE.COM@<hostname>:<port>/?authMechanism=GSSAPI&authMechanismProperties=SERVICE_NAME:<authentication service name>"); mongoc_client_t *client = mongoc_client_new(uri);
참고
앞의 예시 와 같이 주체의 @
기호를 %40
로 바꿔야 합니다.
PLAIN SASL
RFC 4616 에 정의된 PLAIN 단순 인증 및 보안 계층(SASL)은 TLS 또는 다른 암호화 계층과 함께 자주 사용되는 사용자 이름-비밀번호 인증 메커니즘 입니다. PLAIN SASL 인증 을 사용하려면 SASL 지원 으로 C 운전자 를 컴파일해야 합니다.
중요
PLAIN SASL은 일반 텍스트 인증 메커니즘입니다. PLAIN SASL을 사용하여 MongoDB에 인증할 때는 인증서 유효성 검사와 함께 TLS/SSL을 사용할 것을 강력히 권장합니다.
SASL로 인증하려면 authMechanism
연결 옵션을 PLAIN
로 설정하다 합니다. 다음 예시 와 같이 연결 string 의 매개변수를 통해 이 옵션을 설정하다 수 있습니다.
const char *uri = "mongodb://<username>:<password>@<hostname>:<port>/?authMechanism=PLAIN"); mongoc_client_t *client = mongoc_client_new(uri);
API 문서
C 운전자 에서 애플리케이션 을 인증하는 방법에 학습 보려면 다음 API 설명서를 참조하세요.