개요
SCRAM(Salted Challenge Response Authentication Mechanism)은 챌린지-응답 메커니즘을 사용하여 사용자를 인증하는 인증 메커니즘 제품군입니다.256 RFC 7677 에 정의된 SCRAM-SHA- 는 SHA- 알고리즘 사용하여 비밀번호를256 해시하며, MongoDB v 를 실행 배포의 기본값 인증 메커니즘4 0 입니다. 또는 그 이후 버전.1 RFC 5802 에 정의된 SCRAM -SHA- 는 MongoDB v. 를 실행 배포와의 호환성을 위해 지원됩니다.36
SCRAM 사용하여 MongoDB Atlas, MongoDB Enterprise Advanced 및 MongoDB Community Edition 에 인증할 수 있습니다.
팁
SCRAM 메커니즘
SCRAM 인증 메커니즘 제품군에 대해 자세히 학습 Wikipedia의 RFC 5802 및 Salted Challenge Response 인증 메커니즘을 참조하세요.
SCRAM 의 MongoDB 구현 에 대한 자세한 내용은 MongoDB Server 매뉴얼의 SCRAM 참조하세요.
코드 자리 표시자
이 페이지의 코드 예제에서는 다음 자리 표시자를 사용합니다.
<db_username>: 인증할 사용자의 MongoDB database 사용자 이름 .<db_password>: 인증할 사용자의 MongoDB database 비밀번호입니다.<hostname>: MongoDB deployment 의 네트워크 주소 .<port>: MongoDB deployment 의 포트 번호입니다. 이 매개 변수를 생략하면 운전자 기본값 포트 번호(27017)를 사용합니다. MongoDB Atlas cluster 에 연결할 때는 포트 번호가 필요하지 않습니다.
이 페이지의 코드 예제를 사용하려면 이러한 자리 표시자를 원하는 값으로 바꾸세요.
애플리케이션에서 SCRAM 인증 사용
SCRAM 사용하여 MongoDB 사용자를 인증하려면 authSource 및 authMechanism 매개변수와 함께 연결 URI에 MongoDB 사용자 이름 및 비밀번호를 지정합니다. 이 페이지의 예제에서는 기본값 인증 데이터베이스 인 authSource=admin를 사용하고 authMechanism 를 SCRAM-SHA-256 또는 SCRAM-SHA-1로 설정하다 .
다음과 같은 방법으로 연결할 수 있습니다.
연결 URI만 사용
mongocxx::options::client객체 에 TLS(전송 계층 보안) 옵션이 구성된 연결 URI를 사용합니다.
다음 탭에는 TLS 및 비TLS 연결 모두에 대한 SCRAM-SHA-256 및 SCRAM -SHA-1의 예가 나와 있습니다. 사용하려는 인증 메커니즘 및 연결 방법과 일치하는 탭 선택합니다.
auto uri = mongocxx::uri("mongodb://<db_username>:<db_password>@<hostname>:<port>/?" "authSource=admin&authMechanism=SCRAM-SHA-256"); auto client = mongocxx::client(uri);
mongocxx::options::client client_options; mongocxx::options::tls tls_options; tls_options.pem_file("path/to/ca-or-client.pem"); client_options.tls_opts(tls_options); auto uri = mongocxx::uri( "mongodb://<db_username>:<db_password>@<hostname>:<port>/?" "authSource=admin&authMechanism=SCRAM-SHA-256&tls=true"); auto client = mongocxx::client(uri, client_options);
auto uri = mongocxx::uri("mongodb://<db_username>:<db_password>@<hostname>:<port>/?" "authSource=admin&authMechanism=SCRAM-SHA-1"); auto client = mongocxx::client(uri);
mongocxx::options::client client_options; mongocxx::options::tls tls_options; tls_options.pem_file("path/to/ca-or-client.pem"); client_options.tls_opts(tls_options); auto uri = mongocxx::uri( "mongodb://<db_username>:<db_password>@<hostname>:<port>/?" "authSource=admin&authMechanism=SCRAM-SHA-1&tls=true"); auto client = mongocxx::client(uri, client_options);
API 문서
C++ 운전자 에서 mongocxx::client 객체 를 만드는 방법에 학습 보려면 다음 API 설명서를 참조하세요.