目次
Overview
Requirements
Setup procedure
Setting up MongoDB with LDAP authentication using Centrify
Setting up MongoDB with Kerberos authentication using Centrify
Summary and more information
About Centrify
Video tutorials
ホームページ データベース mysql チュートリアル MongoDB LDAP and Kerberos Authentication with Cent

MongoDB LDAP and Kerberos Authentication with Cent

Jun 07, 2016 pm 04:40 PM
and auth kerberos ldap mongodb

By Alex Komyagin at MongoDB with the help of Felderi Santiago at Centrify and Robertson Pimentel at Centrify Overview Centrify provides unified identity management solutions that result in single sign-on (SSO) for users and a simplified id

By Alex Komyagin at MongoDB with the help of Felderi Santiago at Centrify and Robertson Pimentel at Centrify

Overview

Centrify provides unified identity management solutions that result in single sign-on (SSO) for users and a simplified identity infrastructure for IT. Centrify’s Server Suite integrates Linux systems into Active Directory domains to enable centralized authentication, access control, privilege user management and auditing access for compliance needs.

Since version 2.4, MongoDB Enterprise allows authentication with Microsoft Active Directory Services using LDAP and Kerberos protocols. On Linux systems it is now possible to leverage Centrify’s Server Suite solution for integrating MongoDB with Active Directory.

The use of Centrify’s Active Directory integration with MongoDB greatly simplifies setup process and allows MongoDB to seamlessly integrate into the most complex Active Directory environments found at enterprise customer sites with hundreds or thousands of employees.

Requirements

  • Existing Active Directory domain
  • MongoDB Enterprise 2.4 or greater
  • Centrify Suite

All further MongoDB commands in this paper are given for the current latest stable release, MongoDB 2.6.5. The Linux OS used is RHEL6.4. The Centrify Server Suite version is 2014.1.

Setup procedure

Preparing a new MongoDB Linux server

In existing Enterprise environments that are already using Centrify and MongoDB there are usually specific guidelines on setting up Linux systems. Here we will cover the most basic steps needed, that can be used as a quick reference:

1. Configure hostname and DNS resolution

For Centrify and MongoDB to function properly you must set a hostname on the system and make sure it’s configured to use the proper Active Directory-aware DNS server instance IP address. You can update the hostname using commands that resemble the following:

<b>$ nano /etc/sysconfig/network</b>
HOSTNAME=lin-client.mongotest.com
<b>$ reboot</b>
<b>$ hostname -f</b>
lin-client.mongotest.com
ログイン後にコピー

Next, verify the DNS settings and add additional servers, if needed:

<b>$ nano /etc/resolv.conf</b>
search mongotest.com
nameserver 10.10.42.250
ログイン後にコピー

2. Install MongoDB Enterprise

The installation process is well outlined in our Documentation. It’s recommended to turn SELinux off for this exercise:

<b>$ nano /etc/selinux/config</b>
SELINUX=disabled
ログイン後にコピー

Since MongoDB grants user privileges through role-based authorization, there should be an LDAP and a Kerberos user created in mongodb:

<b>$ service mongod start
$ mongo
> db.getSiblingDB("$external").createUser(
    {
      user : "alex",
      roles: [ { role: "root" , db : "admin"} ]
    }
)
> db.getSiblingDB("$external").createUser(
   {
     user: "alex@MONGOTEST.COM",
     roles: [ { role: "root", db: "admin" } ]
   }
)</b>
ログイン後にコピー

“alex” is a user listed in AD and who is a member of the “Domain Users” group and has “support” set as its Organizational Unit.

3. Install Centrify agent

Unpack the Centrify suite archive and install the centrify-dc package. Then join the server to your domain as a workstation:

<b>$ rpm -ihv centrifydc-5.2.0-rhel3-x86_64.rpm</b>
<b>$ adjoin -V -w -u ldap_admin mongotest.com</b>
ldap_admin@MONGOTEST.COM's password:
ログイン後にコピー

Here “ldap_admin” is user who is a member of the “Domain Admins” group in AD.

