Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
PHP ライブラリ マニュアル
/ /

SCRAM 認証

Salted Challenge Response Authentication Mechanism(SCRAM)は、チャレンジ レスポンス メカニズムを使用してユーザーを認証する認証メカニズムのファミリーです。SHA-256アルゴリズムを使用してパスワードをハッシュする SCRAM-SHA-256 は、 MongoDB Serverバージョン 4.0 以降のデフォルトの認証メカニズムです。 代わりに SHA-1アルゴリズムを使用する SCRAM-SHA-1 が、4.0 より前のバージョンのMongoDB Serverのデフォルトの認証メカニズムです。

SCRAM を使用して、 MongoDB Atlas、 MongoDB Enterprise Advanced、 MongoDB Community Edition を認証できます。

Tip

SCRAM メカニズム

SCRAM ファミリーの認証メカニズムの詳細については、 Wikipedia の RFC5802 および Salted Challenge Response 認証メカニズムを参照してください。

MongoDBの SCRAM実装の詳細については、 MongoDB Serverマニュアルの「 SCRAM 」を参照してください。

RFC7677 で定義されている SCRAM-SHA-256 は、 MongoDB配置のデフォルトの認証メカニズムです。

このメカニズムで認証するには、次の接続オプションを設定します。

  • username: 認証するユーザー名。 接続 URI に含める前に、この値をパーセント エンコードします。

  • password: 認証するパスワード。 接続 URI に含める前に、この値をパーセント エンコードします。

  • authSource: 認証するMongoDBデータベース 。 デフォルトでは 、 MongoDB PHPライブラリは接続 URI にデータベースに対して認証を行います(接続 URI を含めている場合)。 再試行しない場合、 adminデータベースに対して認証が行われます。

これらのオプションは、オプション配列を MongoDB\Client コンストラクターに渡す方法と、接続 URI のパラメーターを使用する方法の 2 通りがあります。対応するコードを表示するには、MongoDB\Client タブまたは Connection URIタブを選択します。

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

次の例に示すように、authMechanism 接続オプションを '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-1RFC5802 で定義されている は、 アルゴリズムで暗号化されたユーザー名とパスワードを使用してユーザーを認証する SCRAM(Salted Challenge Response Authentication Mechanism)SHA-1 です。

このメカニズムで認証するには、次の接続オプションを設定します。

  • username: 認証するユーザー名。 接続 URI に含める前に、この値をパーセント エンコードします。

  • password: 認証するパスワード。 接続 URI に含める前に、この値をパーセント エンコードします。

  • authSource: 認証するMongoDBデータベース 。 デフォルトでは 、 MongoDB PHPライブラリは接続 URI にデータベースに対して認証を行います(接続 URI を含めている場合)。 再試行しない場合、 adminデータベースに対して認証が行われます。

  • authMechanism: 'SCRAM-SHA-1'に設定します。

これらのオプションは、オプション配列を MongoDB\Client コンストラクターに渡す方法と、接続 URI のパラメーターを使用する方法の 2 通りがあります。対応するコードを表示するには、MongoDB\Client タブまたは Connection URIタブを選択します。

$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);

MongoDB PHPライブラリで MongoDB\Clientオブジェクトを作成する方法について詳しくは、「 MongoDBクライアントの作成」ガイドを参照してください。

接続オプションの詳細については、 「接続オプションの指定」ガイドを参照してください。

戻る

認証

項目一覧