Управление пользователями MongoDB
Вы можете добавлять и удалять пользователей, а также управлять их индивидуальными настройками и правами доступа к базам данных.
Получить список пользователей
- Перейдите на страницу каталога
и выберите сервис Managed Service for MongoDB. - Нажмите на имя нужного кластера, затем выберите вкладку
Пользователи.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить список пользователей кластера, выполните команду:
yc managed-mongodb user list \
--cluster-name <имя_кластера>
Имя кластера можно запросить со списком кластеров в каталоге.
Чтобы получить список пользователей, воспользуйтесь методом REST API list для ресурса User или вызовом gRPC API UserService/List и передайте в запросе идентификатор кластера в параметре clusterId
.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Создать пользователя
-
Перейдите на страницу каталога
и выберите сервис Managed Service for MongoDB. -
Нажмите на имя нужного кластера и выберите вкладку
Пользователи. -
Нажмите кнопку Создать пользователя.
-
Введите имя пользователя БД и пароль.
Примечание
Имя пользователя может содержать латинские буквы, цифры, дефис и подчеркивание, но должно начинаться с буквы, цифры или подчеркивания.
Длина пароля от 8 до 128 символов.
-
Настройте роли пользователя:
- Нажмите кнопку Добавить базу данных и выберите БД, в которой вы хотите выдать роль.
- Добавьте роли с помощью кнопки
.
Вы можете выдать пользователю несколько ролей в разных базах данных.
-
Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы создать пользователя в кластере:
-
Посмотрите описание команды CLI для создания пользователя:
yc managed-mongodb user create --help
-
Укажите свойства пользователя в команде создания:
yc managed-mongodb user create <имя_пользователя> \ --cluster-name <имя_кластера> \ --password <пароль_для_пользователя> \ --permission database=<имя_БД>,role=<роль>,role=<другая_роль>,... \ --permission database=<имя_другой_БД>,role=<роль>,...
Примечание
Имя пользователя может содержать латинские буквы, цифры, дефис и подчеркивание, но должно начинаться с буквы, цифры или подчеркивания.
Длина пароля от 8 до 128 символов.
Имя кластера можно запросить со списком кластеров в каталоге.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Добавьте ресурс
yandex_mdb_mongodb_user
:resource "yandex_mdb_mongodb_user" "<имя_пользователя>" { cluster_id = <идентификатор_кластера> name = "<имя_пользователя>" password = "<пароль>" permission { database_name = "<имя_БД>" roles = [ "<список_ролей_пользователя>" ] } }
Где
database_name
— имя БД, к которой предоставляется доступ.Примечание
Имя пользователя может содержать латинские буквы, цифры, дефис и подчеркивание, но должно начинаться с буквы, цифры или подчеркивания.
Длина пароля от 8 до 128 символов.
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Чтобы создать пользователя, воспользуйтесь методом REST API create для ресурса User или вызовом gRPC API UserService/Create и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Настройки пользователя в параметре
userSpec
:- Имя пользователя в параметре
name
. - Пароль пользователя в параметре
password
. - Права доступа к базам данных (один или несколько параметров
permissions
, по одному на каждую базу данных):- Имя базы данных в параметре
databaseName
. Чтобы узнать имя, получите список баз данных в кластере. - Права доступа к базе данных в параметре
roles
.
- Имя базы данных в параметре
- Имя пользователя в параметре
Изменить пользователя
-
Перейдите на страницу каталога
и выберите сервис Managed Service for MongoDB. -
Нажмите на имя нужного кластера и выберите вкладку
Пользователи. -
Чтобы изменить пароль пользователя, нажмите значок
в строке нужного пользователя и выберите пункт Изменить пароль.Примечание
Длина пароля от 8 до 128 символов.
-
Чтобы изменить роли пользователя:
- Нажмите значок
в строке нужного пользователя и выберите пункт Настроить. - Чтобы добавить роль, нажмите
напротив нужной БД и выберите роль. - Чтобы удалить роль, нажмите на значок
возле названия роли.
- Нажмите значок
-
Нажмите Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить пароль или список ролей пользователя:
-
Посмотрите описание команды CLI для изменения пользователя:
yc managed-mongodb user update --help
-
Укажите свойства пользователя в команде изменения:
yc managed-mongodb user update <имя_пользователя> \ --cluster-name <имя_кластера> \ --password <пароль_для_пользователя> \ --permission database=<имя_БД>,role=<роль>,role=<другая_роль>,... \ --permission database=<имя_другой_БД>,role=<роль>,...
Примечание
Длина пароля от 8 до 128 символов.
Чтобы добавить пользователю доступ к базе данных с определенным набором ролей:
-
Посмотрите описание команды CLI для выдачи прав пользователю:
yc managed-mongodb user grant-permission --help
-
Укажите свойства пользователя в команде выдачи прав:
yc managed-mongodb user grant-permission <имя_пользователя> \ --cluster-name <имя_кластера> \ --database <имя_БД> \ --role <набор_ролей_через_запятую>
Чтобы отозвать доступ у пользователя к базе данных:
-
Посмотрите описание команды CLI для отзыва прав пользователя:
yc managed-mongodb user revoke-permission --help
-
Укажите свойства пользователя в команде отзыва прав:
yc managed-mongodb user revoke-permission <имя_пользователя> \ --cluster-name <имя_кластера> \ --database <имя_БД>
Эта команда полностью закрывает пользователю доступ к указанной базе данных.
Имя кластера можно запросить со списком кластеров в каталоге, имя базы данных — со списком баз данных в кластере, имя пользователя — со списком пользователей в кластере.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Найдите ресурс
yandex_mdb_mongodb_user
. -
Измените значение поля
password
и значения полей в блокеpermission
:resource "yandex_mdb_mongodb_user" "<имя_пользователя>" { cluster_id = <идентификатор_кластера> name = "<имя_пользователя>" password = "<новый_пароль>" permission { database_name = "<имя_БД>" roles = [ "<новый_список_ролей_пользователя>" ] } }
Примечание
Длина пароля от 8 до 128 символов.
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Чтобы изменить пользователя, воспользуйтесь методом REST API update для ресурса User или вызовом gRPC API UserService/Update и передайте в запросе:
- Идентификатор кластера, в котором находится пользователь, в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Имя пользователя в параметре
userName
. Чтобы узнать имя, получите список пользователей в кластере. - Имя базы данных, для которой вы хотите изменить список ролей пользователя, в параметре
permissions.databaseName
. Чтобы узнать имя, получите список баз данных в кластере. - Массив нового списка ролей пользователя в параметре
permissions.roles
. - Список настроек пользователя, которые необходимо изменить, в параметре
updateMask
.
Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Удалить пользователя
- Перейдите на страницу каталога
и выберите сервис Managed Service for MongoDB. - Нажмите на имя нужного кластера и выберите вкладку
Пользователи. - Нажмите значок
в строке нужного пользователя и выберите пункт Удалить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы удалить пользователя, выполните команду:
yc managed-mongodb user delete <имя_пользователя> \
--cluster-name <имя_кластера>
Имя кластера можно запросить со списком кластеров в каталоге.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Удалите ресурс
yandex_mdb_mongodb_user
с описанием нужного пользователя. -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Чтобы удалить пользователя, воспользуйтесь методом REST API delete для ресурса User или вызовом gRPC API UserService/Delete и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Имя пользователя, которого требуется удалить, в параметре
userName
. Чтобы узнать имя, получите список пользователей в кластере.
Примеры
Добавить пользователя с правами только на чтение
Чтобы добавить в существующий кластер нового пользователя user2
с доступом только на чтение к базе данных db1
:
- Перейдите на страницу каталога
и выберите сервис Managed Service for MongoDB. - Нажмите на имя нужного кластера и выберите вкладку
Пользователи. - Нажмите кнопку Создать пользователя.
- Введите имя пользователя
user2
и пароль (от 8 до 128 символов). - Выберите базу данных
db1
из выпадающего списка Добавить базу данных. - Выберите роль
read
из выпадающего списка напротив базы данныхdb1
. - Нажмите кнопку Создать.
Выполните следующую команду:
yc managed-mongodb user create user2 \
--cluster-name <имя_кластера> \
--password <пароль_пользователя> \
--permission database=db1,role=read
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Добавьте ресурс
yandex_mdb_mongodb_user
.resource "yandex_mdb_mongodb_user" "user2" { cluster_id = <идентификатор_кластера> name = "user2" password = "<пароль>" permission { database_name = "db1" roles = [ "read" ] } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Изменить права пользователя
Чтобы добавить существующему пользователю user1
кластера cluster1
доступ только на чтение к базе данных db2
:
- Перейдите на страницу каталога
и выберите сервис Managed Service for MongoDB. - Нажмите на имя кластера
cluster1
и выберите вкладку Пользователи. - Нажмите значок
в строке пользователяuser1
и выберите пункт Настроить. - Нажмите кнопку Добавить базу данных и выберите базу данных
db2
. - Нажмите
и выберите рольread
из выпадающего списка напротив базы данныхdb2
. - Нажмите кнопку Сохранить.
Выполните следующую команду:
yc managed-mongodb user grant-permission user1 \
--cluster-name cluster1 \
--database db2 \
--role read
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Найдите ресурс
yandex_mdb_mongodb_user
. -
Добавьте блок
permission
:resource "yandex_mdb_mongodb_user" "user1" { cluster_id = <идентификатор_кластера> name = "user1" password = "<пароль>" permission { database_name = "db2" roles = [ "read" ] } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform