Docs Menu
Docs Home
/
Cloud Manager
/ /

Kerberos 用の MongoDB Agent の構成

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

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

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

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

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

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

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

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

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

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

    プラットフォーム
    デフォルト パス
    ノート

    Linux

    /etc/krb5.conf

    Windows

    %WINDIR%\krb5.ini

    これは、非アクティブ ディレクトリ ベースの Kerberos 実装のデフォルト パスです。 Kerberos 構成ファイルが保存されている場所を確認するには、Windows のバージョンの Kerberos 実装のドキュメントを参照してください。

  • Linux システムの場合: kinit バイナリが /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ファイルを所有するオペレーティングシステムユーザーと同じであることを確認します。

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

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

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

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

注意

MongoDB 8.0 以降、LDAP による認証と承認は非推奨です。この機能は利用可能であり、MongoDB 8 の有効期間を通じて変更なく動作し続けます。LDAP は今後のメジャーリリースで削除される予定です。

詳細については、「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 ロールをマッピングする

Cloud 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

項目一覧