У меня есть база данных с именем flowers
, в которой у меня есть коллекция с именем flower
.Когда я впервые создал его в MongoDB, у меня не было установленной аутентификации (я просто подключился бы к нему через порт по умолчанию: 27017 и localhost).
Тогда я хотел ограничить доступ к этой базе данных, чтобы получить доступ только с набором имени пользователя и пароля.Сначала я создал admin
в базе данных admin
:
> use admin
switched to db admin
> db.createUser(
... {
... user: "myUserAdmin",
... pwd: "abc123",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
... }
... )
Successfully added user: {
"user" : "myUserAdmin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
> show users
{
"_id" : "admin.myUserAdmin",
"user" : "myUserAdmin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
Затем я вышел из mongo и перезапустил службу.Затем я создал пользователя для своей базы данных:
> use flowers
switched to db flowers
> db.createUser(
... {
... user: "adminfl",
... pwd: "flower1",
... roles: [ "dbOwner", "readWrite"]
... }
... )
Successfully added user: { "user" : "adminfl", "roles" : [ "dbOwner", "readWrite" ] }
После этого я снова вышел из mongo, перезапустил службу .... из Compass я попытался подключиться к базе данных flowers
, используя имя пользователя и пароль, иукажите authentication database: flowers
.К этому моменту все прошло хорошо.
Моя проблема: когда я подключаюсь к mongo, используя аутентификацию, я вижу все базы данных, и когда я подключаюсь без аутентификации, у меня тот же результат.
Как я могу сделать свою базу данных flowers
видимой только при подключении с помощью имени пользователя и пароля?
Обновление: это мой mongod.cfg:
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: C:\Program Files\MongoDB\Server\4.0\data
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: C:\Program Files\MongoDB\Server\4.0\log\mongod.log
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
#processManagement:
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp: