LDAP 用の MongoDB Agent の構成
- Cloud Managerへのプログラムによるアクセスのための OAuth 2.0認証はプレビュー機能として利用できます。
- 機能および関連するドキュメントは、プレビュー期間中にいつでも変更される可能性があります。 OAuth2.0 認証を使用するには、 Cloud Manager Public APIへのリクエストで使用する サービス アカウント を作成します。
注意
MongoDB 8.0以降、 LDAP認証と認可は非推奨です。 この機能は利用可能であり、 MongoDB 8のサポート期間中に変更されずに動作し続けます。 LDAPは将来のメジャー リリースで削除される予定です。
詳細については、「LDAP の廃止」を参照してください。
MongoDB 配置でアクセス制御が強制される場合、MongoDB Agent は適切なアクセス権を持つユーザーとして MongoDB で認証される必要があります。 オートメーションを使用する場合、Cloud Manager がこれを行います。
MongoDB Enterpriseは、 saslauthd
およびオペレーティング システム ライブラリを介して、 LDAPサーバーへの単純なバインディングと SASL バインディングをサポートしています。
MongoDB Enterprise for Linux は、
saslauthd
またはオペレーティング システム ライブラリ経由でLDAPサーバーにバインドできます。MongoDB Enterprise for Windows は、オペレーティング システム ライブラリを介してLDAPサーバーにバインドできます。
MongoDB Agent はLDAPを使用した MongoDB インスタンスへの認証をサポートしています。
注意
オートメーションを使用すると、Cloud Manager が MongoDB Agent 認証を管理します。 認証の詳細については、 「 Cloud Manager プロジェクトでの LDAP 認証の有効化 」を参照してください。
前提条件
認証を使用するように配置を構成する
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" } ] } )
この関数に必要なロールについては、「モニタリング設定 」を参照してください。