Docs Menu
Docs Home
/ / /
PHP ライブラリ マニュアル

データの保護

項目一覧

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

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

Tip

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

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

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

  1. プロジェクトにMongoDB PHPライブラリがインストールされていることを確認してください。 MongoDB PHPライブラリのインストールの詳細については、「 ダウンロードとインストールガイド」を参照してください。

  2. 次のコードをコピーし、新しい.phpファイルに貼り付けます。

  3. このページからコード例をコピーし、 ファイル内の指定された行に貼り付けます。

1<?php
2
3require __DIR__ . '/../vendor/autoload.php';
4
5// Start example code here
6
7// End example code here
8
9try {
10 $client->test->command(['ping' => 1]);
11 echo 'Successfully pinged the MongoDB server.', PHP_EOL;
12} catch (MongoDB\Driver\Exception\RuntimeException $e) {
13 printf("Failed to ping the MongoDB server: %s\n", $e->getMessage());
14}

次のコードは、 SCRAM-SHA-256認証メカニズムを使用して認証する方法を示しています。

$uriOptions = [
'username' => '<username>',
'password' => '<password>',
'authSource' => '<authentication database>',
'authMechanism' => 'SCRAM-SHA-256',
];
$client = new MongoDB\Client(
'mongodb://<hostname>:<port>',
$uriOptions,
);
$uri = 'mongodb://<username>:<password>@<hostname>:<port>/?authSource=admin&authMechanism=SCRAM-SHA-256';
$client = new MongoDB\Client($uri);

SCRAM-SHA- 256認証の詳細については、認証ガイドのSCRAM-SHA- 256を参照してください。

次のコードは、 SCRAM-SHA-1認証メカニズムを使用して認証する方法を示しています。

$uriOptions = [
'username' => '<username>',
'password' => '<password>',
'authSource' => '<authentication database>',
'authMechanism' => 'SCRAM-SHA-1',
];
$client = new MongoDB\Client(
'mongodb://<hostname>:<port>',
$uriOptions,
);
$uri = 'mongodb://<username>:<password>@<hostname>:<port>/?authSource=admin&authMechanism=SCRAM-SHA-1';
$client = new MongoDB\Client($uri);

SCRAM-SHA- 1認証の詳細については、認証ガイドのSCRAM-SHA- 1を参照してください。

次のコードは、 X.509認証メカニズムを使用して認証するための接続 URI を作成する方法を示しています。

$uriOptions = [
'tls' => true,
'tlsCertificateKeyFile' => '<file path>',
'authMechanism' => 'MONGODB-X509',
];
$client = new MongoDB\Client(
'mongodb://<hostname>:<port>',
$uriOptions,
);
$uri = 'mongodb://<hostname>:<port>/?tls=true&tlsCertificateKeyFile=<file path>&authMechanism=MONGODB-X509';
$client = new MongoDB\Client($uri);

X. 509認証の詳細については、 認証ガイドのMONGODB-X 509を参照してください。

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

  1. 接続文字列または$uriOptions配列パラメータの一部としてMongoDB\Clientコンストラクタに渡されるオプション

  2. 環境変数

  3. AWS EKS AssumeRoleWithWebIdentityリクエスト

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

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

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

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

次のコードは、 AWS認証情報をMongoDB\Clientコンストラクターに渡してMONGODB-AWSで認証する方法を示しています。

$uriOptions = [
'username' => '<AWS IAM access key ID>',
'password' => '<AWS IAM secret access key>',
'authMechanism' => 'MONGODB-AWS',
];
$client = new MongoDB\Client(
'mongodb://<hostname>:<port>',
$uriOptions,
);
$uri = 'mongodb://<AWS IAM access key ID>:<AWS IAM secret access key>@<hostname>:<port>/?authMechanism=MONGODB-AWS';
$client = new MongoDB\Client($uri);

MongoDB\Client認証情報を取得してAWSで認証する方法の詳細については、 認証ガイドのMongoDB $ Client 認証情報を参照してください。

次のコードは、環境変数、 AssumeRoleWithWebIdentityリクエスト、 ECSメタデータ、または EC 2インスタンスメタデータから認証情報を取得するときに、 MONGODB-AWSで認証する方法を示しています。

$client = new MongoDB\Client(
'mongodb://<hostname>:<port>',
['authMechanism' => 'MONGODB-AWS']
);
$uri = 'mongodb://<hostname>:<port>/?authMechanism=MONGODB-AWS';
$client = new MongoDB\Client($uri);

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

戻る

クラスター モニタリング