MongoDB Ops ManagerLDAP認証および認可のための ユーザーの構成
Overview
ライトウェイト ディレクトリ アクセス プロトコル(LDAP)サービスを使用すると、次のことが可能になります MongoDB Ops Manager ユーザーの認証と承認を管理します。 ユーザーのログイン MongoDB Ops Managerを通じて、 MongoDB Ops Manager LDAP ディレクトリでユーザーを検索し、 MongoDB Ops Manager ユーザーのユーザーの名前とメールアドレスを同期します LDAP ユーザー レコードの値を持つレコード。
を使用するように構成するには、次のようにしMongoDB Ops ManagerLDAP Go:Admin {0 >General >Ops Manager Config >User Authentication 。
注意
このチュートリアルでは、MongoDB Ops Manager ウェブ インターフェイスのユーザーを認証する方法について説明します。
MongoDB 配置で LDAP も 使用する場合は、 LDAP 用の MongoDB Agent の構成 で説明されているように、MongoDB エージェント用の MongoDB ユーザーを個別に作成する必要があります。
このチュートリアルでは、次の方法について説明します。
MongoDB Ops Manager の LDAP 認証の構成
MongoDB Ops Manager組織ロールとプロジェクト ロールの両方への LDAP グループのマッピング
ユーザー認証
ユーザーがログインしようとすると、MongoDB Ops Manager は LDAP クエリを使用して、一致するユーザーとユーザーのグループを検索します。
MongoDB Ops Manager
search
は、 フィールドと フィールドに指定された認証情報を使用して、 ユーザーとして LDAPLDAP Bind Dn LDAP Bind Passwordにログインします。MongoDB Ops Manager は、 LDAP User Base Dnフィールドに指定された基本識別名で検索し、 LDAP User Search Attributeフィールドに指定された LDAP 属性に従ってユーザーを照合します。
MongoDB Ops Manager は、 LDAP Group Base Dnフィールドに指定された基本識別名で検索し、 LDAP Group Member Attributeフィールドに指定された LDAP 属性に従ってユーザーのグループを照合します。 LDAP Group Base Dnに値が指定されていない場合、MongoDB Ops Manager はLDAP User Base Dnの値を使用して LDAP グループ メンバーシップを検索します。
一致するユーザーが見つかった場合、MongoDB Ops Manager は指定されたパスワードを、指定されたユーザーの LDAP パスワードに対して認証します。
認可/アクセス制御
LDAP グループを使用すると、MongoDB Ops Manager へのアクセスを制御できます。 LDAP グループを組織およびプロジェクトの MongoDB Ops Manager ロールに関連付け、それらのロールを持つ必要があるユーザーに LDAP グループを割り当てます。
LDAP エントリは、次のように MongoDB Ops Manager レコードにマップされます。
LDAP | Ops Manager |
---|---|
user | user |
グループ | 組織/プロジェクト ロール |
LDAPグループを効果的に使用するには、開発環境と本番環境用に個別の MongoDB Ops Managerプロジェクトを作成するなど、組織内の特定の配置へのアクセスを制御するために 内にMongoDB Ops Manager 追加のプロジェクト を作成します。次に、 LDAPグループをMongoDB Ops Managerプロジェクトのロールにマッピングして、配置へのアクセスを提供できます。
注意
LDAPグループに加えられた変更がMongoDB Ops Managerで有効になるまでに最大 時間かかる場合があります。 影響を受けるグループのユーザーは、ログアウトして MongoDB Ops Manager に再度ログインすると、変更がすぐに有効になります。
LDAP ユーザーがどの LDAP グループにも属していない場合、MongoDB Ops Manager はロール、組織、またはプロジェクトをユーザーに割り当てません。
LDAP ユーザーにプロジェクト ロールが割り当てられ、組織ロールが割り当てられていない場合、MongoDB Ops Manager は自動的に組織ノード ロールを割り当てます。
独自の請求ニーズ、アラート設定、プロジェクト ノードを持つ複数の部門がある場合は、部門ごとに新しい組織を作成します。
LDAP 経由 SSL
SSL 接続(LDAPS)経由で LDAP を使用する場合は、次のフィールドを入力します。
フィールド | 必要な値 |
---|---|
LDAP SSL CA File | 信頼できる認証局の PEM キー ファイルへのパス。 |
LDAP SSL PEM Key File | クライアント証明書と秘密キーを含む PEM キー ファイルへのパス。 |
LDAP SSL PEM Key File Password | LDAP SSL PEM Key Fileが暗号化されている場合に復号化するためのパスワード。 |
前提条件
LDAP サーバーは次の条件を満たす必要があります。
MongoDB Ops Managerからインストール、構成、アクセス可能であること。
各ユーザーのグループ メンバーシップを各ユーザーの LDAP エントリの属性として埋め込みます。
重要
MongoDB Ops Manager グループ メンバーシップにネストされた LDAP グループを含める場合は、
member
LDAP ユーザー属性を使用します。例、LDAP ユーザー
jsmith
が LDAP グループB
に属し、LDAP グループB
が LDAP グループA
に属している場合、MongoDB Ops Manager はjsmith
をグループA
とB
のメンバーとして認識します。MongoDB Ops Manager ユーザーとグループを含むベースDNを検索できるユーザーを含めます。
MongoDB Ops Manager で LDAP を構成する ときは、このグループをLDAP Global Role Owner フィールドに入力する 必要 があります。
例
管理者が LDAP
admin
に使用する グループがある場合は、MongoDB Ops Manageradmin
LDAP Global Role Ownerフィールドに入力します。LDAP認証を有効にした後、まずこのグループに属するユーザーとしてMongoDB Ops Managerにログインして、初期MongoDB Ops Managerプロジェクト(該当する場合)を作成し、 LDAPグループをプロジェクト ロールと組織ロールにマッピングする必要があります。
重要
MongoDB Ops Manager が LDAP 認証に変換されると、認証方法を変更する グローバル所有者 ロールを持つユーザーのみがログインしたままになります。 他のすべてのユーザーはログアウトされ、LDAP ユーザー名とパスワードを使用して MongoDB Ops Manager にログインし直す必要があります。 LDAP ユーザー名とパスワードを持たないユーザーは、MongoDB Ops Manager にログインできなくなります。
手順
LDAP 認証を構成するには、次の手順に従います。
お好みの LDAP システムでユーザー レコードを定義します。
標準の LDAP オブジェクト クラスと属性タイプの説明については、「 ユーザー アプリケーションの Lightweight Directory Access Protocol スキーマ 」を参照してください。
LDAP 構成設定を入力します。
次の必須 LDAP 構成フィールドに値を入力します。
フィールドアクション例User Authentication Method
LDAP を選択します。
LDAP
LDAP URI
LDAP サーバーのホスト名とポートを入力します。
認証に複数の LDAP サーバーを使用している場合は、各 URI をスペースで区切ります。
重要: MongoDB Ops Manager は、 LDAP URIフィールドにアンダースコア文字(
_
)を含むホスト名をサポートしていません。ldap://ldap.example.com:389
LDAP SSL CA File
LDAPS サーバーで使用される証明書に署名した CA の証明書を含む PEM キー ファイルへのパスを入力します。 この任意 フィールドは、LDAPS サーバーの識別を確認し、中間者攻撃(man-in-the-middle attack)を防ぐために、MongoDB Ops Manager アプリケーションによって使用されます。 この構成が提供されていない場合、 MongoDB Ops ManagerはJavaランタイム環境(JRE)に付属するデフォルトのルート CA 証明書バンドルを使用します。 LDAPS サーバー証明書がルート CA によって検証されない場合(つまり、自己署名の場合)、LDAPS サーバーへのリクエストは失敗します。
/opt/cert/ca.pem
LDAP SSL PEM Key File
クライアント証明書と秘密キーを含む PEM キー ファイルへのパスを入力します。 このフィールドは任意であり、LDAPS サーバーでクライアント アプリケーションによってクライアント証明書を渡す必要がある場合にのみ使用してください。 これは、 MongoDB Ops Managerアプリケーション サーバーから LDAPS サーバーに送信されたリクエストに署名するために使用されます。 これにより、LDAPS サーバーはMongoDB Ops Managerアプリケーション サーバーの識別を確認できるようになります。
/opt/cert/ldap.pem
LDAP SSL PEM Key File Password
LDAP SSL PEM キー ファイルを復号化するためのパスワードを入力します。 [ LDAP SSL PEM キー ファイル ] フィールドで指定されたクライアント証明書が LDAPS サーバーによって必要とされる場合、および LDAP SSL PEM キー ファイルで指定されたクライアント証明書がファイル システムに暗号化されて保存されている場合は、このフィールドが必須です。
<encrypted-password>
LDAP Bind Dn
ユーザーの検索を実行できる LDAP サーバー上で認証済みユーザーを入力します。
cn=admin, dc=example, dc=com
LDAP Bind Password
LDAP サーバー上の Billing DNS ユーザーのパスワードを入力します。
<password>
LDAP User Base Dn
MongoDB Ops Manager が LDAP サーバー上でユーザーを検索するために使用する識別名を入力します。
dc=example, dc=com
LDAP User Search Attribute
ユーザー名を指定する LDAP サーバー内の LDAP フィールドを入力します。
uid
LDAP Group Base Dn
MongoDB Ops Manager が LDAP サーバー上のグループを検索するために使用する識別名を入力します。
ou=othergroups, dc=example, dc=com
LDAP Group Member Attribute
そのグループに属する LDAP ユーザーのリストを指定する LDAP グループ属性を入力します。
member
LDAP User Group
ユーザーが属する LDAP グループを指定する LDAP ユーザー属性を入力します。 LDAP 属性では、コモン ネーム(
cn
)や識別名(dn
)など、任意の形式を使用してグループを一覧表示できます。 グループを指定するすべての MongoDB Ops Manager 設定は、選択した形式と一致する必要があります。memberOf
LDAP Global Role Owner
MongoDB Ops Manager グローバル所有者が属する LDAP グループを入力します。
cn=global-owner, ou=groups, dc=example, dc=com
注意
各グローバル ロール グループは、関連付けられた LDAP グループのメンバーに対して MongoDB Ops Managerグローバル ロール を提供します。 グローバル ロールは、MongoDB Ops Manager 配置内のすべての MongoDB Ops Managerプロジェクトへのアクセス権を提供します。
必要に応じて、次の任意の LDAP 構成フィールドに値を入力します。
重要
各グループに対して、完全修飾識別名を使用する必要があります。 複数の LDAP または SAML グループが同じロールに対応する場合は、2 つのセミコロンで区切ります(
;;
)。 ロールの フィールドからグループを削除して、そのロールに対するグループのアクセスを取り消します。フィールドアクションLDAP User First Name
ユーザーの名を指定する LDAP ユーザーの属性を入力します。
LDAP User Last Name
ユーザーの姓を指定する LDAP ユーザーの属性を入力します。
LDAP User Email
ユーザーのメール アドレスを指定する LDAP ユーザーの属性を入力します。
LDAP Global Role Automation Admin
LDAPMongoDB Ops Managerグローバル オートメーション管理者が属する グループを入力します。このフィールドには、複数の LDAP グループをセミコロンで区切ったものを入力できます(
;;
)。LDAP Global Role Backup Admin
LDAPMongoDB Ops Managerグローバルバックアップ管理者が属する グループを入力します。このフィールドには、複数の LDAP グループをセミコロンで区切ったものを入力できます(
;;
)。LDAP Global Role Monitoring Admin
LDAPMongoDB Ops Managerグローバル モニタリング管理者が属する グループを入力します。このフィールドには、複数の LDAP グループをセミコロンで区切ったものを入力できます(
;;
)。LDAP Global Role User Admin
MongoDB Ops Manager グローバル ユーザー管理者が属する LDAP グループを入力します。 このフィールドには、複数の LDAP グループをセミコロンで区切ったものを入力できます(
;;
)。LDAP Global Role Read Only
MongoDB Ops Manager グローバル読み取り専用ユーザーが属する LDAP グループを入力します。 このフィールドには、複数の LDAP グループをセミコロンで区切ったものを入力できます(
;;
)。
LDAP グループをプロジェクト ロールに関連付けます。
新しいプロジェクトで LDAP グループをロールに関連付けるには次の手順に従います。
注意
新しいプロジェクトを作成するには、任意のグローバル ロールが必要です。
[ Admin > [ General > [ Projects ] をクリックします。
[Create a New Project] をクリックします。
Project Name に、新しいMongoDB Ops Managerプロジェクトの名前を入力します。
各プロジェクト ロールに対応する LDAP グループを入力します。
重要
各グループに対して、完全修飾識別名を使用する必要があります。 複数の LDAP または SAML グループが同じロールに対応する場合は、2 つのセミコロンで区切ります(
;;
)。 ロールの フィールドからグループを削除して、そのロールに対するグループのアクセスを取り消します。[Add Project] をクリックします。
既存のプロジェクトで、LDAP グループとロールの関連付けを更新するには:
[ Admin > [ General > [ Projects ] をクリックします。
プロジェクトのActions列で、次をクリックします[] をクリックし、[ Edit LDAP Settings ] をクリックします。
各プロジェクト ロールに対応する LDAP グループを入力します。
重要
各グループに対して、完全修飾識別名を使用する必要があります。 複数の LDAP または SAML グループが同じロールに対応する場合は、2 つのセミコロンで区切ります(
;;
)。 ロールの フィールドからグループを削除して、そのロールに対するグループのアクセスを取り消します。[Save Changes] をクリックします。
任意: LDAP グループを組織ロールに関連付けます。
LDAP グループを新しい組織のロールに関連付けるには、次の手順に従います。
注意
新しい組織を作成するには、任意のグローバル ロールが必要です。
[ Admin > [ General > [ Organizations ] をクリックします。
[Create a New Organization] をクリックします。
Organization Name に新しいMongoDB Ops Manager組織の名前を入力します。
重要
各グループに対して、完全修飾識別名を使用する必要があります。 複数の LDAP または SAML グループが同じロールに対応する場合は、2 つのセミコロンで区切ります(
;;
)。 ロールの フィールドからグループを削除して、そのロールに対するグループのアクセスを取り消します。[Add Organization] をクリックします。
既存の組織の、LDAP グループとロールの関連付けを更新するには:
[ Admin > [ General > [ Organizations ] をクリックします。
Edit Orgボタンをクリックします。
重要
各グループに対して、完全修飾識別名を使用する必要があります。 複数の LDAP または SAML グループが同じロールに対応する場合は、2 つのセミコロンで区切ります(
;;
)。 ロールの フィールドからグループを削除して、そのロールに対するグループのアクセスを取り消します。[Save Changes] をクリックします。
トラブルシューティング
MongoDB Ops ManagerはJDKでエンドポイントの検出をデフォルトで有効にします。 MongoDB Ops Managerホストには信頼できるサーバー証明書を使用する必要があります。
信頼できる証明書を使用できない場合は、次の手順に従います。
エンドポイント識別を無効にします。
mms.conf
のJAVA_MMS_UI_OPTS
プロパティに-Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true
を追加します。この変更後にすべてのMongoDB Ops Managerサービスを再起動します。
警告
この機能を無効にすると、 MongoDB Ops Managerのセキュリティに影響します。 代わりに、有効で信頼できる証明書を設定する必要があります。