AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

SCRAM 認証の構成

SCRAM(Salted Challenge Response Authentication Mechanism)は、MongoDB のデフォルトの認証メカニズムです。Scala ドライバーは、次の SCRAM バリアントをサポートしています。

  • SCRAM-SHA-256: SHA-256 ハッシング アルゴリズムを使用し、MongoDB 6.0 以降のデフォルトメカニズムです。

  • SCRAM-SHA-1: SHA-1 ハッシング アルゴリズムを使用します。

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

Tip

SCRAM メカニズム

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

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

このページのコード例では、次のプレースホルダーを使用します。

  • <db_username>: 認証するユーザーのMongoDBユーザー名。

  • <db_password>: 認証するユーザーのMongoDBパスワード。

  • <hostname>: MongoDBデプロイのネットワーク アドレス。

  • <port>: MongoDB配置のポート番号。このパラメータを省略すると、ドライバーはデフォルトのポート番号(27017)を使用します。MongoDB Atlas クラスターに接続する場合、ポート番号は必要ありません。

  • <authenticationDb>: ユーザーの認証データが含まれるMongoDBデータベース 。 このパラメータを省略すると、ドライバーはデフォルト値の admin を使用します。

コード例を使用するには、これらのプレースホルダーを独自の値に置き換えます。

MongoDB 6.0 以降のデフォルトの認証メカニズムは SCRAM-SHA-256 です。デフォルトのメカニズムを使用するには、次のタブのいずれかを選択します。

接続文字列を使用して認証するには、authMechanism パラメーターを省略します。

val mongoClient = MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>")

MongoCredential クラスは認証資格情報を表し、各認証メカニズムの静的ファクトリメソッドを含みます。MongoCredential クラスで認証するには、createCredential() メソッドを使用します。

val user = "<db_username>" // the username
val source = "<authenticationDb>" // the authentication database
val password = ... // the password as a character array
val credential = MongoCredential.createCredential(user, source, password)
val mongoClient = MongoClient(MongoClientSettings
.builder()
.applyToClusterSettings(builder =>
builder.hosts(Collections.singletonList(ServerAddress("<hostname>", <port>))))
.credential(credential)
.build())

このメカニズムを使用するには、featureCompatibilityVersion4.0 以降である必要があります。SCRAM-SHA-256 認証メカニズムを指定するには、次のいずれかのタブを選択します。

接続文字列で認証するには、authMechanism パラメータを SCRAM-SHA-256 に設定します。

val mongoClient = MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=SCRAM-SHA-256")

MongoCredential クラスは認証資格情報を表し、各認証メカニズムの静的ファクトリメソッドを含みます。MongoCredential クラスで認証するには、createScramSha256Credential() メソッドを使用します。

val user = "<db_username>" // the username
val source = "<authenticationDb>" // the authentication database
val password = ... // the password as a character array
val credential = MongoCredential.createScramSha256Credential(user, source, password)
val mongoClient = MongoClient(MongoClientSettings
.builder()
.applyToClusterSettings(builder =>
builder.hosts(Collections.singletonList(ServerAddress("<hostname>", <port>))))
.credential(credential)
.build())

SCRAM-SHA-1 認証メカニズムを指定するには、次のいずれかのタブを選択します。

接続文字列で認証するには、authMechanism パラメータを SCRAM-SHA-1 に設定します。

val mongoClient = MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=SCRAM-SHA-1")

MongoCredential クラスは認証資格情報を表し、各認証メカニズムの静的ファクトリメソッドを含みます。MongoCredential クラスで認証するには、createScramSha1Credential() メソッドを使用します。

val user = "<db_username>" // the username
val source = "<authenticationDb>" // the authentication database
val password = ... // the password as a character array
val credential = MongoCredential.createScramSha1Credential(user, source, password)
val mongoClient = MongoClient(MongoClientSettings
.builder()
.applyToClusterSettings(builder =>
builder.hosts(Collections.singletonList(ServerAddress("<hostname>", <port>))))
.credential(credential)
.build())

このページで使用されているメソッドとタイプの詳細については、次の API ドキュメントを参照してください。