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

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

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

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

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

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

Важно

Чтобы изменить права пользователей на уровне всего кластера или отдельной базы данных, используйте интерфейсы Yandex Cloud. Изменения, внесенные командами SQL, не сохраняются.

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

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

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

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

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

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

yc managed-mysql 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.yandexcloud.kz/managed-mysql/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/mysql/v1/user_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>"
            }' \
        mdb.api.yandexcloud.kz:443 \
        yandex.cloud.mdb.mysql.v1.UserService.List
    

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

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

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

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

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

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

  4. Введите имя пользователя базы данных.

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

  5. Введите пароль. Длина пароля — от 8 до 128 символов.

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

    1. Нажмите кнопку Добавить базу данных.
    2. Выберите нужную базу данных из выпадающего списка.
    3. Повторите два предыдущих шага, пока не будут выбраны все требуемые базы данных.
    4. Чтобы удалить базу, добавленную по ошибке, наведите курсор на строку с именем базы и нажмите значок в конце строки.
  7. Настройте привилегии пользователя для каждой из выбранных баз данных:

    1. Нажмите значок в столбце Роли.
    2. Выберите привилегию, которую вы хотите добавить пользователю из выпадающего списка.
    3. Повторите два предыдущих шага, пока не будут добавлены все требуемые привилегии.
  8. Чтобы отозвать привилегию, выданную по ошибке, нажмите значок справа от ее имени.

  9. При необходимости задайте настройки MySQL® и административные привилегии для пользователя.

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

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

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

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

yc managed-mysql user create <имя_пользователя> \
  --cluster-name=<имя_кластера> \
  --password=<пароль_пользователя> \
  --permissions=<список_БД>

Где:

  • cluster-name — имя кластера.

  • password — пароль для пользователя. Длина пароля — от 8 до 128 символов.

  • permissions — список БД, к которым пользователь должен иметь доступ.

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

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

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

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

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

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

    Где:

    • database_name — имя БД, к которой пользователь должен иметь доступ.
    • roles — список привилегий пользователя по отношению к БД.

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

    Длина пароля — от 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. Создайте файл body.json и добавьте в него следующее содержимое:

    {
        "userSpec": {
            "name": "<имя_пользователя>",
            "password": "<пароль_пользователя>",
            "permissions": [
                {
                    "databaseName": "<имя_БД>",
                    "roles": [
                        "<привилегия_1>", "<привилегия_2>", ..., "<привилегия_N>"
                    ]
                }
            ]
        }
    }'
    

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

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

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

    • password — пароль пользователя. Длина пароля — от 8 до 128 символов.

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

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

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

  3. Воспользуйтесь методом User.create и выполните запрос, например, с помощью cURL:

    curl \
        --request POST \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.yandexcloud.kz/managed-mysql/v1/clusters/<идентификатор_кластера>/users' \
        --data "@body.json"
    

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

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

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

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

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

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

  3. Создайте файл body.json и добавьте в него следующее содержимое:

    {
        "cluster_id": "<идентификатор_кластера>",
        "user_spec": {
            "name": "<имя_пользователя>",
            "password": "<пароль_пользователя>",
            "permissions": [
                {
                    "database_name": "<имя_БД>",
                    "roles": [
                        "<привилегия_1>", "<привилегия_2>", ..., "<привилегия_N>"
                    ]
                }
            ]
        }
    }
    

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

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

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

    • password — пароль пользователя. Длина пароля — от 8 до 128 символов.

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

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

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

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

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

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/user_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d @ \
        mdb.api.yandexcloud.kz:443 \
        yandex.cloud.mdb.mysql.v1.UserService.Create \
        < body.json
    
  5. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

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

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

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

  3. Нажмите значок и выберите пункт Изменить пароль.

  4. Задайте новый пароль. Длина пароля — от 8 до 128 символов.

  5. Нажмите кнопку Изменить.

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

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

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

