Overview
MongoDBは、アプリケーションを認証するために使用できる複数のメカニズムをサポートしています。 このページでは、これらのそれぞれのメカニズムを示すコード例が紹介されています。
Tip
このページに記載されているメカニズムの詳細については、各セクションに提供されているリンクを参照してください。
To use an authentication example from this page, copy the code example into the sample application or your own application. Make sure to replace all placeholders in the code examples, such as <hostname>, with the relevant values for your 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 if (!client) { 19 fprintf(stderr, "client initialization failure\n"); 20 goto cleanup; 21 } 22 23 database = mongoc_client_get_database(client, "admin"); 24 25 ping = BCON_NEW("ping", BCON_INT32(1)); 26 27 if (!mongoc_client_command_simple(client, "admin", ping, NULL, &reply, &error)) { 28 fprintf(stderr, "%s\n", error.message); 29 goto cleanup; 30 } 31 printf("Pinged your deployment. You successfully connected to MongoDB!\n"); 32 33 cleanup: 34 bson_destroy(&reply); 35 bson_destroy(ping); 36 mongoc_database_destroy(database); 37 mongoc_client_destroy(client); 38 mongoc_uri_destroy(uri); 39 mongoc_cleanup(); 40 }
SCRAM-SHA-256
次のコードは、 SCRAM-SHA-256認証メカニズムを使用して認証する方法を示しています。
const char *uri = "mongodb://<percentEncodedUsername>:<percentEncodedPassword>@<hostname>:<port>/?authMechanism=SCRAM-SHA-256&authSource=<authenticationDatabase>"; mongoc_client_t *client = mongoc_client_new(uri);
SCRAM-SHA- 256認証の詳細については、認証ガイドのSCRAM-SHA- 256を参照してください。
SCRAM-SHA-1
次のコードは、 SCRAM-SHA-1認証メカニズムを使用して認証する方法を示しています。
const char *uri = "mongodb://<percentEncodedUsername>:<percentEncodedPassword>@<hostname>:<port>/?authMechanism=SCRAM-SHA-1&authSource=<authenticationDatabase>"; 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://<percentEncodedUsername>@<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-AWS認証メカニズム を使用してMongoDBに接続する方法を示します。 MONGODB-AWS メカニズムを使用すると、 Cドライバーは次のソースからAmazon Web Services の認証情報を登録されている順序で検索しようとします。
接続 URI に渡される名前付きパラメータ
環境変数
Amazon Web Services EKS AssumeRoleWithWebIdentityリクエスト
ECSコンテナのメタデータ
EC 2インスタンスのメタデータ
各セクションでは、接続 URI または代替の外部ソースからAmazon Web Services の認証情報を取得するときに MONGODB-AWS で認証する方法を示します。
AmazonAmazon Web Services Web Services での認証の詳細については、 認証ガイドの MONGODB- 参照してください。Amazon Web Services
接続URI
次のコードは、接続 URI でAmazon Web Services の認証情報を渡し、MONGODB-AWS で認証する方法を示しています。
const char *uri = "mongodb://<awsIamAccessKeyId>:<awsIamSecretAccessKey>@<hostname>:<port>/?authMechanism=MONGODB-AWS"; mongoc_client_t *client = mongoc_client_new(uri);
接続 URI 認証情報を取得してAmazon Web Servicesで認証する方法の詳細については、 認証ガイドの「 接続 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で認証する方法の詳細については、 認証ガイドの次のセクションを参照してください。