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

데이터 보안 유지

이 페이지의 내용

  • 개요
  • 샘플 애플리케이션
  • SCRAM-SHA-256
  • SCRAM-SHA-1
  • MONGODB X.509
  • MONGODB-AWS
  • 연결 URI
  • 환경 변수
  • AssumeRoleWithWebIdentity 요청
  • ECS Metadata
  • EC2 인스턴스 메타데이터
  • Kerberos
  • PLAIN SASL

MongoDB 는 애플리케이션 을 인증하는 데 사용할 수 있는 여러 메커니즘을 지원합니다. 이 페이지에는 이러한 각 메커니즘을 보여주는 코드 예제가 포함되어 있습니다.

이 페이지의 인증 메커니즘에 학습 보려면 인증 메커니즘엔터프라이즈 인증 메커니즘 페이지를 참조하세요.

이 페이지의 인증 예시를 사용하려면 코드 예시를 샘플 애플리케이션 또는 자체 애플리케이션에 복사하세요. 코드 예제의 모든 자리 표시자(예: <hostname>)를 MongoDB 배포에 필요한 관련 값으로 바꿔야 합니다.

다음 샘플 애플리케이션을 사용하여 이 페이지의 코드 예제를 테스트할 수 있습니다. 샘플 애플리케이션을 사용하려면 다음 단계를 수행하세요.

  1. 프로젝트 에서 가져올 수 있는 위치 에 C++ 운전자 가 설치되어 있는지 확인합니다.

  2. 다음 코드를 복사하여 프로젝트 내의 새 .cpp 파일 에 붙여넣습니다.

  3. 이 페이지에서 코드 예시 를 복사하여 파일 의 강조 표시된 섹션에 붙여넣습니다.

1#include <bsoncxx/json.hpp>
2
3#include <mongocxx/client.hpp>
4#include <mongocxx/exception/exception.hpp>
5#include <mongocxx/instance.hpp>
6#include <mongocxx/uri.hpp>
7
8#include <iostream>
9
10int main()
11{
12 mongocxx::instance instance;
13
14 try
15 {
16 // Start example code here
17
18 // End example code here
19
20 auto admin = client["admin"];
21 admin.run_command(bsoncxx::from_json(R"({ "ping": 1 })"));
22
23 std::cout << "Successfully pinged the MongoDB server." << std::endl;
24 }
25 catch (const mongocxx::exception &e)
26 {
27 std::cout << "An exception occurred: " << e.what() << std::endl;
28 return EXIT_FAILURE;
29 }
30
31 return EXIT_SUCCESS;
32}

다음 코드는 SCRAM-SHA-256 인증 메커니즘 을 사용하여 인증할 연결 URI를 만드는 방법을 보여줍니다.

auto uri = mongocxx::uri("mongodb://<db_username>:<db_password>@<hostname>:<port>/?"
"authSource=admin&authMechanism=SCRAM-SHA-256");
auto client = mongocxx::client(uri);

SCRAM-SHA-256 인증에 대해 자세히 알아보려면 인증 가이드에서 SCRAM-SHA-256 를 참조하세요.

다음 코드는 SCRAM-SHA-1 인증 메커니즘 을 사용하여 인증할 연결 URI를 만드는 방법을 보여줍니다.

auto uri = mongocxx::uri("mongodb://<db_username>:<db_password>@<hostname>:<port>/?"
"authSource=admin&authMechanism=SCRAM-SHA-1");
auto client = mongocxx::client(uri);

SCRAM-SHA-1 인증에 대해 자세히 알아보려면 인증 가이드에서 SCRAM-SHA-1 를 참조하세요.

다음 코드는 X.509 인증 메커니즘 을 사용하여 인증할 연결 URI를 만드는 방법을 보여줍니다.

auto uri = mongocxx::uri("mongodb://<hostname>:<port>/?"
"tls=true&tlsCertificateKeyFile=path/to/client.pem&authMechanism=MONGODB-X509");
auto client = mongocxx::client(uri);

X.509 인증 에 학습 보려면 인증 가이드 에서 MongoDB X.509 를 참조하세요.

다음 섹션에서는 MONGODB-AWS 인증 메커니즘 을 사용하여 MongoDB 에 연결하는 방법을 보여줍니다. MONGODB-AWS 메커니즘을 사용하는 경우 C++ 운전자 는 나열된 순서대로 다음 소스에서 Amazon Web Services 자격 증명 을 조회 하려고 시도합니다.

  1. 연결 URI에 전달된 명명된 매개변수

  2. 환경 변수

  3. Amazon Web Services EKS AssumeRoleWithWebIdentity 요청

  4. ECS 컨테이너 메타데이터

  5. EC2 인스턴스 메타데이터

