Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
Node.js ドライバー
/ /

Kerberos(GSSAPI)認証メカニズム

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

注意

Node.js ドライバーは、MIT Kerberos ライブラリを使用して UNIX では Kerberos をサポートし、SSI API を使用して Windows では Kerberos をサポートします。

GSSAPI認証メカニズムは、ユーザー プリンシパルを使用して Kerberos サービスを認証します。

この認証メカニズムを指定するには、 接続stringでオプションを指定する際に次のアクションを実行します。

  • authMechanismパラメータをGSSAPIに設定します。

  • mongodb以外の値を使用する場合は、 authMechanismPropertiesパラメータにSERVICE_NAME値を設定します。

  • カスタム サービス邦土が必要な場合は、 authMechanismPropertiesパラメータにSERVICE_REALM値を指定します。

  • ホスト名の正規化が必要な場合は、authMechanismProperties パラメータに CANONICALIZE_HOST_NAME 値を指定します。このプロパティは、次の値を受け入れます。

    • none:(デフォルト)ホスト名の正規化を実行しません

    • forward: DNS のフォワードルックアップを実行してホスト名を正規化します

    • forwardAndReverse: DNS のフォワードルックアップを行い、次にその値に対してリバースルックアップを実行してホスト名を正規化します

重要

gssapiServiceName パラメータは非推奨であり、ドライバーの将来のバージョンで削除される可能性があります。代わりに、接続 URI で authMechanismProperties=SERVICE_NAME:<your service name> を使用してください。接続文字列の認証オプションの詳細については、サーバー マニュアルの「 接続文字列オプション 」参照の認証オプションセクションを参照してください。

次のコード例では、GSSAPI を使用して UNIX 用の Kerberos で認証を行います。

重要

正しく解析されるようにするには、必ずencodeURIComponentメソッドを使用してプリンシパルをURI エンコードしてください。

const { MongoClient } = require("mongodb");
// Replace the placeholder values with the values for your environment in the following lines
const clusterUrl = "<cluster_url>";
const principal = encodeURIComponent("<Kerberos principal and realm>");
const serviceRealm = "<Kerberos service realm>";
const canonicalizationSetting = "<canonicalization setting>";
const authMechanismProperties = `SERVICE_REALM:${serviceRealm},CANONICALIZE_HOST_NAME:${canonicalizationSetting}`;
const authMechanism = "GSSAPI";
// Connection URI
const uri = `mongodb+srv://${principal}@${clusterUrl}/?authMechanism=${authMechanism}&authMechanismProperties=${authMechanismProperties}`;
const client = new MongoClient(uri);
// Function to connect to the server
async function run() {
try {
// Establish and verify connection
await client.db("admin").command({ ping: 1 });
console.log("Connected successfully to server");
} finally {
// Ensures that the client will close when you finish/error
await client.close();
}
}
run().catch(console.dir);

注意

メソッドは、GSSAPI ではなくKerberos 認証メカニズムを参照します。これは、ドライバーが SASL メカニズムである GSSAPI RFC- を介して認証するためです。4652

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

戻る

LDAP (PLAIN)

項目一覧