Docs Menu
Docs Home
/ / /
C#/.NET
/

エンタープライズ認証メカニズム

項目一覧

  • Overview
  • GSSAPI/Kerberos による認証
  • additionalProperties
  • LDAP による認証(PLAIN)
  • API ドキュメント

このガイドでは、MongoDB Enterprise Edition でのみ使用可能な MongoDB で認証する方法を学習できます。 認証メカニズムは、ドライバーとサーバーが接続前にクライアントの ID を確認し、セキュリティを確保するためのプロセスです。

MongoDB Enterprise Edition の最新バージョンでは、次の認証メカニズムを使用できます。

  • GSSAPI/Kerberos

  • LDAP (Plain)

別のメカニズムを使用して認証するには、 認証メカニズムの基礎ページを参照してください。 MongoDB クラスターへの接続を確立する方法の詳細については、接続ガイド を参照してください。

次のいずれかの方法を使用して、MongoDB に接続するときに認証メカニズムと認証情報を指定できます。

  • 接続string 接続 URI とも呼ばれます)は、string MongoDB配置に接続する方法と接続中の動作をドライバーに指示する です。

  • サポートされている認証メカニズムのファクトリー メソッドで、 MongoCredentialクラスに含まれています。

ジェネリック セキュリティ サービス API(GSSAPI)認証メカニズムにより、ユーザーはユーザーのプリンシパル名を使用して Kerberos サービスで認証できます。

次の例では、次のプレースホルダーを使用して認証メカニズムを指定します。

  • <username>: URL エンコード プリンシパル名(例: username%40 REALM.ME)

  • <password>: Kerberos ユーザーのパスワード

  • <hostname>: クライアントからアクセス可能な MongoDB サーバーのネットワーク アドレス

GSSAPI / Kerberos 認証メカニズムを指定するための対応する構文を確認するには、 タブまたは タブを選択します。Connection StringMongoCredential

var mongoClient = new MongoClient("mongodb://<username>:<password>@<hostname>/?authMechanism=GSSAPI");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

Tip

パスワードの省略

次のいずれかに当てはまる場合は、パスワードを省略できます。

  • Windows では、アプリケーションを実行しているプロセス所有者は、認証を必要とするユーザーと同じです。

  • Linux では、ユーザーはkinit username@REALM.COM経由でキータブを初期化しました。

接続stringまたは MongoCredential クラスのファクトリー メソッドを使用して、認証メカニズムに追加のプロパティを指定できます。

次の例は、DNS サーバーを使用してホストの完全修飾ドメイン名を検索する方法を示しています。

var mongoClient = new MongoClient("mongodb://<db_username>:<db_password>@<hostname>/?authMechanism=GSSAPI&authMechanismProperties=CANONICALIZE_HOSTNAME:true");
var credential = MongoCredential.CreateGssapiCredential("<db_username>", "<db_passwordpassword>");
credential = credential.WithMechanismProperty("CANONICALIZE_HOST_NAME", "true");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

次の例は、サービスの Realm と異なる場合にユーザーの Realm を指定する方法を示しています。

var mongoClient = new MongoClient("mongodb://<db_username>:<db_password>@<hostname>/?authMechanism=GSSAPI&authMechanismProperties=SERVICE_REALM:<user's realm>");
var credential = MongoCredential.CreateGssapiCredential("<db_username>", "<db_password>");
credential = credential.WithMechanismProperty("SERVICE_REALM", "<user's realm>");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

次の例えは、デフォルトのmongodbでない場合にサービス名を指定する方法を示しています。

var mongoClient = new MongoClient("mongodb://<db_username>:<db_password>@<hostname>/?authMechanism=GSSAPI&authMechanismProperties=SERVICE_NAME:<service name>");
var credential = MongoCredential.CreateGssapiCredential("<db_username>", "<db_password>");
credential = credential.WithMechanismProperty("SERVICE_NAME", "<service name>");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

次の例は、複数の認証メカニズム プロパティを指定する方法を示しています。

var mongoClient = new MongoClient("mongodb://<db_username>:<db_password>@<hostname>/?authMechanism=GSSAPI&authMechanismProperties=SERVICE_NAME:<service name>,SERVICE_REALM:<user's realm>");
var credential = MongoCredential.CreateGssapiCredential("<db_username>", "<db_password>");
credential = credential.WithMechanismProperty("SERVICE_REALM", "<user's realm>")
.WithMechanismProperty("SERVICE_NAME", "<service name>");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

ディレクトリ サーバーのユーザー名とパスワードを使用して、LDAP(Lightweight Directory Access Protocol)サーバーで認証できます。

次の例では、次のプレースホルダーを使用して認証メカニズムを指定します。

  • <username>: LDAP ユーザー名

  • <password>: LDAP パスワード

  • <hostname>: クライアントからアクセス可能な MongoDB サーバーのネットワーク アドレス

  • <authenticationDb>: ユーザーの認証を含む MongoDB database

LDAP 認証メカニズムを指定するための対応する構文を確認するには、 Connection StringタブまたはMongoCredentialタブを選択します。

var mongoClient = new MongoClient("mongodb://<username>:<password>@<hostname>/?authSource=<authenticationDb>&authMechanism=PLAIN");
var credential = MongoCredential.CreatePlainCredential("<authenticationDb>", "<username>", "<password>");
var settings = MongoClientSettings.FromConnectionString("<connection string>");
settings.Credential = credential;
var mongoClient = new MongoClient(settings);

このガイドで説明したメソッドや型の詳細については、次の API ドキュメントを参照してください。

戻る

認証メカニズム