кодесурса
«MongoDB

MongoDB: метод db.createUser ()

script1adsense2code
script1adsense3code

db.createUser ()

Метод db.createUser () используется для создания нового пользователя.

Синтаксис:

 db.createUser (пользователь, writeConcern)

Создает нового пользователя для базы данных, в которой работает метод. db.createUser () возвращает повторяющуюся ошибку пользователя, если пользователь уже существует в базе данных.

Метод db.createUser () имеет следующий синтаксис:

Параметры:

название Описание Необходимые /
Необязательный
Тип
пользователь Документ с аутентификацией и доступом к информации о пользователе для создания. необходимые документ
writeConcern Уровень записи касается операции создания. Документ writeConcern принимает те же поля, что и команда getLastError. Необязательный документ

Пользовательский документ определяет пользователя и имеет следующую форму:

	{ user: "<name>",
  pwd: "<cleartext password>",
  customData: { <any information> },
  roles: [
    { role: "<role>", db: "<database>" } | "<role>",
    ...
  ]
}

Пользовательский документ имеет следующие поля:

название Описание Необходимые /
Необязательный
Тип
пользователь Имя нового пользователя. Необязательный строка
PWD Пароль пользователя. Поле pwd не требуется, если вы запускаете db.createUser () в базе данных $ external для создания пользователей, чьи учетные данные хранятся внешне в MongoDB. необходимые строка
CustomData Любая произвольная информация. Это поле может использоваться для хранения любых данных, которые администратор желает связать с этим конкретным пользователем. Например, это может быть полное имя пользователя или идентификатор сотрудника. Необязательный документ
роли Роли, предоставленные пользователю. Можно указать пустой массив [] для создания пользователей без ролей. необходимые массив

В поле ролей вы можете указать как встроенные роли, так и определенные пользователем роли.

Чтобы указать роль, которая существует в той же базе данных, где выполняется db.createUser (), вы можете указать роль с именем роли:

"readWrite"

Или вы можете указать роль с документом, как в:

{ role: "<role>", db: "<database>" }

Чтобы указать роль, которая существует в другой базе данных, укажите роль с документом.

Метод db.createUser () переносит команду createUser.

Возвращает: db.auth () возвращает 0, если аутентификация не удалась, и 1, если операция прошла успешно.

Пример: создание пользователя с ролями

Следующая операция создает mynewuser в тестовой базе данных и дает пользователю роли readWrite и dbAdmin.

use test
db.createUser(
   {
     user: "mynewuser",
     pwd: "myuser123",
     roles: [ "readWrite", "dbAdmin" ]
   }
);

Выход:

 > использовать тест
перешел на дб тест
> db.createUser (
... {
... пользователь: "mynewuser",
... pwd: "myuser123",
... role: ["readWrite", "dbAdmin"]
...}
...);
Успешно добавлен пользователь: {"user": "mynewuser", "role": ["readWrite", "dbAdmin"]}

Пример: создание пользователя без ролей

Следующая операция создает пользователя с именем mynewuser1 в тестовой базе данных, но еще не назначает роли:

use test
db.createUser(
   {
     user: "mynewuser1",
     pwd: "myuser1123",
     roles: [ ]
   }
);

Выход:

 > использовать тест
перешел на дб тест
> db.createUser (
... {
... пользователь: "mynewuser1",
... pwd: "myuser1123",
... роли: []
...}
...);
Успешно добавлен пользователь: {"user": "mynewuser1", "role": []}

Пример: создание административного пользователя с ролями

Следующая операция создает пользователя с именем myadmin1 в базе данных администратора и предоставляет пользователю доступ для чтения readWrite к базе данных конфигурации, что позволяет пользователю изменять определенные параметры для сегментированных кластеров, например настройки балансировщика.

use admin
db.createUser(
   {
     user: "myadmin1",
     pwd: "myadmin123",
     roles:
       [
         { role: "readWrite", db: "config" },
         "clusterAdmin"
       ]
   }
);

Выход:

 > использовать админ
перешел на дб админ
> db.createUser (
... {
... пользователь: "myadmin1",
... pwd: "myadmin123",
... роли:
... [
... {role: "readWrite", db: "config"},
... "clusterAdmin"
...]
...}
...);
Пользователь успешно добавлен: {
        "пользователь": "myadmin1",
        "роли": [
                {
                        "role": "readWrite",
                        "db": "config"
                },
                "ClusterAdmin"
        ]
}

Получить данные о ресторанах здесь

Поведение

шифрование

db.createUser () отправляет пароль к экземпляру MongoDB без шифрования. Чтобы зашифровать пароль во время передачи, используйте TLS / SSL.

Внешние полномочия

Пользователи, созданные в базе данных $ external, должны иметь учетные данные, хранимые снаружи в MongoDB, как, например, в установках MongoDB Enterprise, использующих Kerberos.

локальная база данных

Вы не можете создавать пользователей в локальной базе данных.

Требуемый доступ

  • Чтобы создать нового пользователя в базе данных, вы должны иметь действие createUser для этого ресурса базы данных.
  • Чтобы предоставить роли пользователю, у вас должно быть действие grantRole в базе данных роли.

Встроенные роли userAdmin и userAdminAnyDatabase обеспечивают действия createUser и grantRole для своих соответствующих ресурсов.

Предыдущая: метод db.auth ()
Далее: метод db.updateUser ()

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code