개요
MongoDB 는 애플리케이션 을 인증하는 데 사용할 수 있는 여러 메커니즘을 지원합니다. 이 페이지에는 이러한 각 메커니즘을 보여주는 코드 예제가 포함되어 있습니다.
팁
이 페이지의 인증 메커니즘에 학습 보려면 인증 메커니즘 및 엔터프라이즈 인증 메커니즘 페이지를 참조하세요.
To use an authentication example from this page, copy the code example into the sample application or your own application. Be sure to replace all placeholders in the code examples, such as <hostname>, with the relevant values for your MongoDB deployment.
샘플 애플리케이션
다음 샘플 애플리케이션을 사용하여 이 페이지의 코드 예제를 테스트할 수 있습니다. 샘플 애플리케이션을 사용하려면 다음 단계를 수행하세요.
프로젝트 에서 가져올 수 있는 위치 에 C++ 운전자 가 설치되어 있는지 확인합니다.
다음 코드를 복사하여 프로젝트 내의 새
.cpp파일 에 붙여넣습니다.이 페이지에서 코드 예시 를 복사하여 파일 의 강조 표시된 섹션에 붙여넣습니다.
1 2 3 4 5 6 7 8 9 10 int 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
다음 코드는 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
다음 코드는 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 를 참조하세요.
MONGODB X.509
다음 코드는 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-AWS 인증 메커니즘 을 사용하여 MongoDB 에 연결하는 방법을 보여줍니다. MONGODB-AWS 메커니즘을 사용하는 경우 C++ 운전자 는 나열된 순서대로 다음 소스에서 Amazon Web Services 자격 증명 을 조회 하려고 시도합니다.
연결 URI에 전달된 명명된 매개변수
환경 변수
Amazon Web Services EKS AssumeRoleWithWebIdentity 요청
ECS 컨테이너 메타데이터
EC2 인스턴스 메타데이터
각 섹션에서는 지정된 소스에서 Amazon Web Services 자격 증명 을 검색할 때 MONGODB-AWS 로 인증할 연결 URI를 생성하는 방법을 보여 줍니다.
Amazon Web Services 를 사용한 인증에 학습 보려면 인증 가이드 에서 MONGODB-Amazon Web Services 를 참조하세요.
연결 URI
다음 코드는 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 요청
다음 코드는 AssumeRoleWithWebIdentity 요청 에서 자격 증명 을 가져올 때 MONGODB-AWS 로 인증하기 위해 연결 URI를 만드는 방법을 보여줍니다. Amazon Web Services 구성 파일 이 사용자 환경에 존재하고 AWS_WEB_IDENTITY_TOKEN_FILE 및 AWS_ROLE_ARN 환경 변수로 구성되어 있는지 확인합니다.
auto uri = mongocxx::uri("mongodb://<hostname>:<port>/?" "authMechanism=MONGODB-AWS"); auto client = mongocxx::client(uri);
AssumeRoleWithWebIdentity 요청 을 사용하여 Amazon Web Services 로 인증하는 방법에 학습 보려면 AssumeRoleWithWebIdentity 요청을 참조하세요.
ECS Metadata
다음 코드는 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 인스턴스 메타데이터
다음 코드는 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 인스턴스 메타데이터를 참조하세요.
Kerberos
참고
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 를 참조하세요.
PLAIN SASL
참고
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 을 참조하세요.