サーバーでmongodbを実行しています.dbへのローカル接続では、それを保護するためのパスワードは必要ありません(同じ物理マシン内にあり、127.0.0.1 IPアドレスを介してサーバーに接続することを意味します)。
しかし、ネットワーク内の他の人がパスワードなしで私のデータベースに接続できるようにしたくありません。許可されたユーザーだけです。そのため、リモート ユーザーのパスワード保護を行いたいと考えています。
どうやってするの?
サーバーでmongodbを実行しています.dbへのローカル接続では、それを保護するためのパスワードは必要ありません(同じ物理マシン内にあり、127.0.0.1 IPアドレスを介してサーバーに接続することを意味します)。
しかし、ネットワーク内の他の人がパスワードなしで私のデータベースに接続できるようにしたくありません。許可されたユーザーだけです。そのため、リモート ユーザーのパスワード保護を行いたいと考えています。
どうやってするの?
現在、monogdb はユーザーの場所に基づく認証モードをサポートしていません。つまり、あなたが実行すればmongod
、--auth
それはすべての人に適用されます.
IP、プロトコル ソースなどの高度な認証スキーマは (まだ) ありません。現時点では、ユーザーがデータベースに対して読み取り専用または書き込み権限を持っているかどうかのみを定義できます。したがって、基本的にmongodbが気にするのは、正しいユーザーに正しいパスワードを入力したかどうかだけです。
個人的には、すべての実稼働環境でセキュア モードを使用することをお勧めします。なぜなら、ローカル ホストからの接続のみを許可したとしても、ローカル サーバーまたはホスト上の悪意のあるスクリプトにアクセスできるユーザーはすべてのデータを簡単に消去できるからです。
MongoDB のセキュリティと認証ページには、ユーザー認証とファイアウォール設定の構成に関する情報があります。
データベースのパスワード認証を有効にすると、認証要件がローカル ユーザーとリモート ユーザーの両方に適用されることに注意してください (したがって、ローカル IP を介してパスワードで接続する必要もあります)。