AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

MongoDB SELinux ポリシーを設定する

Security Authentication Linux (SELinux)は、必須のアクセス制御ポリシーを強制するLinuxカーネル セキュリティ モジュールです。これにより、ポリシーで明示的に許可されているファイル、ディレクトリ、およびポートにプロセスを制限できます。これにより、標準ファイル権限でアクセスが許可されている場合でも、アクセスがブロックされる可能性があります。

MongoDB は、 で使用するための SELinux ポリシーを提供します。これは、以下を使用するシステム上のMongoDB EnterpriseおよびMongoDB Communitymongod で利用できます。

  • Red Hat Enterprise Linuxまたは関連するディストリビューション

  • パッケージマネージャーを使用してインストールされたMongoDB

MongoDBデプロイで次のいずれかの設定にカスタム値が使用されている場合、 MongoDB SELinux ポリシーは使用できません。

MongoDB SELinux ポリシーは mongod のみをカバーしています。 mongos、mongosh、または mongocryptd も使用するシステムで SELinux を使用する場合は、カスタム ポリシーを構成する必要があります。

MongoDB の前のバージョンにダウングレードするには、SELinux ポリシーのクローンが過去に作成されたディレクトリから次のコマンドをダウングレード前に実行する必要があります。

sudo make uninstall

MongoDB SELinux ポリシーは semanage コマンドを使用してカスタマイズできます。例、mongod_port_t にポート 30000 を追加するには、次のコマンドを実行します。

sudo semanage port -at mongod_port_t -p tcp 30000

これにより、SELinux は、標準のMongoDBポートとポート 30000 の両方で TCP 接続を許可するように構成されます。

システムに前提条件パッケージがインストールされていることを確認してください。

sudo dnf install git make checkpolicy policycoreutils \
selinux-policy-devel

SELinux はデフォルトで ポリシーを適用します。つまり、設定された制限に違反するプロセスをブロックします。開発環境では、ユーザーは SELinux を無効にしたり、ログに記録するように構成したりしても、すべての操作を許可することもあります。開始する前に、SELinux が ポリシーを強制していることを確認してください。

SELinux がどのモードであるかを確認するには、次のコマンドを実行します。

getenforce
Enforcing

コマンドが Permissive を返す場合は、setenforce コマンドを使用して強制されるようにリセットできます。

sudo setenforce 1

変更を永続的にするには、/etc/selinux/configファイルに SELINUX 変数を設定します。

SELINUX=enforcing
1

MongoDB SELinux ポリシーをダウンロードするには、 Git を使用してリポジトリをクローンします 。

git clone https://github.com/mongodb/mongodb-selinux
2

ポリシーをビルドするには、mongodb-selinuxディレクトリに変更し、make を実行します。

cd mongodb-selinux
make
3

ポリシーを適用するには、次のように sudo を使用して install ターゲットを実行します。

sudo make install

SELinux でMongoDBポリシーが使用されるようになりました。これにより、SELinux が 適用モード中にmongod を実行できるようになりました。