Setting up MongoDB with LDAP authentication using Centrify

Centrify agent manages all communications with Active Directory, and MongoDB can use the Centrify PAM module to authenticate LDAP users.

1. Configure saslauthd, which is used by MongoDB as an interface between the database and the Linux PAM system.

a. Verify that “MECH=pam” is set in /etc/sysconfig/saslauthd:

<b>$ grep ^MECH /etc/sysconfig/saslauthd</b>
MECH=pam
ログイン後にコピー

b. Turn on the saslauthd service and ensure it is started upon reboot:

<b>$ service saslauthd start</b>
Starting saslauthd:                                     [  OK  ]
<b>$ chkconfig saslauthd on</b>
<b>$ chkconfig --list saslauthd</b>
saslauthd  0:off   1:off   2:on    3:on 4:on    5:on    6:off
ログイン後にコピー

2. Configure PAM to recognize the mongodb service by creating an appropriate PAM service file. We will use the sshd service file as a template, since it should’ve already been preconfigured to work with Centrify:

<b>$ cp -v /etc/pam.d/{sshd,mongodb}</b>
`/etc/pam.d/sshd' -> `/etc/pam.d/mongodb'
ログイン後にコピー

3. Start MongoDB with LDAP authentication enabled, by adjusting the config file:

<b>$ nano /etc/mongod.conf</b>
auth=true
setParameter=saslauthdPath=/var/run/saslauthd/mux
setParameter=authenticationMechanisms=PLAIN
<b>$ service mongod restart</b>
ログイン後にコピー

4. Try to authenticate as the user “alex” in MongoDB:

<b>$ mongo
> db.getSiblingDB("$external").auth(
   {
     mechanism: "PLAIN",
     user: "alex",
     pwd:  "xxx",
     digestPassword: false
   }
)</b>
1
<b>></b>
ログイン後にコピー

Returning a value of “1” means the authentication was successful.

Setting up MongoDB with Kerberos authentication using Centrify

Centrify agent automatically updates system Kerberos configuration (the /etc/krb5.conf file), so no manual configuration is necessary. Additionally, Centrify provides means to create Active Directory service user, service principal name and keyfile directly from the Linux server, thus making automation easier.

1. Create the “lin-client-svc” user in Active Directory with SPN and UPN for the server, and export its keytab to the “mongod_lin.keytab” file:

<b>$ adkeytab -n -P mongodb/lin-client.mongotest.com@MONGOTEST.COM -U mongodb/lin-client.mongotest.com@MONGOTEST.COM -K /home/ec2-user/mongod_lin.keytab -c "OU=support" -V --user ldap_admin lin-client-svc</b>
ldap_admin@MONGOTEST.COM's password:
<b>$ adquery user lin-client-svc -PS</b>
userPrincipalName:mongodb/lin-client.mongotest.com@MONGOTEST.COM
servicePrincipalName:mongodb/lin-client.mongotest.com
ログイン後にコピー

Again, the “ldap_admin” is user who is a member of the “Domain Admins” group in AD. An OU “support” will be used to create the “lin-client-svc” service user.

2. Start MongoDB with Kerberos authentication enabled, by adjusting the config file. You also need to make sure that mongod listens on the interface associated with the FQDN. For this exercise, you can just configure mongod to listen on all interfaces:

<b>$ nano /etc/mongod.conf</b>
# Listen to local interface only. Comment out to listen on all interfaces.
#bind_ip=127.0.0.1
auth=true
setParameter=authenticationMechanisms=GSSAPI
<b>$ service mongod stop</b>
<b>$ env KRB5_KTNAME=/home/ec2-user/mongod_lin.keytab mongod -f /etc/mongod.conf</b>
ログイン後にコピー

3. Try to authenticate as the user “alex@MONGOTEST.COM” in MongoDB:

<b>$ kinit alex@MONGOTEST.COM</b>
Password for alex@MONGOTEST.COM:
<b>$ mongo --host lin-client.mongotest.com
> db.getSiblingDB("$external").auth(
   {
     mechanism: "GSSAPI",
     user: "alex@MONGOTEST.COM",
   }
)</b>
1
<b>></b>
ログイン後にコピー

