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

데이터 보안 유지

이 페이지의 내용

  • 개요
  • 샘플 애플리케이션
  • SCRAM-SHA-256
  • SCRAM-SHA-1
  • MONGODB X.509
  • MONGODB-AWS
  • 연결 URI
  • 외부 자격 증명

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

이 페이지에 표시된 메커니즘에 학습 보려면 각 섹션에 제공된 링크를 참조하세요.

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

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

  1. C 운전자 가 설치되어 있는지 확인합니다.

  2. 다음 코드를 복사하여 새 .c 파일에 붙여넣습니다.

  3. 이 페이지에서 코드 예제를 복사하여 파일의 지정된 줄에 붙여넣습니다.

1#include <mongoc/mongoc.h>
2#include <bson/bson.h>
3
4int 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 인증 메커니즘 을 사용하여 인증하는 방법을 보여줍니다.

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 인증 메커니즘 을 사용하여 인증하는 방법을 보여줍니다.

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 를 참조하세요.

다음 코드는 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 에 연결하는 방법을 보여줍니다. MONGODB-AWS 메커니즘을 사용하는 경우 C 운전자 는 나열된 순서대로 다음 소스에서 AWS 자격 증명 을 조회 하려고 시도합니다.

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

  2. 환경 변수

  3. Amazon Web Services EKS AssumeRoleWithWebIdentity 요청

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

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

각 섹션에서는 연결 URI 또는 대체 외부 소스에서 AWS 자격 증명 을 검색할 때 MONGODB-AWS 로 인증하는 방법을 보여줍니다.

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

다음 코드는 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 로 인증하는 방법에 학습 보려면 인증 가이드 의 다음 섹션을 참조하세요.

돌아가기

클러스터 모니터링