yc managed-mysql user update <имя_пользователя> \
  --cluster-name=<имя_кластера> \
  --password=<новый_пароль>

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

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

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

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

  2. Найдите ресурс yandex_mdb_mysql_user нужного пользователя.

  3. Измените значение поля password:

    resource "yandex_mdb_mysql_user" "<имя_пользователя>" {
      cluster_id = "<идентификатор_кластера>"
      name       = "<имя_пользователя>"
      password   = "<новый_пароль>"
      ...
    }
    

    Длина пароля — от 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.yandexcloud.kz/managed-mysql/v1/clusters/<идентификатор_кластера>/users/<имя_пользователя>' \
        --data '{
                  "updateMask": "password",
                  "password": "<новый_пароль>"
                }'
    

    Где:

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

      В данном случае передается только один параметр.

    • password — новый пароль. Длина пароля от 8 до 128 символов.

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

  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/mysql/v1/user_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "user_name": "<имя_пользователя>",
              "update_mask": {
                "paths": [
                  "password"
                ]
              },
              "password": "<новый_пароль>"
            }' \
        mdb.api.yandexcloud.kz:443 \
        yandex.cloud.mdb.mysql.v1.UserService.Update
    

    Где:

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

      В данном случае передается только один параметр.

    • password — новый пароль. Длина пароля от 8 до 128 символов.

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

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

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

Совет

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

Консоль управления
CLI
Terraform
REST API
gRPC API
  1. Перейдите в сервис Managed Service for MySQL.
  2. Нажмите на имя нужного кластера и выберите вкладку Пользователи.
  3. Нажмите значок и выберите пункт Настроить.
  4. Задайте настройки MySQL® для пользователя.
  5. Нажмите кнопку Сохранить.

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

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

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

yc managed-mysql user update <имя_пользователя> \
  --cluster-name=<имя_кластера> \
  --global-permissions=<список_привилегий> \
  --authentication-plugin=<плагин_аутентификации> \
  --max-questions-per-hour=<максимум_запросов> \
  --max-updates-per-hour=<максимум_запросов_UPDATE> \
  --max-connections-per-hour=<максимум_соединений> \
  --max-user-connections=<максимум_одновременных_соединений>

