ローカルと本番で同じ接続文字列を使用しています。 接続文字列がmongodbの場合:// localhost/mydbMongoDBデフォルトのユーザーとパスワードは何ですか?
ユーザーとパスワードは何ですか? このように保つのは安全ですか?
ローカルと本番で同じ接続文字列を使用しています。 接続文字列がmongodbの場合:// localhost/mydbMongoDBデフォルトのユーザーとパスワードは何ですか?
ユーザーとパスワードは何ですか? このように保つのは安全ですか?
デフォルトでは、mongodbにはアクセス制御が有効になっていないため、デフォルトのユーザーまたはパスワードはありません。
アクセス制御を有効にするには、コマンドラインオプション--auth
またはsecurity.authorization設定ファイルのいずれかの設定を使用します。
MongoDBのドキュメントでは、次の手順を使用するか、Enabling Authを参照してください。
スタートMongoDBのアクセス制御なし手順
mongod --port 27017 --dbpath /data/db1
インスタンスに接続します。
mongo --port 27017
ユーザー管理者を作成します。
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
アクセス制御でMongoDBインスタンスを再起動します。
mongod --auth --port 27017 --dbpath /data/db1
ユーザー管理者として認証します。 MongoDBのために
mongo --port 27017 -u "myUserAdmin" -p "abc123" \
--authenticationDatabase "admin"
あなたが与えたい場合は、以前の2.6より、rootユーザーを追加するためのコマンドは、@Camiloシルバは、既に述べたものに加えてaddUser
(例えば)
db.addUser({user:'admin',pwd:'<password>',roles:["root"]})
TypeError:db.addUserは機能しません –
バージョン2.6までは 'db.addUser'があります。 2.6を起動し、現在のバージョン3.4.xでは 'db.CreateUser'でユーザを作成することができます。 –
ですデータベースの作成、データベースの作成などの自由なアクセスが可能ですが、ルートロールを作成したくない場合は、次のように第3ステップを変更することができます。
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" } ]
}
)
userAdminAnyDatabaseロールを使用してユーザーを作成すると、データベースを作成できなくなります。したがって、ロールセクションは次のようにする必要があります。ロール:[{role: "root"、db: "admin"}] – georgeos
[元の投稿をMongoDBマニュアルから]リンクしてください(https://docs.mongodb.com/manual/tutorial/enable -authentication /) –