Docs Menu
Docs Home
/ / /
C ドライバー

データの保護

項目一覧

  • Overview
  • サンプル アプリケーション
  • SCRAM-SHA-256
  • SCRAM-SHA-1
  • MONGODB X.509
  • MongoDB-AWS
  • 接続URI
  • 外部認証情報

MongoDBは、アプリケーションを認証するために使用できる複数のメカニズムをサポートしています。 このページでは、これらのそれぞれのメカニズムを示すコード例が紹介されています。

Tip

このページに記載されているメカニズムの詳細については、各セクションに提供されているリンクを参照してください。

このページの認証例を使用するには、コード例をサンプルアプリケーションまたは 独自のアプリケーションにコピーします。 <hostname>など、コード例にあるすべてのプレースホルダーを、 MongoDBデプロイに関連する値に置き換えてください。

次のサンプルアプリケーションを使用して、このページのコード例をテストできます。 サンプル アプリケーションを使用するには、次の手順を実行します。

  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-X 509を参照してください。

次のセクションでは、MONGODB-AWS認証メカニズムを使用してMongoDBに接続する方法を示します。 MONGODB-AWS メカニズムを使用すると、 Cドライバーは次のソースからAWS認証情報を登録されている順序で検索しようとします。

  1. 接続 URI に渡される名前付きパラメータ

  2. 環境変数

  3. Amazon Web Services EKS AssumeRoleWithWebIdentityリクエスト

  4. ECSコンテナのメタデータ

  5. EC 2インスタンスのメタデータ

各セクションでは、接続 URI または代替の外部ソースからAWS認証情報を取得するときに、MONGODB-AWS で認証する方法を示します。

AmazonAmazon Web Services Web Services での認証の詳細については、 認証ガイドの MONGODB- 参照してください。Amazon Web Services

次のコードは、接続 URI でAWS認証情報を渡し、MONGODB-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メタデータ、または EC 2インスタンスメタデータから認証情報を取得するときに、MONGODB-AWS で認証する方法を示しています。

const char *uri = "mongodb://<hostname>:<port>/?authMechanism=MONGODB-AWS");
mongoc_client_t *client = mongoc_client_new(uri);

外部認証情報を取得してAmazon Web Servicesで認証する方法の詳細については、 認証ガイドの次のセクションを参照してください。

戻る

クラスター モニタリング