데이터 보안 유지
이 페이지의 내용
개요
MongoDB 는 애플리케이션 을 인증하는 데 사용할 수 있는 여러 메커니즘을 지원합니다. 이 페이지에는 이러한 각 메커니즘을 보여주는 코드 예제가 포함되어 있습니다.
팁
이 페이지의 인증 메커니즘에 학습 보려면 인증 메커니즘 및 엔터프라이즈 인증 메커니즘 페이지를 참조하세요.
이 페이지의 인증 예시를 사용하려면 코드 예시를 샘플 애플리케이션 또는 자체 애플리케이션에 복사하세요. 코드 예제의 모든 자리 표시자(예: <hostname>
)를 MongoDB 배포에 필요한 관련 값으로 바꿔야 합니다.
샘플 애플리케이션
다음 샘플 애플리케이션을 사용하여 이 페이지의 코드 예제를 테스트할 수 있습니다. 샘플 애플리케이션을 사용하려면 다음 단계를 수행하세요.
프로젝트 에서 가져올 수 있는 위치 에 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 을 참조하세요.