Kerberos 用の MongoDB Agent の構成
MongoDB Enterpriseは Kerberos をサポートしています。 Kerberos は、ネットワーク認証プロトコルです。MongoDB Agent は、Kerberos を実行する MongoDB インスタンスに対して認証できます。
前提条件
最小有効期間が 4 時間のチケットを発行するための KDC の構成
Kerberos チケットは期間限定でユーザーを認証できます。 Kerberos キーディストリビューションセンター(KDC)を構成 する必要があります 4 時間以上有効なチケットを発行します。MongoDB Agent は定期的にチケットを更新します。 KDCサービスは、ユーザーとホストにセッション チケットと一時的なセッションキーを提供します。
配置用認証メカニズムとして Kerberos を追加
MongoDB Agent は、MongoDB ユーザーと同様に、配置内の MongoDB データベースを操作します。 そのため、認証をサポートするように MongoDB 配置と MongoDB Agent を構成する必要があります。
が配置を追加するときに配置の認証メカニズムを指定することも、既存の配置の設定を編集することもできます。 少なくとも、MongoDB Agent が使用する認証メカニズムを配置で有効にする必要があります。 MongoDB Agent は、サポートされている任意の認証メカニズムを使用できます。
このチュートリアルでは、次のことを確認する必要があります。
配置が Kerberos 認証をサポートしている
MongoDB Agent は Kerberos 認証を使用します。
Kerberos認証を有効にする方法について は、「 プロジェクトで Kerberos認証を有効にする 」を参照してください。MongoDB Ops Manager
Kerberos を使用するように MongoDB Agent ホストを構成する
モニタリングまたはバックアップを実行中のホストに、Kerberos 関連のファイルを 2 つインストールする必要があります。
krb5 .conf を作成または構成するKerberos 構成ファイル。
プラットフォームデフォルト パスノートLinux/etc/krb5.conf
Windows%WINDIR%\krb5.ini
これは、非アクティブ ディレクトリ ベースの Kerberos 実装のデフォルト パスです。 Kerberos 構成ファイルが保存されている場所を確認するには、Windows のバージョンの Kerberos 実装のドキュメントを参照してください。Linux システムで キー を確保する バイナリは
/usr/bin/kinit
にあります。kinit
は、Kerberos を使用してエージェントを認証する Kerberos チケット発行チケットを取得または更新します。
手順
MongoDB Agent の Kerberos ユーザー プリンシパルを作成する
MongoDB Agent の Kerberos ユーザー プリンシパル名( UPN )を作成または選択します。
UPNは 2 つの部分に形式設定されるため、Kerberos 邦土全体でサービスを一意に識別できます。
コンポーネント | 説明 |
---|---|
サービス名 | ホストが Kerberos レルムに提供している 1 つのサービスの名前( 重要MongoDB Ops Manager 6.0.0 はSNMPアラートを廃止します。 MongoDB Ops Manager 7.0.0 にはSNMPアラートは含まれません。 その他のアラート オプションの詳細については、「サードパーティ サービスの統合 」を参照してください。 |
Kerberos realm | 同じ Kerberos データベースを共有する管理対象ホストとサービスのセット。 Kerberos の命名規則により、 |
例
EXAMPLE.COM
に設定されている Kerberos レルムでは、MongoDB Agent はUPNを次のように設定します: mongodb-agent@EXAMPLE.COM
MongoDB Agentkeytab
の Kerberos UPN 用の ファイルを生成します。
キータブ の生成 MongoDB Agent UPN 用の ファイル(*.keytab
)をコピーし、それを MongoDB Agent を実行するホストにコピーします。MongoDB Agent を実行するオペレーティング システム ユーザーが、 keytab
ファイルを所有するオペレーティング システム ユーザーと同じであることを確認します。
MongoDB Agent UPN のユーザーの作成とロールの割り当て
オートメーションがアクティブ化されている場合、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 ユーザーの場合:
MongoDB Agent の UPN を使用して、 という名前の LDAP サーバーに新しい LDAP ユーザーを作成します。
MongoDB Agent のロールと一致する名前のLDAPグループを作成します。
適切な権限を持つ MongoDB Agent のロールを
admin
データベースに作成します。注意
オートメーションがアクティブ化されると、オートメーションはLDAP認証用の MongoDB Agent ユーザーのロールを自動的に作成します。
LDAPユーザーをLDAPグループに割り当てます。
Tip
以下も参照してください。
次の方法を学ぶには: | 詳細は、次を参照してください: |
---|---|
LDAPユーザーの作成 | LDAP実装のドキュメント。 |
LDAPグループの作成 | LDAP実装のドキュメント。 |
MongoDB Agent に適切なロールを割り当てる | |
LDAPグループと MongoDB ロールをマッピングする | MongoDB マニュアルの LDAP 認可 ページの「 LDAP ロール」セクション 。 |
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" } ] } )