LDAP 用の MongoDB Agent の構成
注意
MongoDB 8.0以降、 LDAP認証と認可は非推奨です。 この機能は利用可能であり、 MongoDB 8のサポート期間中に変更されずに動作し続けます。 LDAPは将来のメジャー リリースで削除される予定です。
詳しくは、「 LDAP 非推奨 」を参照してください。
MongoDB 配置でアクセス制御が強制される場合、MongoDB Agent は適切なアクセス権を持つユーザーとして MongoDB で認証される必要があります。 オートメーションを使用する場合、 MongoDB Ops Managerがこれを処理します。
MongoDB Enterpriseは、 saslauthd
およびオペレーティング システム ライブラリを介して、 LDAPサーバーへの単純なバインディングと SASL バインディングをサポートしています。
MongoDB Enterprise for Linux は、
saslauthd
またはオペレーティング システム ライブラリ経由でLDAPサーバーにバインドできます。MongoDB Enterprise for Windows は、オペレーティング システム ライブラリを介してLDAPサーバーにバインドできます。
MongoDB Agent はLDAPを使用した MongoDB インスタンスへの認証をサポートしています。
注意
オートメーションを使用すると、 MongoDB Ops ManagerがMongoDB Agent認証を管理します。 認証の詳細については、 「 プロジェクトでの LDAP認証の有効化 」を参照してください。MongoDB Ops Manager
前提条件
認証を使用するように配置を構成する
MongoDB Agent は、MongoDB ユーザーと同様に、配置内の MongoDB データベースを操作します。 そのため、認証をサポートするように MongoDB 配置と MongoDB Agent を構成する必要があります。
配置を追加するときに配置の認証メカニズムを指定することも、既存の配置の設定を編集することもできます。 少なくとも、MongoDB Agent が使用する認証メカニズムを配置で有効にする必要があります。 MongoDB Agent は、サポートされている任意の認証メカニズムを使用できます。
TLS 証明書が必要な環境変数を設定する
MongoDB Agent ホストでは、 TLS_REQCERT を設定する必要があります 環境変数をdemand
に設定します。
例
Red Hat Enterprise Linux ホストで、 /etc/openldap/ldap.conf
ファイルを開き、次の設定と値を追加します。
TLS_REQCERT demand
この環境変数を設定するには、アプリケーションを使用します。
Considerations
オートメーションが配置を管理しない場合は、各機能に対して個別にLDAP認証を構成する必要があります。
LDAP 認証を設定するには、ホストを追加するか、既存のホストの設定を編集します。
MongoDB でのユーザーの作成と設定
LDAP認証を使用する MongoDB インスタンスを自動化するには、必要なロールと特権を持つ MongoDB ユーザーを MongoDB の$external
データベースに追加します。 $external
データベースを使用すると、 mongod
はLDAPサーバーなどの外部ソースを参照して認証できます。
次のコマンドを使用して、 mongosh
からユーザーを作成します。
db.getSiblingDB("$external").createUser( { user : "<username>", roles : [ { role : "clusterAdmin", db : "admin" }, { role : "readWriteAnyDatabase", db : "admin" }, { role : "userAdminAnyDatabase", db : "admin" }, { role : "dbAdminAnyDatabase", db : "admin" }, { role : "backup", db : "admin" }, { role : "restore", db : "admin" } ] } )
必要なアクセス権の詳細については、「 MongoDB Agent に必要なアクセス権 」を参照してください。
LDAP認証を使用するMongoDBインスタンスをバックアップするには、必要なロールを持つユーザーをMongoDBの$external
データベースに追加します。 $external
データベースには、外部認証と認可の詳細の認証情報が保存されています。
次のmongosh
コマンドを使用してユーザーを作成します。
db.getSiblingDB("$external").createUser( { user : "<username>", roles: [ { role: "clusterAdmin", db: "admin" } ] } )
必要なアクセス権の詳細については、「 MongoDB Agent バックアップに必要なアクセス権 」を参照してください。
LDAP認証を使用するMongoDBインスタンスを監視するには、 MongoDBの$external
データベースにユーザーを追加します。 $external
データベースには、外部認証と認可の詳細の認証情報が保存されています。 次の例で提供されているロールを、このユーザーに割り当てます。
次のmongosh
コマンドを使用してユーザーを作成します。
db.getSiblingDB("$external").createUser( { user : "<username>", roles: [ { role: "clusterMonitor", db: "admin" } ] } )
この関数に必要なロールについては、「モニタリング設定 」を参照してください。