データの保護
項目一覧
Overview
MongoDBは、アプリケーションを認証するために使用できる複数のメカニズムをサポートしています。 このページでは、これらのそれぞれのメカニズムを示すコード例が紹介されています。
Tip
このページに記載されているメカニズムの詳細については、各セクションに提供されているリンクを参照してください。
このページの認証例を使用するには、コード例をサンプルアプリケーションまたは 独自のアプリケーションにコピーします。 <hostname>
など、コード例にあるすべてのプレースホルダーを、 MongoDBデプロイに関連する値に置き換えてください。
サンプル アプリケーション
次のサンプルアプリケーションを使用して、このページのコード例をテストできます。 サンプル アプリケーションを使用するには、次の手順を実行します。
プロジェクトにMongoDB PHPライブラリがインストールされていることを確認してください。 MongoDB PHPライブラリのインストールの詳細については、「 ダウンロードとインストールガイド」を参照してください。
次のコードをコピーし、新しい
.php
ファイルに貼り付けます。このページからコード例をコピーし、 ファイル内の指定された行に貼り付けます。
1 2 3 require __DIR__ . '/../vendor/autoload.php'; 4 5 // Start example code here 6 7 // End example code here 8 9 try { 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
次のコードは、 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
次のコードは、 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を参照してください。
MONGODB X.509
次のコードは、 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-AWS
認証メカニズムを使用してMongoDBに接続する方法を示します。 MONGODB-AWS
メカニズムを使用すると、 MongoDB PHPライブラリは次のソースからAmazon Web Servicesの認証情報をリストされている順序で検索しようとします。
接続stringまたは
$uriOptions
配列パラメータの一部としてMongoDB\Client
コンストラクタに渡されるオプション環境変数
Amazon Web Services EKS
AssumeRoleWithWebIdentity
リクエストECSコンテナのメタデータ
EC 2インスタンスのメタデータ
各セクションでは、クライアントまたは代替の外部ソースからAmazon Web Servicesの認証情報を取得するときに MONGODB-AWS
で認証する方法を示します。
AmazonAmazon Web Services Web Services での認証の詳細については、 認証ガイドの MONGODB- 参照してください。Amazon Web Services
MongoDB $ Client 認証情報
次のコードは、 Amazon Web Servicesの認証情報を 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
認証情報を取得してAmazon Web Servicesで認証する方法の詳細については、 認証ガイドの「 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);
外部認証情報を取得してAmazon Web Servicesで認証する方法の詳細については、 認証ガイドの次のセクションを参照してください。