데이터 보안 유지
개요
MongoDB 는 애플리케이션 을 인증하는 데 사용할 수 있는 여러 메커니즘을 지원합니다. 이 페이지에는 이러한 각 메커니즘을 보여주는 코드 예제가 포함되어 있습니다.
팁
이 페이지에 표시된 메커니즘에 학습 보려면 각 섹션에 제공된 링크를 참조하세요.
이 페이지의 인증 예시 를 사용하려면 코드 예시 를 샘플 애플리케이션 또는 자체 애플리케이션 에 복사합니다. 코드 예제의 모든 자리 표시자(예: <hostname>
)를 MongoDB deployment 관련 값으로 바꿔야 합니다.
샘플 애플리케이션
다음 샘플 애플리케이션을 사용하여 이 페이지의 코드 예제를 테스트할 수 있습니다. 샘플 애플리케이션을 사용하려면 다음 단계를 수행하세요.
C 운전자 가 설치되어 있는지 확인합니다.
다음 코드를 복사하여 새
.c
파일에 붙여넣습니다.이 페이지에서 코드 예제를 복사하여 파일의 지정된 줄에 붙여넣습니다.
1 2 3 4 int main(void) { 5 6 mongoc_uri_t* uri = NULL; 7 mongoc_client_t *client = NULL; 8 mongoc_database_t *database = NULL; 9 bson_t *ping = NULL, reply = BSON_INITIALIZER; 10 bson_error_t error; 11 12 mongoc_init(); 13 14 // Start example code here 15 16 // End example code here 17 18 database = mongoc_client_get_database (client, "admin"); 19 20 ping = BCON_NEW ("ping", BCON_INT32 (1)); 21 22 if (!mongoc_client_command_simple (client, "admin", ping, NULL, &reply, &error)) { 23 fprintf (stderr, "%s\n", error.message); 24 goto cleanup; 25 } 26 printf ("Pinged your deployment. You successfully connected to MongoDB!\n"); 27 28 cleanup: 29 bson_destroy (&reply); 30 bson_destroy (ping); 31 mongoc_database_destroy (database); 32 mongoc_client_destroy (client); 33 mongoc_uri_destroy (uri); 34 mongoc_cleanup (); 35 }
SCRAM-SHA-256
다음 코드는 SCRAM-SHA-256
인증 메커니즘 을 사용하여 인증하는 방법을 보여줍니다.
const char *uri = "mongodb://<percent-encoded username>:<percent-encoded password>@<hostname>:<port>/?authMechanism=SCRAM-SHA-256&authSource=<authentication database>"; mongoc_client_t *client = mongoc_client_new(uri);
SCRAM-SHA-256 인증 에 학습 보려면 인증 가이드 에서SCRAM -SHA- 를 참조하세요.256
SCRAM-SHA-1
다음 코드는 SCRAM-SHA-1
인증 메커니즘 을 사용하여 인증하는 방법을 보여줍니다.
const char *uri = "mongodb://<percent-encoded username>:<percent-encoded password>@<hostname>:<port>/?authMechanism=SCRAM-SHA-1&authSource=<authentication database>"; mongoc_client_t *client = mongoc_client_new(uri);
SCRAM-SHA-1 인증에 대해 자세히 알아보려면 인증 가이드에서 SCRAM-SHA-1 를 참조하세요.
MONGODB X.509
다음 코드는 X.509
인증 메커니즘 을 사용하여 인증할 연결 URI를 만드는 방법을 보여줍니다.
mongoc_client_t *client; mongoc_ssl_opt_t ssl_opts = {0}; ssl_opts.pem_file = "mycert.pem"; const char *uri = "mongodb://<percent-encoded username>@<hostname>:<port>/?authMechanism=MONGODB-X509"; mongoc_client_t *client = mongoc_client_new(uri); mongoc_client_set_ssl_opts(client, &ssl_opts);
X.509 인증 에 학습 보려면 인증 가이드 에서 MONGODB-X509 를 참조하세요.
MONGODB-AWS
다음 섹션에서는 MONGODB-AWS
인증 메커니즘 을 사용하여 MongoDB 에 연결하는 방법을 보여줍니다. MONGODB-AWS
메커니즘을 사용하는 경우 C 운전자 는 나열된 순서대로 다음 소스에서 AWS 자격 증명 을 조회 하려고 시도합니다.
연결 URI에 전달된 명명된 매개변수
환경 변수
Amazon Web Services EKS AssumeRoleWithWebIdentity 요청
ECS 컨테이너 메타데이터
EC2 인스턴스 메타데이터
각 섹션에서는 연결 URI 또는 대체 외부 소스에서 AWS 자격 증명 을 검색할 때 MONGODB-AWS
로 인증하는 방법을 보여줍니다.
Amazon Web Services 를 사용한 인증에 학습 보려면 인증 가이드 에서 MONGODB-Amazon Web Services 를 참조하세요.
연결 URI
다음 코드는 MONGODB-AWS
로 인증하기 위해 연결 URI에 AWS 자격 증명 을 전달하는 방법을 보여줍니다.
const char *uri = "mongodb://<AWS IAM access key ID>:<AWS IAM secret access key>@<hostname>:<port>/?authMechanism=MONGODB-AWS"); mongoc_client_t *client = mongoc_client_new(uri);
연결 URI 자격 증명 을 검색하여 AWS로 인증하는 방법에 학습 보려면 인증 가이드 의 연결 URI를 참조하세요.
외부 자격 증명
다음 코드는 환경 변수, ECS 메타데이터 또는 EC2 인스턴스 메타데이터 데이터에서 자격 증명 을 가져올 때 MONGODB-AWS
로 인증하는 방법을 보여줍니다.
const char *uri = "mongodb://<hostname>:<port>/?authMechanism=MONGODB-AWS"); mongoc_client_t *client = mongoc_client_new(uri);
외부 자격 증명 을 얻어 Amazon Web Services 로 인증하는 방법에 학습 보려면 인증 가이드 의 다음 섹션을 참조하세요.