Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for MongoDB
  • Начало работы
    • Все инструкции
      • Управление базами данных
      • Управление пользователями БД
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Обучающие курсы

В этой статье:

  • Получить список пользователей
  • Создать пользователя
  • Изменить пользователя
  • Удалить пользователя
  • Примеры
  • Добавить пользователя с правами только на чтение
  • Изменить права пользователя
  1. Пошаговые инструкции
  2. Базы данных
  3. Управление пользователями БД

Управление пользователями MongoDB

Статья создана
Yandex Cloud
Улучшена
Обновлена 21 апреля 2025 г.
  • Получить список пользователей
  • Создать пользователя
  • Изменить пользователя
  • Удалить пользователя
  • Примеры
    • Добавить пользователя с правами только на чтение
    • Изменить права пользователя

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

Получить список пользователейПолучить список пользователей

Консоль управления
CLI
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.
  2. Нажмите на имя нужного кластера, затем выберите вкладку  Пользователи.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы получить список пользователей кластера, выполните команду:

yc managed-mongodb user list \
  --cluster-name <имя_кластера>

Имя кластера можно запросить со списком кластеров в каталоге.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом User.List и выполните запрос, например, с помощью cURL:

    curl \
      --request GET \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mongodb/v1/clusters/<идентификатор_кластера>/users'
    

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом UserService.List и выполните запрос, например, с помощью gRPCurl:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mongodb/v1/user_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<идентификатор_кластера>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mongodb.v1.UserService.List
    

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Создать пользователяСоздать пользователя

Консоль управления
CLI
Terraform
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.

  2. Нажмите на имя нужного кластера и выберите вкладку  Пользователи.

  3. Нажмите кнопку Создать пользователя.

  4. Введите имя пользователя БД и пароль.

    Примечание

    Имя пользователя может содержать латинские буквы, цифры, дефис и подчеркивание, но должно начинаться с буквы, цифры или подчеркивания.

    Длина пароля от 8 до 128 символов.

  5. Настройте роли пользователя:

    1. Нажмите кнопку Добавить базу данных и выберите БД, в которой вы хотите выдать роль.
    2. Добавьте роли с помощью кнопки .

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

  6. Нажмите кнопку Создать.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы создать пользователя в кластере:

  1. Посмотрите описание команды CLI для создания пользователя:

    yc managed-mongodb user create --help
    
  2. Укажите свойства пользователя в команде создания:

    yc managed-mongodb user create <имя_пользователя> \
      --cluster-name <имя_кластера> \
      --password <пароль_для_пользователя> \
      --permission database=<имя_БД>,role=<роль>,role=<другая_роль>,... \
      --permission database=<имя_другой_БД>,role=<роль>,...
    

    Примечание

    Имя пользователя может содержать латинские буквы, цифры, дефис и подчеркивание, но должно начинаться с буквы, цифры или подчеркивания.

    Длина пароля от 8 до 128 символов.

    Имя кластера можно запросить со списком кластеров в каталоге.

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Добавьте ресурс yandex_mdb_mongodb_user:

    resource "yandex_mdb_mongodb_user" "<имя_пользователя>" {
      cluster_id = <идентификатор_кластера>
      name       = "<имя_пользователя>"
      password   = "<пароль>"
      permission {
        database_name = "<имя_БД>"
        roles         = [ "<список_ролей_пользователя>" ]
      }
    }
    

    Где database_name — имя БД, к которой предоставляется доступ.

    Примечание

    Имя пользователя может содержать латинские буквы, цифры, дефис и подчеркивание, но должно начинаться с буквы, цифры или подчеркивания.

    Длина пароля от 8 до 128 символов.

  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом User.Create и выполните запрос, например, с помощью cURL:

    curl \
      --request POST \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mongodb/v1/clusters/<идентификатор_кластера>/users' \
      --data '{
                "userSpec": {
                  "name": "<имя_пользователя>",
                  "password": "<пароль_пользователя>",
                  "permissions": [
                    {
                      "databaseName": "<имя_БД>",
                      "roles": [
                       "<роль_1>", "<роль_2>", ..., "<роль_N>"
                      ]
                    }
                  ]
                }
              }'
    

    Где userSpec — настройки нового пользователя БД:

    • name — имя пользователя.

    • password — пароль пользователя.

      Примечание

      Имя пользователя может содержать латинские буквы, цифры, дефис и подчеркивание, но должно начинаться с буквы, цифры или подчеркивания.

      Длина пароля от 8 до 128 символов.

    • permissions — настройки разрешений пользователя:

      • databaseName — имя базы данных, к которой пользователь получает доступ.
      • roles — массив ролей пользователя. Каждая роль представлена в виде отдельной строки в массиве. Список доступных значений см. в разделе Пользователи и роли.

      Для каждой базы данных добавьте отдельный элемент с настройками разрешений в массив permissions.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом UserService.Create и выполните запрос, например, с помощью gRPCurl:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mongodb/v1/user_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<идентификатор_кластера>",
            "user_spec": {
              "name": "<имя_пользователя>",
              "password": "<пароль_пользователя>",
              "permissions": [
                {
                  "database_name": "<имя_БД>",
                  "roles": [
                     "<роль_1>", "<роль_2>", ..., "<роль_N>"
                  ]   
                }
              ]
            }
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mongodb.v1.UserService.Create
    

    Где user_spec — настройки нового пользователя БД:

    • name — имя пользователя.

    • password — пароль пользователя.

      Примечание

      Имя пользователя может содержать латинские буквы, цифры, дефис и подчеркивание, но должно начинаться с буквы, цифры или подчеркивания.

      Длина пароля от 8 до 128 символов.

    • permissions — настройки разрешений пользователя:

      • database_name — имя базы данных, к которой пользователь получает доступ.
      • roles — массив ролей пользователя. Каждая роль представлена в виде отдельной строки в массиве. Список доступных значений см. в разделе Пользователи и роли.

      Для каждой базы данных добавьте отдельный элемент с настройками разрешений в массив permissions.

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Изменить пользователяИзменить пользователя

