OneLogin VLDAP によるユーザー認証と承認の構成
項目一覧
注意
MongoDB 8.0以降、 LDAP認証と認可は非推奨です。 この機能は利用可能であり、 MongoDB 8のサポート期間中に変更されずに動作し続けます。 LDAPは将来のメジャー リリースで削除される予定です。
詳しくは、「 LDAP 非推奨 」を参照してください。
注意
この機能は、
M0
無料クラスター、M2
、M5
クラスターでは使用できません。詳しくは、「 Atlas M 0 (無料クラスター)、M 2 、M 5の制限 を参照してください。この機能は現時点では、サーバーレスインスタンスではサポートされていません。詳細については、「サーバーレスインスタンスの制限」を参照してください。
このガイドでは、Atlas が OneLogin からデータベースユーザー(Atlas ユーザーではない)の認証と認可を有効にする方法を説明します。 、サードパーティの LDAP プロバイダー。
LDAP 認証のみを有効にすることも、LDAP 認証と承認の両方を有効にすることもできます。
LDAP認証のみを有効にする場合は、Atlas に個々のユーザーを追加し、追加する各ユーザーにデータベース アクセス特権を割り当てます。
LDAP認証と認可を有効にする場合は、Atlas にユーザー グループを追加し、各グループにデータベース アクセス特権を割り当てます。 ユーザーは、属するLDAPグループからデータベース アクセス特権を継承します。
Atlas は、以下からのデータベースユーザーの認証と承認をサポートしています OneLoginです。
制限
LDAP統合を有効にするには、
M10
以上の Atlas クラスターを配置する必要があります。 LDAP統合は Atlas Enterprise の機能です。Atlas は、既存の LDAP ディレクトリから同期されたユーザーの認証と認可をサポートしていません。
Atlas では、データベース ユーザーシングル サインオン統合をサポートしていません。 Atlas 管理ウェブ インターフェイスのシングルサインオン統合の詳細については、「フェデレーション認証の構成 」を参照してください。
必要なアクセス権
LDAPユーザーまたはグループを管理するには、Atlas に対するOrganization Owner
またはProject Owner
アクセス権が必要です。
手順
LDAP 認証のための OneLogin の構成
次の手順では、Atlas での認証用に OneLogin を構成します。
OneLogin LDAP サービスを設定します。
OneLogin LDAP サービスの設定の詳細については、 OneLogin ドキュメントを参照してください。
重要
アカウントで VLDAP サービスを有効にするには、OneLogin サポートに連絡する必要がある場合があります。
<onelogin-instance-id>
に注目してください。 これは、構成プロセス中に複数の場所で指定する必要があります。インスタンス名は、OneLogin アカウントにサインインするために使用する URL に記載されています。
https://<onelogin-instance-id>.onelogin.com
IP アドレスを IP アクセス リストに追加します。
OneLogin で、 Authenticationをクリックし、 VLDAPをクリックします。 以下をAllow access by IP addressフィールドに追加して、IP アクセス リストに追加します。
Atlas クラスター内の各ノードの IP アドレス。 Atlas が生成するホスト名を使用して、
nslookup
を使用してクラスター内の各ホストの IP アドレスを取得します。nslookup cluster0-shard-00-00-example.mongodb.net 注意
いずれかのノードの IP アドレスが 変更された 場合は、新しい IP アドレスで IP アクセス リストを更新する 必要があります。
(任意) LDAP 接続の問題をトラブルシューティングするために
ldapsearch
コマンドを実行できるマシンの IP アドレス。
バインド ユーザーを作成します。
新しいOneLoginユーザーを作成する Atlas バインド ユーザーとして を使用する。バインド ユーザーは 、Atlas データベースに接続するときにアカウントをクエリし、データベース ユーザーの認証情報を認証するために使用する OneLogin ユーザーです。
バインド ユーザーを作成する際には、 Emailフィールドと フィールドが必要です。Usernameこれらのフィールドの両方に同じメールアドレスを入力する必要があります。
重要
バインド ユーザーには自分のユーザー アカウントは使用 しない でください。
次のテンプレートを使用して、バインド ユーザーの完全な DN(Distinguished Name、識別名)を決定します。
cn=<bind-user-email>,ou=users,dc=<onelogin-instance-id>,dc=onelogin,dc=com たとえば、
<bind-user-email>
がbind@example.com
で、<onelogin-instance-id>
がmdb-example
の場合、バインドユーザーの DN は次のようになります。cn=bind@example.com,ou=users,dc=mdb-example,dc=onelogin,dc=com
バインド ユーザーに特権を割り当てます。
OneLogin で、バインド ユーザーにManage users
、 Manage group
、またはSuper user
権限を割り当てます。
注意
バインド ユーザーにManage group
特権を付与する場合は、グループを選択する必要があります。 Atlas は、このグループに属するLDAPユーザーのみを認証および認可できます。
[OneLogin ユーザー] ページに移動します。
バインド ユーザーをクリックします。
[Add Privilege] をクリックします。
ユーザーに付与する権限を選択し、 [ Continue ] をクリックします。
[Save User] をクリックします。
OneLogin でデータベースユーザーを作成します。
ユーザがまだ存在しない場合は、OneLogin 内でデータベースへのアクセスを許可するユーザーを作成します。
OneLogin ユーザー ページに移動します。
[New User] をクリックします。
ユーザーの詳細を入力します。
EmailUsernameデータベースユーザーを作成する際には、 フィールドと フィールドが必要です。これらのフィールドの両方に同じメールアドレスを入力します。
注意
プラス記号を含むメールアドレスの入力は避けてください(
+
)。 Atlas LDAP統合では、プラス記号を含むメールアドレスで問題が発生する可能性があります。[Save User] をクリックします。
LDAP 認証のための Atlas の構成
次の手順により、Atlas は OneLogin LDAPからデータベースユーザーを認証できるようになります。
AtlasAdvanced で、プロジェクトの ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のAdvancedをクリックします。
詳細ページが表示されます。
の横にあるボタンをLDAP Authentication Onに切り替えます。
注意
この機能を有効にすると、追加コストが発生する可能性があります。 「高度なセキュリティ 」を参照してください。
[ ] パネルに、すべてのConfigure Your LDAP Server LDAP サーバーのサーバー詳細とバインド認証情報を入力します。
複数のサーバーをカンマで区切って一覧表示できます。 異なるポートは使用できません。
AtlasDatabase Access で、プロジェクトの ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase Accessをクリックします。
[データベース アクセス ]ページが表示されます。
Atlas への LDAP ユーザーの追加
注意
LDAP 認可を有効にする場合は、この手順をスキップします。
OneLogin LDAPで管理されているユーザーを Atlas に追加します。
Add New Database User をクリックします。
[LDAP User] をクリックします。
次のいずれかを実行します。
User to DN Mappingを入力していない場合は、 LDAPユーザーの完全な DN を入力します。 このテンプレートに従います。
cn=<user-name>,ou=users,dc=<onelogin-instance-id>,dc=onelogin,dc=com たとえば、
<user-name>
がjane@example.com
で、<onelogin-instance-id>
がmdb-example
の場合、バインドユーザーの DN は次のようになります。cn=jane@example.com,ou=users,dc=mdb-example,dc=onelogin,dc=com User to DN Mappingを入力した場合は、マッピングに必要なユーザー名またはメールアドレスを入力します。
ユーザーに付与するデータベースアクセスレベルを選択します。
[Add User] をクリックします。
LDAP 認証のための OneLogin の構成
注意
LDAP 認可を有効にしない場合は、 このセクションをスキップし ます。
次の手順では、OneLogin LDAPデータベース アクセス グループに属するユーザーを認可するように Atlas を構成します。
重要
承認を有効にする前に、 LDAP による認証を有効にする必要があります。
LDAP 承認を有効にして構成すると、LDAP 認証のみで構成されているデータベース ユーザーはデータベースにアクセスできなくなります。
OneLogin データベース アクセス グループを作成します。
Atlas LDAP 認証では、 LDAP グループを使用して、ユーザーにデータベース アクションの実行が許可されているかどうかを判断します。
ユーザーに付与するアクセス レベルごとに、個別の OneLogin グループを作成します。 たとえば、1 つのデータベースへの読み取りアクセス用に 1 つのグループを作成し、読み取りおよび書込みアクセス用のグループを作成するなどします。
OneLogin グループ ページに移動します。
[New Group] をクリックします。
グループ名を入力します(例:
db-read
。[Save] をクリックします。
LDAP 認証のための Atlas の構成
注意
LDAP 認可を有効にしない場合は、 このセクションをスキップし ます。
次の手順では、OneLogin データベース アクセス グループを Atlas に追加し、Atlas でデータベースユーザーの認証を有効にします。
AtlasDatabase Access で、プロジェクトの ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase Accessをクリックします。
[データベース アクセス ]ページが表示されます。
データベースアクセス LDAP グループを Atlas に追加します。
作成した各 OneLogin データベース グループを Atlas に追加します。 追加したグループのノードには、グループに付与されたデータベースアクションを実行する権限が付与されます。
Add New Database User をクリックします。
[ LDAP Groupをクリックし、 User to DN Mappingを有効にした場合でも、データベースユーザーを含むグループの完全な DN を入力します。 このテンプレートに従います。
cn=<group-name>,ou=groups,dc=<onelogin-instance-id>,dc=onelogin,dc=com たとえば、
<group-name>
がdb-read
で、<onelogin-instance-id>
がmdb-example
の場合、バインドユーザーの DN は次のようになります。cn=db-read,ou=groups,dc=mdb-example,dc=onelogin,dc=com
このグループ内のユーザーに付与するデータベース アクセス レベルを選択します。
[Add User] をクリックします。
AtlasAdvanced で、プロジェクトの ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のAdvancedをクリックします。
詳細ページが表示されます。
にクエリQuery Template テンプレートを入力します。
ユーザーがアクションを実行しようとすると、Atlas はLDAP クエリ テンプレートを実行して、認証されたユーザーが属する LDAP グループを取得します。 Atlas では、アクションの実行が許可されているグループが少なくとも 1 つクエリで返される場合、アクションは許可されます。 クエリがアクションを実行する権限を持つグループを返さない場合、Atlas ではアクションは許可されません。
Atlas はクエリを実行するときに、 {USER}
プレースホルダー内の認証されたユーザー名を置き換えます。 クエリは、 Server Hostnameで指定されたホストに対して相対的です。
クエリの形式は RFC4515 に準拠する必要があります。 RFC 。4516
次のQuery Templateを入力します。
{USER}?memberOf?base
注意
他のクエリ テンプレートも機能する場合があります。
を使用してクラスターに接続する mongosh
次の手順では、 LDAP 認証(および有効になっている場合は LDAP 承認)が正しく構成されていることを確認します。
注意
LDAP認証が有効になっている場合、データベースユーザーはクライアントの接続文字列内の次のパラメーターを上書きする必要があります。
authSource
でなければなりません$external
authenticationMechanism
でなければなりませんPLAIN
AtlasClusters で、プロジェクトの ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [ Clusters ] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
Atlas に追加したユーザー認証情報を使用してクラスターに接続します。
mongosh
を使用してクラスターに接続します。 接続文字列をコピーする方法は、次のとおりです。
[Connect] をクリックします。
[ LDAPをクリックし、 Copyをクリックします。
ユーザー DN とパスワードを含む string を貼り付けて編集します。
注意
ユーザーから DN へのマッピングが有効になっていない場合は、ユーザーの完全な DN を使用してクラスターに接続します。
LDAP 接続の問題のトラブルシューティング
注意
OneLogin 接続の問題をトラブルシューティングする前に、 ldapsearch
を実行しているホストを IP アクセス リストに追加してください。
ldapsearch
を使用して、Atlas を構成したクエリ テンプレートが期待どおりにユーザー DN を返すかどうかを判断します。LDAP 認証が機能しても LDAP 承認が機能しない場合、クエリ テンプレートが正しいユーザー DN を返さない可能性があります。
次のldapsearch
テンプレートを使用します。
ldapsearch -H 'ldaps://ldap.us.onelogin.com:636' -D '<bind_user_dn>' -w '<bind_user_pwd>' -b 'dc=<onelogin_instance_id>,dc=onelogin,dc=com' -s sub
たとえば、 bind-user-dn
がcn=jane@example.com,ou=users,dc=mdb-example,dc=onelogin,dc=com
で、 <onelogin-instance-id>
がmdb-example
の場合は、次のコマンドを使用します。
ldapsearch -H 'ldaps://ldap.us.onelogin.com:636' -D 'cn=jane@example.com,ou=users,dc=mdb-example,dc=onelogin,dc=com' -w '<REDACTED>' -b 'dc=mdb-example,dc=onelogin,dc=com' -s sub
注意
他のクエリ テンプレートも機能する場合があります。