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 の RFC5802 および 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ドキュメントを参照してください。