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 4.0以降のインスタンスをバックアップするには、必要なロールを持つユーザーを MongoDB の$externalデータベースに追加します。 $externalデータベースには、外部認証と認可の詳細の認証情報が保存されています。
次のmongoshコマンドを使用してユーザーを作成します。
db.getSiblingDB("$external").createUser( { user : "<username>", roles: [ { role: "clusterAdmin", db: "admin" } ] } )
db.getSiblingDB("$external").createUser( { user: "<username>", roles: [ { role: "backup", db: "admin" } ] } )
必要なアクセス権の詳細については、「 MongoDB Agent のバックアップに必要なアクセス権 」を参照してください。
LDAP認証を使用する MongoDB 4.0以降のインスタンスを監視するには、MongoDB の$externalデータベースにユーザーを追加します。 $externalデータベースには、外部認証と認可の詳細の認証情報が保存されています。 このユーザーに、次の例で提供されているロールを割り当てます。
次のmongoshコマンドを使用してユーザーを作成します。
db.getSiblingDB("$external").createUser( { user : "<username>", roles: [ { role: "clusterMonitor", db: "admin" } ] } )
この関数に必要なロールについては、「モニタリング設定 」を参照してください。