Где:

  • global-permissions — список административных привилегий через запятую.
  • max-questions-per-hour — максимальное количество запросов в час.
  • max-updates-per-hour — максимальное количество запросов UPDATE в час.
  • max-connections-per-hour — максимальное количество соединений в час.
  • max-user-connections — максимальное количество одновременных соединений.

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

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

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

  2. Найдите ресурс yandex_mdb_mysql_user нужного пользователя.

  3. Чтобы задать ограничения по количеству соединений и запросов, добавьте блок connection_limits к его описанию:

    resource "yandex_mdb_mysql_user" "<имя_пользователя>" {
      ...
      connection_limits {
        max_questions_per_hour   = <максимум_запросов>
        max_updates_per_hour     = <максимум_запросов_UPDATE>
        max_connections_per_hour = <максимум_соединений>
        max_user_connections     = <максимум_одновременных_соединений>
        ...
      }
    }
    

    Где:

    • max-questions-per-hour — максимальное количество запросов в час.
    • max-updates-per-hour — максимальное количество запросов UPDATE в час.
    • max-connections-per-hour — максимальное количество соединений в час.
    • max-user-connections — максимальное количество одновременных соединений.
  4. Чтобы настроить плагин аутентификации пользователя, добавьте блок authentication_plugin к его описанию:

    resource "yandex_mdb_mysql_user" "<имя_пользователя>" {
      ...
      authentication_plugin = "<плагин_аутентификации>"
    }
    
  5. Проверьте корректность настроек.

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

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

      terraform validate
      

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

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

    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.yandexcloud.kz/managed-mysql/v1/clusters/<идентификатор_кластера>/users/<имя_пользователя>' \
        --data '{
                  "updateMask": "globalPermissions,connectionLimits,authenticationPlugin",
                  "globalPermissions": [
                    "<административная_привилегия_1>",
                    "<административная_привилегия_2>",
                    ...,
                    "<административная_привилегия_N>"
                  ],
                  "connectionLimits": {
                    "maxQuestionsPerHour": "<максимум_запросов>",
                    "maxUpdatesPerHour": "<максимум_запросов_UPDATE>",
                    "maxConnectionsPerHour": "<максимум_соединений>",
                    "maxUserConnections": "<максимум_одновременных_соединений>"
                  },
                  "authenticationPlugin": "<плагин_аутентификации>"
                }'
    

    Где:

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

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

    • connectionLimits — настройки подключений для пользователя:

      • maxQuestionsPerHour — максимальное количество запросов в час;
      • maxUpdatesPerHour — максимальное количество запросов UPDATE в час;
      • maxConnectionsPerHour — максимальное количество соединений в час;
      • maxUserConnections — максимальное количество одновременных соединений.

      Минимальное значение для каждой настройки подключений — 0.

    • authenticationPlugin — плагин аутентификации пользователя. Список доступных плагинов см. в описании метода.

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

  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/mysql/v1/user_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "user_name": "<имя_пользователя>",
              "update_mask": {
                "paths": [
                  "global_permissions",
                  "connection_limits",
                  "authentication_plugin"
                ]
              },
              "global_permissions": [
                "<административная_привилегия_1>",
                "<административная_привилегия_2>",
                ...,
                "<административная_привилегия_N>"
              ],
              "connection_limits": {
                "max_questions_per_hour": "<максимум_запросов>",
                "max_updates_per_hour": "<максимум_запросов_UPDATE>",
                "max_connections_per_hour": "<максимум_соединений>",
                "max_user_connections": "<максимум_одновременных_соединений>"
              },
              "authentication_plugin": "<плагин_аутентификации>"
            }' \
        mdb.api.yandexcloud.kz:443 \
        yandex.cloud.mdb.mysql.v1.UserService.Update
    

    Где:

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

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

    • connection_limits — настройки подключений для пользователя:

      • max_questions_per_hour — максимальное количество запросов в час;
      • max_updates_per_hour — максимальное количество запросов UPDATE в час;
      • max_connections_per_hour — максимальное количество соединений в час;
      • max_user_connections — максимальное количество одновременных соединений.

      Минимальное значение для каждой настройки подключений — 0.

    • authentication_plugin — плагин аутентификации пользователя. Список доступных плагинов см. в описании метода.

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

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

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

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

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

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

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

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

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

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

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

  2. Удалите ресурс yandex_mdb_mysql_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.yandexcloud.kz/managed-mysql/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/mysql/v1/user_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "user_name": "<имя_пользователя>"
            }' \
        mdb.api.yandexcloud.kz:443 \
        yandex.cloud.mdb.mysql.v1.UserService.Delete
    

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

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

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

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

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

Консоль управления
CLI
Terraform

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

  1. Добавьте базу db1 в список баз данных.
  2. Добавьте роль SELECT для базы db1.
  1. Создайте пользователя user2:

    yc managed-mysql user create "user2" \
      --cluster-name "cluster1" \
      --password "SecretPassword"
    
  2. Добавьте роль SELECT для базы db1:

    yc managed-mysql users grant-permission "user2" \
      --cluster-name "cluster1" \
      --database "db1" \
      --permissions "SELECT"
    
  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

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

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

    resource "yandex_mdb_mysql_user" "user2" {
      cluster_id = yandex_mdb_mysql_cluster.cluster1.id
      name       = "user2"
      password   = "SecretPassword"
      permission {
        database_name = "db1"
        roles         = ["SELECT"]
      ...
      }
    }
    
  3. Проверьте корректность настроек.

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

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

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