Overview
ジェネリック セキュリティ サービスAPI (GSSAPI)認証メカニズムを使用すると、プリンシパル名を使用して Kerberos サービスに認証できます。 このメカニズムはMongoDB Enterprise Advancedに認証する場合にしか使用できません。
コード プレースホルダー
このページのコード例では、次のプレースホルダーを使用します。
<username>
: LDAP username.<hostname>
: MongoDBデプロイのネットワーク アドレス 。<port>
: MongoDBデプロイのポート番号。このパラメーターを省略すると、ドライバーはデフォルトのポート番号(27017
)を使用します。MongoDB Atlasクラスターに接続するときに、ポート番号を指定することは任意です。<authentication_db>
: ユーザーの LDAP 認証情報を含むMongoDBデータベース 。このパラメーターを省略すると、ドライバーはデフォルトのデータベース(admin
)を使用します。
このページのコード例を使用するには、これらのプレースホルダーを独自の値に置き換えます。
アプリケーションでの GSSAPI 認証の使用
Kerberos を使用するようにMongoDB Serverを構成する方法について詳しくは、MongoDB Server Kerberos のドキュメントを参照してください。
Rubyドライバーで Kerberos認証メカニズムを使用するには、mongo_kerberos ライブラリをインストールしてロードする必要があります。そのためには、Gemfile
に次の行を追加します。
gem 'mongo', '~> 2' gem 'mongo_kerberos', '~> 2'
次に、アプリケーションコードに次の行を追加します。
require 'mongo' require 'mongo_kerberos'
注意
Kerberos認証を使用する場合は、ホストの完全修飾ドメイン名(FQDN)を指定する必要があります。
次のセクションでは、 Ruby MRI と JRuby で Kerberos認証を使用する方法について説明します。
Ruby MRI での Kerberos 認証の使用
Ruby MRI で Kerberos認証を使用している場合は、次の手順を実行する必要があります。
ドライバーで Kerberos セッションを確立します。ドライバーはこのセッションを使用して、サーバーにユーザーの ID を証明します。
ホスト システムが Kerberos認証用に構成されていることを確認する必要があります。Kerberos を使用するようにホスト システムを構成する方法の詳細については、Kerberos のドキュメント または オペレーティング システムのドキュメント を参照してください。
JRuby で Kerberos 認証を使用
JRuby で Kerberos認証を使用している場合は、MRI に対して上記で説明したプロセスを使用して、ドライバーへの Kerberos セッションを外部で確立できます。また、 java.security.auth.login.config
システムプロパティに構成を保存して、キータブファイルへのパスを指定することもできます。また、Kerberos を使用するようにJavaランタイム環境も構成する必要があります。詳細については、 MongoDB Javaドライバー Kerberos のドキュメント を参照してください。
Kerberos 認証の例
Kerberos認証を使用してMongoDBに接続するための対応する構文を確認するには、Connection String タブまたは Client Optionsタブを選択します。
client = Mongo::Client.new("mongodb://<username>@<hostname>[:<port>]/<authentication_db>?authMechanism=GSSAPI")
client = Mongo::Client.new(['<hostname>[:<port>]'], auth_mech: :gssapi, user: '<username>')
注意
接続文字列を使用してMongoDBに接続する場合は、ユーザー名に現れる特殊文字をパーセント エンコードしていることを確認してください。
API ドキュメント
このページで説明するメソッドやタイプの詳細については、次のAPIドキュメントを参照してください。