Консоль управления
CLI
Terraform
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.

  2. Нажмите на имя нужного кластера и выберите вкладку  Пользователи.

  3. Чтобы изменить пароль пользователя, нажмите значок в строке нужного пользователя и выберите пункт Изменить пароль.

    Примечание

    Длина пароля от 8 до 128 символов.

  4. Чтобы изменить роли пользователя:

    1. Нажмите значок в строке нужного пользователя и выберите пункт Настроить.
    2. Чтобы добавить роль, нажмите напротив нужной БД и выберите роль.
    3. Чтобы удалить роль, нажмите на значок возле названия роли.
  5. Нажмите Сохранить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы изменить пароль или список ролей пользователя:

  1. Посмотрите описание команды CLI для изменения пользователя:

    yc managed-mongodb user update --help
    
  2. Укажите свойства пользователя в команде изменения:

    yc managed-mongodb user update <имя_пользователя> \
      --cluster-name <имя_кластера> \
      --password <пароль_для_пользователя> \
      --permission database=<имя_БД>,role=<роль>,role=<другая_роль>,... \
      --permission database=<имя_другой_БД>,role=<роль>,...
    

    Примечание

    Длина пароля от 8 до 128 символов.

Чтобы добавить пользователю доступ к базе данных с определенным набором ролей:

  1. Посмотрите описание команды CLI для выдачи прав пользователю:

    yc managed-mongodb user grant-permission --help
    
  2. Укажите свойства пользователя в команде выдачи прав:

    yc managed-mongodb user grant-permission <имя_пользователя> \
      --cluster-name <имя_кластера> \
      --database <имя_БД> \
      --role <набор_ролей_через_запятую>
    

Чтобы отозвать доступ у пользователя к базе данных:

  1. Посмотрите описание команды CLI для отзыва прав пользователя:

    yc managed-mongodb user revoke-permission --help
    
  2. Укажите свойства пользователя в команде отзыва прав:

    yc managed-mongodb user revoke-permission <имя_пользователя> \
      --cluster-name <имя_кластера> \
      --database <имя_БД>
    

    Эта команда полностью закрывает пользователю доступ к указанной базе данных.

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

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Найдите ресурс yandex_mdb_mongodb_user.

  3. Измените значение поля password и значения полей в блоке permission:

    resource "yandex_mdb_mongodb_user" "<имя_пользователя>" {
      cluster_id = <идентификатор_кластера>
      name       = "<имя_пользователя>"
      password   = "<новый_пароль>"
      permission {
        database_name = "<имя_БД>"
        roles         = [ "<новый_список_ролей_пользователя>" ]
      }
    }
    

    Примечание

    Длина пароля от 8 до 128 символов.

  4. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  5. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом User.Update и выполните запрос, например, с помощью cURL:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask (одной строкой через запятую).

    curl \
      --request PATCH \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mongodb/v1/clusters/<идентификатор_кластера>/users/<имя_пользователя>' \
      --data '{
               "updateMask": "password,permissions.databaseName,permissions.roles",
               "password": "<пароль_пользователя>",
               "permissions": [
                 {
                   "databaseName": "<имя_БД>",
                   "roles": [
                     "<роль_1>", "<роль_2>", ..., "<роль_N>"
                   ]
                 }
               ]
             }'
    

    Где:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.

    • password — пароль пользователя.

      Примечание

      Имя пользователя может содержать латинские буквы, цифры, дефис и подчеркивание, но должно начинаться с буквы, цифры или подчеркивания.

      Длина пароля от 8 до 128 символов.

    • permissions — настройки разрешений пользователя:

      • database_name — имя базы данных, к которой пользователь получает доступ.
      • roles — массив ролей пользователя. Каждая роль представлена в виде отдельной строки в массиве. Список доступных значений см. в разделе Пользователи и роли.

    Идентификатор кластера можно запросить со списком кластеров в каталоге, а имя пользователя — со списком пользователей в кластере.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом UserService.Update и выполните запрос, например, с помощью gRPCurl:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask (в виде массива строк paths[]).

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mongodb/v1/user_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<идентификатор_кластера>",
            "user_name": "<имя_пользователя>",
            "update_mask": {
              "paths": [
                "password",
                "permissions.database_name",
                "permissions.roles"
              ]
            },
            "password": "<пароль_пользователя>",
            "permissions": [
              {
                "database_name": "<имя_БД>",
                "roles": [
                  "<роль_1>", "<роль_2>", ..., "<роль_N>"
                ]
              }
            ]
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mongodb.v1.UserService.Update
    

    Где:

    • update_mask — перечень изменяемых параметров в одну строку через запятую.

    • password — пароль пользователя.

      Примечание

      Имя пользователя может содержать латинские буквы, цифры, дефис и подчеркивание, но должно начинаться с буквы, цифры или подчеркивания.

      Длина пароля от 8 до 128 символов.

    • permissions — настройки разрешений пользователя:

      • database_name — имя базы данных, к которой пользователь получает доступ.
      • roles — массив ролей пользователя. Каждая роль представлена в виде отдельной строки в массиве. Список доступных значений см. в разделе Пользователи и роли.

    Идентификатор кластера можно запросить со списком кластеров в каталоге, а имя пользователя — со списком пользователей в кластере.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Удалить пользователяУдалить пользователя

