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

Kerberos (GSSAPI)

項目一覧

  • Overview
  • コード プレースホルダー
  • アプリケーションでの GSSAPI 認証の使用
  • additionalProperties
  • API ドキュメント

ジェネリック セキュリティ サービスAPI (GSSAPI)認証メカニズムを使用すると、プリンシパル名を使用して Kerberos サービスに認証できます。このメカニズムはMongoDB Enterprise Advancedに認証する場合にしか使用できません。

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

  • <username>: URLエンコードされた プリンシパル名。例:"username%40REALM.ME"

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

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

  • <port>: MongoDBデプロイのポート番号。このパラメーターを省略すると、ドライバーはデフォルトのポート番号( 27017 )を使用します。

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

GSSAPI認証メカニズムを指定し、Kerberos 認証情報を提供するには、MongoCredentialオブジェクトを使用するか、接続文字列の一部として使用します。対応する構文を確認するには、 Connection String タブまたは MongoCredentialタブを選択します。

var mongoClient = new MongoClient(
"mongodb://<username>:<password>@<hostname>[:<port>]/?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経由でキータブを初期化しました。

次の GSSAPI 構成オプションは、接続文字列または MongoCredentialオブジェクトのいずれかに含めることができます。

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

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

次の例では、サービスの邦土と異なる場合にユーザーの邦土を指定する方法を示しています。 <user's realm> プレースホルダーを Kerberos ユーザーの邦土に置き換えます。

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

次の例では、デフォルトの mongodb でない場合にサービス名を指定する方法を示しています。 <service name> プレースホルダーをサービス名に置き換えます。

var mongoClient = new MongoClient(
"mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI&" +
"authMechanismProperties=SERVICE_NAME:<service name>");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<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://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI&" +
"authMechanismProperties=SERVICE_NAME:<service name>,SERVICE_REALM:<user's realm>");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<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);

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

戻る

LDAP (PLAIN)