각 섹션에서는 지정된 소스에서 Amazon Web Services 자격 증명 을 검색할 때 MONGODB-AWS 로 인증할 연결 URI를 생성하는 방법을 보여 줍니다.

Amazon Web Services 를 사용한 인증에 학습 보려면 인증 가이드 에서 MONGODB-Amazon Web Services 를 참조하세요.

다음 코드는 MONGODB-AWS로 인증하기 위한 Amazon Web Services 자격 증명 이 포함된 연결 URI를 생성하는 방법을 보여줍니다.

auto uri = mongocxx::uri("mongodb://<AWS IAM access key ID>:<AWS IAM secret access key>@<hostname>:<port>/?"
"authMechanism=MONGODB-AWS");
auto client = mongocxx::client(uri);

다음 코드는 환경 변수에서 자격 증명 을 가져올 때 MONGODB-AWS 로 인증할 연결 URI를 만드는 방법을 보여줍니다. 이 코드를 실행 하기 전에 환경 변수를 지정했는지 확인하세요.

auto uri = mongocxx::uri("mongodb://<hostname>:<port>/?"
"authMechanism=MONGODB-AWS");
auto client = mongocxx::client(uri);

환경 변수를 사용하여 Amazon Web Services 로 인증하는 방법에 학습 보려면 환경 변수를 참조하세요.

다음 코드는 AssumeRoleWithWebIdentity 요청 에서 자격 증명 을 가져올 때 MONGODB-AWS 로 인증하기 위해 연결 URI를 만드는 방법을 보여줍니다. Amazon Web Services 구성 파일 이 사용자 환경에 존재하고 AWS_WEB_IDENTITY_TOKEN_FILEAWS_ROLE_ARN 환경 변수로 구성되어 있는지 확인합니다.

auto uri = mongocxx::uri("mongodb://<hostname>:<port>/?"
"authMechanism=MONGODB-AWS");
auto client = mongocxx::client(uri);

AssumeRoleWithWebIdentity 요청 을 사용하여 Amazon Web Services 로 인증하는 방법에 학습 보려면 AssumeRoleWithWebIdentity 요청을 참조하세요.

다음 코드는 ECS 메타데이터 에서 자격 증명 을 가져올 때 MONGODB-AWS 로 인증할 연결 URI를 생성하는 방법을 보여줍니다. AWS_CONTAINER_CREDENTIALS_RELATIVE_URI 이라는 환경 변수에 ECS 엔드포인트의 URI를 지정해야 합니다.

auto uri = mongocxx::uri("mongodb://<hostname>:<port>/?"
"authMechanism=MONGODB-AWS");
auto client = mongocxx::client(uri);

ECS 메타데이터 를 사용하여 Amazon Web Services 로 인증하는 방법에 학습 보려면 ECS 메타데이터를 참조하세요.

다음 코드는 EC2 인스턴스 메타데이터 에서 자격 증명 을 가져올 때 MONGODB-AWS 로 인증할 연결 URI를 생성하는 방법을 보여줍니다. 임시 자격 증명 을 사용하여 EC2 인스턴스 를 구성해야 합니다.

auto uri = mongocxx::uri("mongodb://<hostname>:<port>/?"
"authMechanism=MONGODB-AWS");
auto client = mongocxx::client(uri);

EC2 인스턴스 메타데이터 를 사용하여 Amazon Web Services 로 인증하는 방법에 학습 보려면 EC2 인스턴스 메타데이터를 참조하세요.

참고

MongoDB Enterprise 전용

Kerberos 인증은 MongoDB Enterprise에서만 사용할 수 있습니다.

다음 코드는 Kerberos 로 인증하기 위해 연결 URI를 만드는 방법을 보여줍니다.

auto uri = mongocxx::uri("mongodb://<Kerberos principal>@<hostname>:<port>/?"
"authMechanism=GSSAPI"
"&authMechanismProperties=SERVICE_NAME:<authentication service name>");
auto client = mongocxx::client(uri);

Kerberos를 사용한 인증에 대해 자세히 알아보려면 엔터프라이즈 인증 가이드에서 Kerberos 를 참조하세요.

참고

MongoDB Enterprise 전용

PLAIN SASL 인증은 MongoDB Enterprise에서만 사용할 수 있습니다.

다음 코드는 PLAIN SASL로 인증하기 위해 연결 URI를 만드는 방법을 보여줍니다.

auto uri = mongocxx::uri("mongodb://<db_username>:<db_password>@<hostname>:<port>/?"
"authMechanism=PLAIN&tls=true");
auto client = mongocxx::client(uri);

PLAIN SASL을 사용한 인증에 대해 자세히 알아보려면 엔터프라이즈 인증 가이드에서 PLAIN SASL 을 참조하세요.

돌아가기

애그리게이션을 통한 데이터 변환