Консоль управления
CLI
Terraform
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.
  2. Нажмите на имя нужного кластера и выберите вкладку  Пользователи.
  3. Нажмите значок в строке нужного пользователя и выберите пункт Удалить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы удалить пользователя, выполните команду:

yc managed-mongodb user delete <имя_пользователя> \
  --cluster-name <имя_кластера>

Имя кластера можно запросить со списком кластеров в каталоге.

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Удалите ресурс yandex_mdb_mongodb_user с описанием нужного пользователя.

  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом User.Delete и выполните запрос, например, с помощью cURL:

    curl \
      --request DELETE \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --url 'https://mdb.api.cloud.yandex.net/managed-mongodb/v1/clusters/<идентификатор_кластера>/users/<имя_пользователя>'
    

    Идентификатор кластера можно запросить со списком кластеров в каталоге, а имя пользователя — со списком пользователей в кластере.

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом UserService.Delete и выполните запрос, например, с помощью gRPCurl:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/mongodb/v1/user_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<идентификатор_кластера>",
            "user_name": "<имя_пользователя>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.mongodb.v1.UserService.Delete
    

    Идентификатор кластера можно запросить со списком кластеров в каталоге, а имя пользователя — со списком пользователей в кластере.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

ПримерыПримеры

Добавить пользователя с правами только на чтениеДобавить пользователя с правами только на чтение

Чтобы добавить в существующий кластер нового пользователя user2 с доступом только на чтение к базе данных db1:

Консоль управления
CLI
Terraform
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.
  2. Нажмите на имя нужного кластера и выберите вкладку  Пользователи.
  3. Нажмите кнопку Создать пользователя.
  4. Введите имя пользователя user2 и пароль (от 8 до 128 символов).
  5. Выберите базу данных db1 из выпадающего списка Добавить базу данных.
  6. Выберите роль read из выпадающего списка напротив базы данных db1.
  7. Нажмите кнопку Создать.

Выполните следующую команду:

yc managed-mongodb user create user2 \
  --cluster-name <имя_кластера> \
  --password <пароль_пользователя> \
  --permission database=db1,role=read
  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Добавьте ресурс yandex_mdb_mongodb_user.

    resource "yandex_mdb_mongodb_user" "user2" {
      cluster_id = <идентификатор_кластера>
      name       = "user2"
      password   = "<пароль>"
      permission {
        database_name = "db1"
        roles         = [ "read" ]
      }
    }
    
  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

Изменить права пользователяИзменить права пользователя

Чтобы добавить существующему пользователю user1 кластера cluster1 доступ только на чтение к базе данных db2:

Консоль управления
CLI
Terraform
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.
  2. Нажмите на имя кластера cluster1 и выберите вкладку  Пользователи.
  3. Нажмите значок в строке пользователя user1 и выберите пункт Настроить.
  4. Нажмите кнопку Добавить базу данных и выберите базу данных db2.
  5. Нажмите и выберите роль read из выпадающего списка напротив базы данных db2.
  6. Нажмите кнопку Сохранить.

Выполните следующую команду:

yc managed-mongodb user grant-permission user1 \
  --cluster-name cluster1 \
  --database db2 \
  --role read
  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Найдите ресурс yandex_mdb_mongodb_user.

  3. Добавьте блок permission:

    resource "yandex_mdb_mongodb_user" "user1" {
      cluster_id = <идентификатор_кластера>
      name       = "user1"
      password   = "<пароль>"
      permission {
        database_name = "db2"
        roles         = [ "read" ]
      }
    }
    
  4. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  5. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

Была ли статья полезна?

Предыдущая
Управление базами данных
Следующая
Управление шардами
Проект Яндекса
© 2025 ООО «Яндекс.Облако»