Docs Menu
Docs Home
/
MongoDB Ops Manager
/ /

Kerberos 用の MongoDB Agent の構成

項目一覧

  • 前提条件
  • 手順

MongoDB Enterpriseは Kerberos をサポートしています。 Kerberos は、ネットワーク認証プロトコルです。MongoDB Agent は、Kerberos を実行する MongoDB インスタンスに対して認証できます。

Kerberos チケットは期間限定でユーザーを認証できます。 Kerberos キーディストリビューションセンター(KDC)を構成 する必要があります 4 時間以上有効なチケットを発行します。MongoDB Agent は定期的にチケットを更新します。 KDCサービスは、ユーザーとホストにセッション チケットと一時的なセッションキーを提供します。

MongoDB Agent は、MongoDB ユーザーと同様に、配置内の MongoDB データベースを操作します。 そのため、認証をサポートするように MongoDB 配置と MongoDB Agent を構成する必要があります。

が配置を追加するときに配置の認証メカニズムを指定することも、既存の配置の設定を編集することもできます。 少なくとも、MongoDB Agent が使用する認証メカニズムを配置で有効にする必要があります。 MongoDB Agent は、サポートされている任意の認証メカニズムを使用できます。

このチュートリアルでは、次のことを確認する必要があります。

  • 配置が Kerberos 認証をサポートしている

  • MongoDB Agent は Kerberos 認証を使用します。

Kerberos認証を有効にする方法について は、「 プロジェクトで Kerberos認証を有効にする 」を参照してください。MongoDB Ops Manager

モニタリングまたはバックアップを実行中のホストに、Kerberos 関連のファイルを 2 つインストールする必要があります。

  • krb5 .conf を作成または構成するKerberos 構成ファイル。

    プラットフォーム
    デフォルト パス
    ノート
    Linux
    /etc/krb5.conf
    Windows
    %WINDIR%\krb5.ini
    これは、非アクティブ ディレクトリ ベースの Kerberos 実装のデフォルト パスです。 Kerberos 構成ファイルが保存されている場所を確認するには、Windows のバージョンの Kerberos 実装のドキュメントを参照してください。
  • Linux システムで キー を確保する バイナリは/usr/bin/kinit にあります。kinitは、Kerberos を使用してエージェントを認証する Kerberos チケット発行チケットを取得または更新します。

1

UPNは 2 つの部分に形式設定されるため、Kerberos 邦土全体でサービスを一意に識別できます。

コンポーネント
説明
サービス名
ホストが Kerberos レルムに提供している 1 つのサービスの名前( popftpなど)。
Kerberos realm

同じ Kerberos データベースを共有する管理対象ホストとサービスのセット。

Kerberos の命名規則により、 <KERBEROS_REALM>はすべてのUPPERCASEに含まれている必要があります。

EXAMPLE.COMに設定されている Kerberos レルムでは、MongoDB Agent はUPNを次のように設定します: mongodb-agent@EXAMPLE.COM

2

キータブ の生成 MongoDB Agent UPN 用の ファイル(*.keytab )をコピーし、それを MongoDB Agent を実行するホストにコピーします。MongoDB Agent を実行するオペレーティング システム ユーザーが、 keytabファイルを所有するオペレーティング システム ユーザーと同じであることを確認します。

オートメーションがアクティブ化されている場合、MongoDB Ops Manager は MongoDB Agent 認証を管理します。

認証用に構成するにはKerberos MongoDB Agent、「 プロジェクトで Kerberos認証を有効にする 」を参照してください。MongoDB Ops Manager

MongoDB Agent の Kerberos UPNを作成したら、MongoDB Agent のUPNに対応する配置内に MongoDB ユーザーを作成し、そのユーザーに特権を付与します。

MongoDB ユーザーを作成する場所は、 LDAP 認可を使用しているかどうかによって異なります。

MongoDB 配置で LDAP 認可を使用している場合は、 LDAP サーバー上の MongoDB Agent 用の LDAP ユーザーと LDAP グループを作成する必要があります。LDAPユーザーとグループを作成したら、 LDAPグループを配置のadminデータベース内の MongoDB ロールにマッピングします。

警告

LDAP認証を使用する場合は、 $externalデータベースに MongoDB ユーザーを作成しないでください。 MongoDB 3.4以降は、MongoDB ユーザーが$externalデータベースに存在し、かつLDAP認証が有効になっている場合、起動しません。

MongoDB Agent を表す MongoDB ユーザーの場合:

  1. MongoDB Agent の UPN を使用して、 という名前の LDAP サーバーに新しい LDAP ユーザーを作成します。

  2. MongoDB Agent のロールと一致する名前のLDAPグループを作成します。

  3. 適切な権限を持つ MongoDB Agent のロールをadminデータベースに作成します。

    注意

    オートメーションがアクティブ化されると、オートメーションはLDAP認証用の MongoDB Agent ユーザーのロールを自動的に作成します。

  4. LDAPユーザーをLDAPグループに割り当てます。

Tip

以下も参照してください。

次の方法を学ぶには:
詳細は、次を参照してください:
LDAPユーザーの作成
LDAP実装のドキュメント。
LDAPグループの作成
LDAP実装のドキュメント。
MongoDB Agent に適切なロールを割り当てる
LDAPグループと MongoDB ロールをマッピングする
MongoDB Ops Manager 自動化を使用せずに LDAP 認証を構成
MongoDB マニュアルのLDAP 認証ページ 。

LDAP認証を使用していない場合は、MongoDB 配置の$externalデータベースにユーザーとして MongoDB Agent のUPNを追加する必要があります。 LDAP認証がない場合、MongoDB は$externalデータベースを使用して Kerberos に対してユーザーを認証します。

注意

MongoDB Agent に適したロールを見つけるには、「 MongoDB Agent に必要なアクセス権 」を参照してください。

mongoshから、次のコマンドを実行して MongoDB ユーザーを作成します。

db.getSiblingDB("$external").createUser(
{
user : "<Kerberos Principal>",
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" }
]
}
)

戻る

LDAP の構成

項目一覧