The return value of “1” indicates success.

Summary and more information

MongoDB supports different options for authentication, including Kerberos and LDAP external authentication. With MongoDB and Centrify integration, it is now possible to speed up enterprise deployments of MongoDB into your existing security and Active Directory infrastructure and ensure quick day-one productivity without expending days and weeks of labor dealing with open-source tools.

About Centrify

Centrify is a leading provider of unified identity management solutions that result in single sign-on (SSO) for users and a simplified identity infrastructure for IT. Centrify’s Server Suite software integrates Linux systems into Active Directory domains to enable centralized authentication, access control, privilege user management and auditing access for compliance needs. Over the last 10 years, more than 5,000 customers around the world, including nearly half of the Fortune 50, have deployed and trusted Centrify solutions across millions of servers, workstations, and applications, and have regularly reduced their identity management and compliance costs by 50% or more.

Video tutorials

Video on how to use Centrify to integrate MongoDB with Active Directory:

Video on how to enforce PAM access rights as an additional security layer for MongoDB with Centrify:

Centrify Community post and videos showcasing Active Directory integration for MongoDB: http://community.centrify.com/t5/Standard-Edition-DirectControl/MongoDB-AD-Integration-made-easy-with-Centrify/td-p/18779

MongoDB security documentation is available here: http://docs.mongodb.org/manual/security/ MongoDB user and role management tutorials: http://docs.mongodb.org/manual/administration/security-user-role-management/

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

作曲家を使用して、推奨システムのジレンマを解決する:Andres-Montanez/推奨 作曲家を使用して、推奨システムのジレンマを解決する:Andres-Montanez/推奨 Apr 18, 2025 am 11:48 AM

eコマースのWebサイトを開発するとき、私は困難な問題に遭遇しました。ユーザーにパーソナライズされた製品の推奨事項を提供する方法です。当初、私はいくつかの簡単な推奨アルゴリズムを試しましたが、結果は理想的ではなく、ユーザーの満足度も影響を受けました。推奨システムの精度と効率を改善するために、より専門的なソリューションを採用することにしました。最後に、Andres-Montanez/Adcumentations Bundleを介してAndres-Montanez/Bundleをインストールしました。これは、問題を解決しただけでなく、推奨システムのパフォーマンスを大幅に改善しました。次の住所から作曲家を学ぶことができます。

MongoDBデータベースパスワードを表示するNAVICATの方法 MongoDBデータベースパスワードを表示するNAVICATの方法 Apr 08, 2025 pm 09:39 PM

Hash値として保存されているため、Navicatを介してMongoDBパスワードを直接表示することは不可能です。紛失したパスワードを取得する方法:1。パスワードのリセット。 2。構成ファイルを確認します(ハッシュ値が含まれる場合があります)。 3.コードを確認します(パスワードをハードコードできます)。

CentosでGitLabのデータベースを選択する方法 CentosでGitLabのデータベースを選択する方法 Apr 14, 2025 pm 04:48 PM

gitlabデータベース展開ガイドcentosシステム適切なデータベースの選択は、gitlabを正常に展開するための重要なステップです。 GitLabは、MySQL、PostgreSQL、MongoDBなど、さまざまなデータベースと互換性があります。この記事では、これらのデータベースを選択して構成する方法を詳細に説明します。データベース選択の推奨MYSQL:広く使用されているリレーショナルデータベース管理システム(RDBMS)。安定したパフォーマンスを備えており、ほとんどのGitLab展開シナリオに適しています。 POSTGRESQL:強力なオープンソースRDBMSは、大規模なデータセットの処理に適した複雑なクエリと高度な機能をサポートしています。 Mongodb:人気のNoSQLデータベース、海の扱いが上手です

Centos Mongodbバックアップ戦略とは何ですか? Centos Mongodbバックアップ戦略とは何ですか? Apr 14, 2025 pm 04:51 PM

