Docs Menu
Docs Home
/
MongoDB Atlas
/ / /

OneLogin VLDAP によるユーザー認証と承認の構成

項目一覧

  • 制限
  • 必要なアクセス権
  • 手順
  • LDAP 認証のための OneLogin の構成
  • LDAP 認証のための Atlas の構成
  • LDAP 認証のための OneLogin の構成
  • LDAP 認証のための Atlas の構成
  • を使用してクラスターに接続する mongosh
  • Atlasで、プロジェクトのGo Clusters{0 ページに します。
  • Atlas に追加したユーザー認証情報を使用してクラスターに接続します。
  • クラスターに接続した後、コマンドを実行して、割り当てた読み取りまたは書込み特権がユーザーにあることを確認します。
  • LDAP 接続の問題のトラブルシューティング

注意

MongoDB 8.0以降、 LDAP認証と認可は非推奨です。 この機能は利用可能であり、 MongoDB 8のサポート期間中に変更されずに動作し続けます。 LDAPは将来のメジャー リリースで削除される予定です。

詳しくは、「 LDAP 非推奨 」を参照してください。

注意

  • この機能は、 M0無料クラスター、 M2M5クラスターでは使用できません。詳しくは、「 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アクセス権が必要です。

次の手順では、Atlas での認証用に OneLogin を構成します。

1
  1. OneLogin LDAP サービスの設定の詳細については、 OneLogin ドキュメントを参照してください。

    重要

    アカウントで VLDAP サービスを有効にするには、OneLogin サポートに連絡する必要がある場合があります。

  2. <onelogin-instance-id>に注目してください。 これは、構成プロセス中に複数の場所で指定する必要があります。

    インスタンス名は、OneLogin アカウントにサインインするために使用する URL に記載されています。

    https://<onelogin-instance-id>.onelogin.com
2

OneLogin で、 Authenticationをクリックし、 VLDAPをクリックします。 以下をAllow access by IP addressフィールドに追加して、IP アクセス リストに追加します。

  1. Atlas クラスター内の各ノードの IP アドレス。 Atlas が生成するホスト名を使用して、 nslookupを使用してクラスター内の各ホストの IP アドレスを取得します。

    nslookup cluster0-shard-00-00-example.mongodb.net

    注意

    いずれかのノードの IP アドレスが 変更された 場合は、新しい IP アドレスで IP アクセス リストを更新する 必要があります。

  2. 任意LDAP 接続の問題をトラブルシューティングするためにldapsearchコマンドを実行できるマシンの IP アドレス。

3
  1. 新しいOneLoginユーザーを作成する Atlas バインド ユーザーとして を使用する。バインド ユーザーは 、Atlas データベースに接続するときにアカウントをクエリし、データベース ユーザーの認証情報を認証するために使用する OneLogin ユーザーです。

    バインド ユーザーを作成する際には、 Emailフィールドと フィールドが必要です。Usernameこれらのフィールドの両方に同じメールアドレスを入力する必要があります。

    重要

    バインド ユーザーには自分のユーザー アカウントは使用 しない でください。

  2. 次のテンプレートを使用して、バインド ユーザーの完全な 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
4

OneLogin で、バインド ユーザーにManage usersManage group 、またはSuper user権限を割り当てます。

注意

バインド ユーザーにManage group特権を付与する場合は、グループを選択する必要があります。 Atlas は、このグループに属するLDAPユーザーのみを認証および認可できます。

  1. [OneLogin ユーザー] ページに移動します。

  2. バインド ユーザーをクリックします。

  3. [Add Privilege] をクリックします。

  4. ユーザーに付与する権限を選択し、 [ Continue ] をクリックします。

  5. [Save User] をクリックします。

5

まだ設定していない場合は、OneLogin でバインド ユーザーのパスワードを設定します。

  1. [More Actions をクリックし、[Change Password] をクリックします。

  2. パスワードを入力し、[ Updateをクリックします。

6

ユーザがまだ存在しない場合は、OneLogin 内でデータベースへのアクセスを許可するユーザーを作成します。

  1. OneLogin ユーザー ページに移動します。

  2. [New User] をクリックします。

  3. ユーザーの詳細を入力します。

    EmailUsernameデータベースユーザーを作成する際には、 フィールドと フィールドが必要です。これらのフィールドの両方に同じメールアドレスを入力します。

    注意

    プラス記号を含むメールアドレスの入力は避けてください( + )。 Atlas LDAP統合では、プラス記号を含むメールアドレスで問題が発生する可能性があります。

  4. [Save User] をクリックします。

7

まだ設定していない場合は、OneLogin で各データベース ユーザーのパスワードを設定します。

  1. OneLogin ユーザー ページに移動します。

  2. パスワードを設定するユーザーをクリックします。

  3. [More Actions をクリックし、[Change Password] をクリックします。

  4. パスワードを入力し、[ Updateをクリックします。

次の手順により、Atlas は OneLogin LDAPからデータベースユーザーを認証できるようになります。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のAdvancedをクリックします。

    詳細ページが表示されます。

2

注意

この機能を有効にすると、追加コストが発生する可能性があります。 「高度なセキュリティ 」を参照してください。

3

複数のサーバーをカンマで区切って一覧表示できます。 異なるポートは使用できません。

4

次の例のようなユーザーと DN のマッピングを追加して、クライアントが Atlas データベースに接続するときに完全な DN の代わりにメールアドレスを提供できるようにします。

[
{
"match": "(.+)",
"substitution": "cn={0},ou=users,dc=<onelogin_instance_id>,dc=onelogin,dc=com"
}
]
5

自己署名証明書を提供できます。

6

Atlas が変更を配置するまで待ちます。 Atlas は、提供した構成の詳細を使用して、クラスターが LDAP サーバーに接続、認証、クエリを実行できることを確認します。

7
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のDatabase Accessをクリックします。

    [データベース アクセス ]ページが表示されます。

8

注意

LDAP 認可を有効にする場合は、この手順をスキップします。

OneLogin LDAPで管理されているユーザーを Atlas に追加します。

  1. Add New Database User をクリックします。

  2. [LDAP User] をクリックします。

  3. 次のいずれかを実行します。

    1. 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
    2. User to DN Mappingを入力した場合は、マッピングに必要なユーザー名またはメールアドレスを入力します。

  4. ユーザーに付与するデータベースアクセスレベルを選択します。

  5. [Add User] をクリックします。

注意

LDAP 認可を有効にしない場合は、 このセクションをスキップし ます。

次の手順では、OneLogin LDAPデータベース アクセス グループに属するユーザーを認可するように Atlas を構成します。

重要

  • 承認を有効にする前に、 LDAP による認証を有効にする必要があります。

  • LDAP 承認を有効にして構成すると、LDAP 認証のみで構成されているデータベース ユーザーはデータベースにアクセスできなくなります。

1

Atlas LDAP 認証では、 LDAP グループを使用して、ユーザーにデータベース アクションの実行が許可されているかどうかを判断します。

ユーザーに付与するアクセス レベルごとに、個別の OneLogin グループを作成します。 たとえば、1 つのデータベースへの読み取りアクセス用に 1 つのグループを作成し、読み取りおよび書込みアクセス用のグループを作成するなどします。

  1. OneLogin グループ ページに移動します。

  2. [New Group] をクリックします。

  3. グループ名を入力します(例: db-read

  4. [Save] をクリックします。

2

各ユーザーが必要とするアクセスのレベルに基づいて、ユーザーをグループに割り当てます。

  1. [OneLogin ユーザー] ページに移動します。

  2. グループに追加するユーザーをクリックします。

  3. [Authentication] タブをクリックします。

  4. ユーザーを追加するグループを選択します。

  5. [Save User] をクリックします。

注意

LDAP 認可を有効にしない場合は、 このセクションをスキップし ます。

次の手順では、OneLogin データベース アクセス グループを Atlas に追加し、Atlas でデータベースユーザーの認証を有効にします。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のDatabase Accessをクリックします。

    [データベース アクセス ]ページが表示されます。

2

作成した各 OneLogin データベース グループを Atlas に追加します。 追加したグループのノードには、グループに付与されたデータベースアクションを実行する権限が付与されます。

  1. Add New Database User をクリックします。

  1. [ 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
  1. このグループ内のユーザーに付与するデータベース アクセス レベルを選択します。

  2. [Add User] をクリックします。

3
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のAdvancedをクリックします。

    詳細ページが表示されます。

4
5
6

ユーザーがアクションを実行しようとすると、Atlas はLDAP クエリ テンプレートを実行して、認証されたユーザーが属する LDAP グループを取得します。 Atlas では、アクションの実行が許可されているグループが少なくとも 1 つクエリで返される場合、アクションは許可されます。 クエリがアクションを実行する権限を持つグループを返さない場合、Atlas ではアクションは許可されません。

Atlas はクエリを実行するときに、 {USER}プレースホルダー内の認証されたユーザー名を置き換えます。 クエリは、 Server Hostnameで指定されたホストに対して相対的です。

クエリの形式は RFC4515 に準拠する必要があります。 RFC 。4516

次のQuery Templateを入力します。

{USER}?memberOf?base

注意

他のクエリ テンプレートも機能する場合があります。

7

Atlas が変更を配置するまで待ちます。 Atlas は、提供された構成の詳細を使用して、クラスターが LDAP サーバーに接続、認証、クエリを実行できることを確認します。

次の手順では、 LDAP 認証(および有効になっている場合は LDAP 承認)が正しく構成されていることを確認します。

注意

LDAP認証が有効になっている場合、データベースユーザーはクライアントの接続文字列内の次のパラメーターを上書きする必要があります。

  • authSource でなければなりません $external

  • authenticationMechanism でなければなりません PLAIN

1
  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。

  3. まだ表示されていない場合は、サイドバーの [ Clusters ] をクリックします。

    [ Clusters (クラスター) ] ページが表示されます。

2

mongoshを使用してクラスターに接続します。 接続文字列をコピーする方法は、次のとおりです。

  1. [Connect] をクリックします。

  2. [ LDAPをクリックし、 Copyをクリックします。

  3. ユーザー DN とパスワードを含む string を貼り付けて編集します。

注意

ユーザーから DN へのマッピングが有効になっていない場合は、ユーザーの完全な DN を使用してクラスターに接続します。

3

注意

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-dncn=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

注意

他のクエリ テンプレートも機能する場合があります。

戻る

Okta