Overview
Salted Challenge Response Authentication Mechanism(SCRAM)は、チャレンジ レスポンス メカニズムを使用してユーザーを認証する認証メカニズムのファミリーです。SHA-256アルゴリズムを使用してパスワードをハッシュする SCRAM-SHA-256 は、サポートされているすべてのサーバーバージョンのデフォルトの認証メカニズムです。
SCRAM を使用して、 MongoDB Atlas、 MongoDB Enterprise Advanced、 MongoDB Community Edition を認証できます。
Tip
SCRAM メカニズム
SCRAM ファミリーの認証メカニズムの詳細については、 Wikipedia の RFC 5802 および Salted Challenge Response 認証メカニズム を参照してください。
MongoDBの SCRAM実装の詳細については、 MongoDB Serverマニュアルの「 SCRAM 」を参照してください。
コード プレースホルダー
このページのコード例では、次のプレースホルダーを使用します。
+srv: MongoDB Atlasクラスターに接続している場合にのみ、このオプションを接続文字列のプレフィックスに含めます。+srvオプションの詳細については、 MongoDB Serverマニュアルの「 接続文字列の形式 」を参照してください。<db_username>: 認証するユーザーのMongoDBユーザー名。<db_password>: 認証するユーザーのMongoDBパスワード。<hostname>: MongoDBデプロイのネットワーク アドレス。<port>: MongoDBデプロイのポート番号。 このパラメーターを省略すると、ドライバーはデフォルトのポート番号(27017)を使用します。 MongoDB Atlasクラスターに接続する場合、ポート番号は必要ありません。<authentication_db>: ユーザーの認証データが含まれるMongoDBデータベース 。 このパラメータを省略すると、ドライバーはデフォルト値のadminを使用します。
このページのコード例を使用するには、これらのプレースホルダーを独自の値に置き換えます。
アプリケーションでの SCRAM 認証の使用
SCRAM を使用してMongoDBユーザーを認証するには、 MongoDBの認証情報を指定しますが、認証メカニズムは指定しない でください。MongoDB の認証情報は、接続文字列内、またはクライアントの作成 時にユーザー名とパスワードを user と password オプションに渡すことで指定できます。 対応する構文を確認するには、Connection String タブまたは Client Optionsタブを選択します。
client = Mongo::Client.new('mongodb[+srv]://<db_username>:<db_password>@<hostname>[:<port>]/?authSource=<authentication_db>')
client = Mongo::Client.new('<hostname>', user: '<db_username>', password: '<db_password>')
API ドキュメント
このページで説明するメソッドやタイプの詳細については、次のAPIドキュメントを参照してください。