MongoDB効率的なバックアップ戦略の詳細な説明CENTOSシステムでは、この記事では、データセキュリティとビジネスの継続性を確保するために、CENTOSシステムにMongoDBバックアップを実装するためのさまざまな戦略を詳細に紹介します。 Dockerコンテナ環境でのマニュアルバックアップ、タイミング付きバックアップ、自動スクリプトバックアップ、バックアップメソッドをカバーし、バックアップファイル管理のベストプラクティスを提供します。マニュアルバックアップ:MongoDumpコマンドを使用して、マニュアルフルバックアップを実行します。たとえば、Mongodump-Hlocalhost:27017-U Username-P Password-Dデータベース名-O/バックアップディレクトリこのコマンドは、指定されたデータベースのデータとメタデータを指定されたバックアップディレクトリにエクスポートします。

MongoDBおよびリレーショナルデータベース:包括的な比較 MongoDBおよびリレーショナルデータベース:包括的な比較 Apr 08, 2025 pm 06:30 PM

MongoDBおよびリレーショナルデータベース:詳細な比較この記事では、NOSQLデータベースMongoDBと従来のリレーショナルデータベース(MySQLやSQLServerなど)の違いを詳細に調べます。リレーショナルデータベースは、行と列のテーブル構造を使用してデータを整理しますが、MongoDBは柔軟なドキュメント指向モデルを使用して、最新のアプリケーションのニーズをより適切に適しています。主にデータ構造を区別します。リレーショナルデータベースは、事前定義されたスキーマテーブルを使用してデータを保存し、テーブル間の関係は一次キーと外部キーを通じて確立されます。 MongoDBはJSONのようなBSONドキュメントを使用してコレクションに保存します。各ドキュメント構造は、パターンのないデザインを実現するために独立して変更できます。アーキテクチャデザイン:リレーショナルデータベースは、事前に定義された固定スキーマが必要です。 Mongodbサポート

Mongodbでユーザーをセットアップする方法 Mongodbでユーザーをセットアップする方法 Apr 12, 2025 am 08:51 AM

MongoDBユーザーを設定するには、次の手順に従ってください。1。サーバーに接続し、管理者ユーザーを作成します。 2。ユーザーアクセスを許可するデータベースを作成します。 3. CreateUserコマンドを使用してユーザーを作成し、その役割とデータベースアクセス権を指定します。 4. Getusersコマンドを使用して、作成されたユーザーを確認します。 5.オプションで、特定のコレクションに他のアクセス許可または付与ユーザーの権限を設定します。

Debian Mongodbでデータを暗号化する方法 Debian Mongodbでデータを暗号化する方法 Apr 12, 2025 pm 08:03 PM

DebianシステムでMongoDBデータベースを暗号化するには、次の手順に従う必要があります。ステップ1:MongoDBのインストール最初に、DebianシステムがMongoDBをインストールしていることを確認してください。そうでない場合は、インストールについては公式のMongoDBドキュメントを参照してください:https://docs.mongodb.com/manual/tutorial/install-mongodb-onedbian/-step 2:暗号化キーファイルを作成し、暗号化キーを含むファイルを作成し、正しい許可を設定します。

Mongodbに接続するためのツールは何ですか Mongodbに接続するためのツールは何ですか Apr 12, 2025 am 06:51 AM

Mongodbに接続するための主なツールは次のとおりです。1。Mongodbシェル、迅速な表示と簡単な操作の実行に適しています。 2。プログラミング言語ドライバー(Pymongo、Mongodb Javaドライバー、Mongodb node.jsドライバーなど)、アプリケーション開発に適していますが、使用方法をマスターする必要があります。 3。GUIツール(Robo 3T、Compassなど)は、初心者と迅速なデータ表示のためのグラフィカルインターフェイスを提供します。ツールを選択するときは、アプリケーションのシナリオとテクノロジースタックを検討し、接続プールやインデックスの使用などの接続文字列の構成、許可管理、パフォーマンスの最適化に注意する必要があります。

See all articles