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

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

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

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

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

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

Важно

С помощью команд SQL вы можете назначать пользователям привилегии, но не можете добавлять и изменять пользователей. Подробнее см. в разделе Назначение привилегий и ролей пользователям.

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

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

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

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

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

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

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

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

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

Важно

Для новых пользователей привилегия на создание таблиц в схеме public зависит от версии PostgreSQL:

  • 14 и ниже — привилегия выдается автоматически и отозвать ее нельзя.
  • 15 и выше — привилегию необходимо предоставить пользователю вручную.
Консоль управления
CLI
Terraform
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.

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

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

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

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

    Имена admin, repl, monitor, postgres, mdb_superuser, mdb_admin, mdb_monitor, mdb_replication зарезервированы для собственных нужд Managed Service for PostgreSQL. Создавать пользователей с этими именами нельзя.

  5. Выберите, как задать пароль:

    • Ввести вручную — ввести свой пароль. Длина пароля — от 8 до 128 символов.

    • Сгенерировать — сгенерировать пароль с помощью сервиса Connection Manager.

    Чтобы увидеть пароль, на странице кластера выберите вкладку Пользователи и нажмите Посмотреть пароль в строке нового пользователя. Откроется страница секрета Yandex Lockbox, в котором хранится пароль. Для просмотра паролей требуется роль lockbox.payloadViewer.

  6. Выберите тип защиты от удаления.

    Возможные значения:

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

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

  9. Нажмите кнопку Сохранить.

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

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

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

yc managed-postgresql user create <имя_пользователя> \
   --cluster-name <имя_кластера> \
   --password=<пароль> \
   --permissions=<список_баз> \
   --conn-limit=<максимальное_количество_соединений>

Где:

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

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

    Пароль также можно сгенерировать с помощью сервиса Connection Manager. Для этого вместо --password=<пароль> укажите --generate-password.

    Чтобы увидеть пароль, в консоли управления выберите нужный кластер, перейдите на вкладку Пользователи и нажмите Посмотреть пароль в строке нового пользователя. Откроется страница секрета Yandex Lockbox, в котором хранится пароль. Для просмотра паролей требуется роль lockbox.payloadViewer.

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

  • conn-limit — максимальное количество соединений для пользователя.

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

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

Имена admin, repl, monitor, postgres, mdb_superuser, mdb_admin, mdb_monitor, mdb_replication зарезервированы для собственных нужд Managed Service for PostgreSQL. Создавать пользователей с этими именами нельзя.

Чтобы задать настройки СУБД для пользователя, воспользуйтесь параметрами, описанными в разделе Пользовательские настройки.

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

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

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

    Полный список доступных для изменения полей конфигурации пользователей кластера Managed Service for PostgreSQL см. в документации провайдера Terraform.

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

    resource "yandex_mdb_postgresql_user" "<имя_пользователя>" {
      cluster_id = "<идентификатор_кластера>"
      name       = "<имя_пользователя>"
      password   = "<пароль>"
      grants     = [ "<роль1>","<роль2>" ]
      login      = <разрешение_на_вход_в_БД>
      conn_limit = <максимальное_количество_соединений>
      deletion_protection = <защита_от_удаления>
      settings   = {
        <настройки_БД>
      }
      permission {
        database_name = "<имя_БД>"
      }
    }
    

    Где:

    • login — разрешение на вход в БД: true или false.
    • deletion_protection — защита пользователя от удаления: true, false или unspecified (наследует значение от кластера). Значение по умолчанию — unspecified.

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

    Имена admin, repl, monitor, postgres, mdb_superuser, mdb_admin, mdb_monitor, mdb_replication зарезервированы для собственных нужд Managed Service for PostgreSQL. Создавать пользователей с этими именами нельзя.

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

    Пароль также можно сгенерировать с помощью сервиса Connection Manager. Для этого вместо password = "<пароль>" укажите generate_password = true.

    Чтобы увидеть пароль, в консоли управления выберите нужный кластер, перейдите на вкладку Пользователи и нажмите Посмотреть пароль в строке нового пользователя. Откроется страница секрета Yandex Lockbox, в котором хранится пароль. Для просмотра паролей требуется роль lockbox.payloadViewer.

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

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

  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.yandexcloud.kz/managed-postgresql/v1/clusters/<идентификатор_кластера>/users' \
      --data '{
                "userSpec": {
                  "name": "<имя_пользователя>",
                  "password": "<пароль_пользователя>",
                  "permissions": [
                    {
                      "databaseName": "<имя_БД>"
                    }
                  ],
                  "connLimit": "<максимальное_количество_подключений_к_БД>",
                  "deletionProtection": <защита_от_удаления>
                }
              }'
    

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

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

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

      Имена admin, repl, monitor, postgres, mdb_superuser, mdb_admin, mdb_monitor, mdb_replication зарезервированы для собственных нужд Managed Service for PostgreSQL. Создавать пользователей с этими именами нельзя.

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

      Пароль также можно сгенерировать с помощью сервиса Connection Manager. Для этого вместо "password": "<пароль_пользователя>" укажите "generatePassword": true.

      Чтобы увидеть пароль, в консоли управления выберите нужный кластер, перейдите на вкладку Пользователи и нажмите Посмотреть пароль в строке нового пользователя. Откроется страница секрета Yandex Lockbox, в котором хранится пароль. Для просмотра паролей требуется роль lockbox.payloadViewer.

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

    • connLimit — максимальное количество подключений к БД для пользователя.

    • deletionProtection — защита пользователя от удаления: true, false или unspecified (наследует значение от кластера). Значение по умолчанию — unspecified.

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

  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/postgresql/v1/user_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<идентификатор_кластера>",
            "user_spec": {
              "name": "<имя_пользователя>",
              "password": "<пароль_пользователя>",
              "permissions": [
                {
                  "database_name": "<имя_БД>"
                }
              ],
              "conn_limit": "<максимальное_количество_подключений_к_БД>",
              "deletion_protection": <защита_от_удаления>
            }
          }' \
      mdb.api.yandexcloud.kz:443 \
      yandex.cloud.mdb.postgresql.v1.UserService.Create
    

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

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

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

      Имена admin, repl, monitor, postgres, mdb_superuser, mdb_admin, mdb_monitor, mdb_replication зарезервированы для собственных нужд Managed Service for PostgreSQL. Создавать пользователей с этими именами нельзя.

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

      Пароль также можно сгенерировать с помощью сервиса Connection Manager. Для этого вместо "password": "<пароль_пользователя>" укажите "generate_password": true.

      Чтобы увидеть пароль, в консоли управления выберите созданный кластер, перейдите на вкладку Пользователи и нажмите Посмотреть пароль в строке нового пользователя. Откроется страница секрета Yandex Lockbox, в котором хранится пароль. Для просмотра паролей требуется роль lockbox.payloadViewer.

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

    • conn_limit — максимальное количество подключений к БД для пользователя.

    • deletion_protection — защита пользователя от удаления: true, false или unspecified (наследует значение от кластера). Значение по умолчанию — unspecified.

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

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

Примечание

Сразу после создания пользователь получает только привилегию CONNECT для выбранных баз данных, и не может выполнять никакие операции с базами данных. Чтобы дать пользователю доступ к базам, назначьте ему нужные привилегии или роли.

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

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

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

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

  4. Выберите, как задать новый пароль:

    • Ввести вручную — ввести свой пароль. Длина пароля — от 8 до 128 символов.

    • Сгенерировать — сгенерировать пароль с помощью сервиса Connection Manager.

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

    Чтобы увидеть новый пароль, на странице кластера выберите вкладку Пользователи и нажмите Посмотреть пароль в строке нужного пользователя. Откроется страница секрета Yandex Lockbox, в котором хранится пароль. Новая версия пароля отмечается как Текущая.

    Для просмотра паролей требуется роль lockbox.payloadViewer.

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

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

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

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

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

Новый пароль также можно сгенерировать с помощью сервиса Connection Manager. Для этого вместо --password=<новый_пароль> укажите --generate-password.

Чтобы увидеть новый пароль, в консоли управления выберите кластер, перейдите на вкладку Пользователи и нажмите Посмотреть пароль в строке нужного пользователя. Откроется страница секрета Yandex Lockbox, в котором хранится пароль. Новая версия пароля отмечается как Текущая.

Для просмотра паролей требуется роль lockbox.payloadViewer.

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

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

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

    Полный список доступных для изменения полей конфигурации пользователей кластера Managed Service for PostgreSQL см. в документации провайдера Terraform.

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

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

    resource "yandex_mdb_postgresql_user" "<имя_пользователя>" {
      ...
      name     = "<имя_пользователя>"
      password = "<новый_пароль>"
      ...
    }
    

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

    Новый пароль также можно сгенерировать с помощью сервиса Connection Manager. Для этого вместо password = "<новый_пароль>" укажите generate_password = true.

    Чтобы увидеть новый пароль, в консоли управления выберите кластер, перейдите на вкладку Пользователи и нажмите Посмотреть пароль в строке нужного пользователя. Откроется страница секрета Yandex Lockbox, в котором хранится пароль. Новая версия пароля отмечается как Текущая.

    Примечание

    Если старый пароль был сгенерирован, его нельзя перегенерировать с помощью Terraform из-за ограничений провайдера.

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

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

    Где:

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

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

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

      Пароль также можно сгенерировать с помощью сервиса Connection Manager. Для этого измените содержимое поля data:

      {
        "updateMask": "generatePassword",
        "generatePassword": true
      }
      

      Чтобы увидеть новый пароль, в консоли управления выберите кластер, перейдите на вкладку Пользователи и нажмите Посмотреть пароль в строке нужного пользователя. Откроется страница секрета Yandex Lockbox, в котором хранится пароль. Новая версия пароля отмечается как Текущая.

      Для просмотра паролей требуется роль lockbox.payloadViewer.

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

  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/postgresql/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.postgresql.v1.UserService.Update
    

    Где:

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

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

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

      Пароль также можно сгенерировать с помощью сервиса Connection Manager. Для этого измените содержимое параметра d:

      {
        "cluster_id": "<идентификатор_кластера>",
        "user_name": "<имя_пользователя>",
        "update_mask": {
          "paths": [
            "generate_password"
          ]
        },
        "generate_password": true
      }
      

      Чтобы увидеть новый пароль, в консоли управления выберите кластер, перейдите на вкладку Пользователи и нажмите Посмотреть пароль в строке нужного пользователя. Откроется страница секрета Yandex Lockbox, в котором хранится пароль. Новая версия пароля отмечается как Текущая.

      Для просмотра паролей требуется роль lockbox.payloadViewer

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

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

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

Примечание

Привилегии и роли PostgreSQL не затрагиваются этими настройками и настраиваются отдельно.

О том, как задать привилегии и роли для пользователя, читайте в разделе Назначение привилегий и ролей пользователям.

Консоль управления
CLI
Terraform
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
  2. Нажмите на имя нужного кластера и выберите вкладку Пользователи.
  3. Нажмите значок и выберите пункт Настроить.
  4. Настройте права пользователя на доступ к определенным базам данных:
    1. Чтобы предоставить доступ к требуемым базам данных:
      1. В поле База данных нажмите значок справа от выпадающего списка.
      2. Выберите базу данных из выпадающего списка.
      3. Повторите два предыдущих шага, пока не будут выбраны все требуемые базы данных.
    2. Чтобы отозвать доступ к определенной базе, нажмите значок справа от имени базы.
  5. Нажмите Настройки СУБД, чтобы изменить максимальное допустимое количество соединений пользователя (Conn limit), возможность подключения к кластеру (Login) или другие настройки PostgreSQL.
  6. Нажмите кнопку Сохранить.

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

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

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

  1. Чтобы настроить права пользователя на доступ к определенным базам данных, выполните команду, перечислив список имен баз данных с помощью параметра --permissions:

    yc managed-postgresql user update <имя_пользователя> \
         --cluster-name=<имя_кластера> \
         --permissions=<список_баз>
    

    Где:

    • cluster-name — имя кластера.
    • permissions — список баз, к которым пользователь должен иметь доступ.

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

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

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

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

    yc managed-postgresql user update <имя_пользователя> \
         --cluster-name=<имя_кластера> \
         --<настройка_1>=<значение_1> \
         --<настройка_2>=<значение_2> \
         --<настройка_3>=<список_значений> \
         ...
    

    Чтобы изменить лимит подключений пользователя, используйте параметр --conn-limit.

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

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

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

    Полный список доступных для изменения полей конфигурации пользователей кластера Managed Service for PostgreSQL см. в документации провайдера Terraform.

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

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

    2. Добавьте блоки permission с именами нужных баз данных:

      resource "yandex_mdb_postgresql_user" "<имя_пользователя>" {
        ...
        name = "<имя_пользователя>"
        permission {
          database_name = "<имя_БД>"
        }
        permission {
          database_name = "<имя_БД>"
        }
        ...
      }
      
  3. Чтобы отозвать у пользователя права на доступ к определенной базе, удалите блок permission с ее именем из конфигурационного файла.

  4. Чтобы изменить настройки PostgreSQL для пользователя, передайте параметры, отвечающие за требуемые настройки, в блоке settings:

    resource "yandex_mdb_postgresql_user" "<имя_пользователя>" {
      ...
      name     = "<имя_пользователя>"
      settings = {
        <настройки_БД>
      }
      ...
    }
    
  5. Проверьте корректность настроек.

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

  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-postgresql/v1/clusters/<идентификатор_кластера>/users/<имя_пользователя>' \
      --data '{
                "updateMask": "settings",
                "settings": {
                  <набор_настроек>
                }
              }'
    

    Где:

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

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

    • settings — новые настройки. Доступный набор настроек см. в описании метода и в разделе Настройки на уровне пользователя.

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

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

    Где:

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

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

    • settings — новые настройки. Доступный набор настроек см. в описании метода и в разделе Настройки на уровне пользователя.

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

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

Настроить защиту от удаленияНастроить защиту от удаления

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

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

  3. Добавьте параметр deletion_protection. Возможные значения: true, false или unspecified (наследует значение от кластера). Значение по умолчанию — unspecified.

    resource "yandex_mdb_postgresql_user" "<имя_пользователя>" {
      ...
      deletion_protection = <защита_от_удаления>
      ...
    }
    
  4. Проверьте корректность настроек.

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

  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-postgresql/v1/clusters/<идентификатор_кластера>/users/<имя_пользователя>' \
      --data '{
                "updateMask": "deletionProtection",
                "deletionProtection": <защита_от_удаления>
                }
              }'
    

    Где:

    Где:

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

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

    • deletionProtection — защита пользователя от удаления: true, false или unspecified (наследует значение от кластера). Значение по умолчанию — unspecified.

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

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

    Где:

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

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

    • deletion_protection — защита пользователя от удаления: true, false или unspecified (наследует значение от кластера). Значение по умолчанию — unspecified.

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

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

Важно

Защита от удаления действует только на уровне конкретного пользователя. При удалении кластера будут удалены все пользователи, в том числе защищенные от удаления.

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

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

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

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

  1. Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
  2. Нажмите на имя нужного кластера и выберите вкладку Пользователи.
  3. Нажмите значок и выберите пункт Удалить.
  4. Подтвердите удаление.

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

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

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

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

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

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

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

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

    Полный список доступных для изменения полей конфигурации кластера Managed Service for PostgreSQL см. в документации провайдера Terraform.

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

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

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

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

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

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

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

SQL
Terraform

Внимание

Не используйте этот пример, если пользователь создан с помощью Terraform: последующие изменения, сделанные через Terraform, могут отменить привилегии пользователя, сделанные через SQL.

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

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

  2. Подключитесь к базе данных db1 с помощью учетной записи владельца БД.

  3. Выдайте пользователю user2 нужные права доступа.

    Примеры:

    • Разрешить доступ только к таблице Products в схеме по умолчанию public:

      GRANT SELECT ON public.Products TO user2;
      
    • Разрешить доступ к объектам схемы myschema:

      GRANT USAGE ON SCHEMA myschema TO user2;
      
    • Разрешить доступ ко всем таблицам и последовательностям схемы myschema:

      GRANT SELECT ON ALL TABLES IN SCHEMA myschema TO user2;
      GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA myschema to user2;
      
    • Разрешить вызов функции my_function в схеме myschema:

      GRANT EXECUTE ON FUNCTION myschema.my_function TO user2;
      
    • Изменить привилегии по умолчанию для таблиц и последовательностей схемы myschema:

      ALTER DEFAULT PRIVILEGES IN SCHEMA myschema GRANT SELECT ON TABLES TO user2;
      ALTER DEFAULT PRIVILEGES IN SCHEMA myschema GRANT USAGE, SELECT ON SEQUENCES TO user2;
      

      Команды ALTER DEFAULT PRIVILEGES позволяют изменить права доступа к объектам (в данном случае — к таблицам и последовательностям схемы myschema), которые будут созданы в будущем, но не затрагивают права, назначенные уже существующим объектам.

      Чтобы изменить привилегии существующих объектов, используйте команды GRANT и REVOKE.

Выдать привилегию пользователю через Terraform можно только в кластере с хостами в публичном доступе.

Для выдачи привилегий пользователям через Terraform используется сторонний провайдер — Terraform Provider for PostgreSQL.

Примечание

Terraform Provider for PostgreSQL не является частью сервиса Managed Service for PostgreSQL и не сопровождается командой разработки и службой поддержки Yandex Cloud, а его использование не входит в условия использования Yandex Managed Service for PostgreSQL.

Подробнее о выдаче привилегий см. в разделе Выдать привилегию пользователю.

Допустим, существует кластер mypg с пользователем user1 в роли владельца. Чтобы добавить в него нового пользователя user2 с доступом только на чтение из таблиц в схеме public базы данных db1:

  1. Добавьте провайдер postgresql в блок required_providers в файле с настройками провайдера:

    terraform {
      required_providers {
        ...
        postgresql = {
          source   = "cyrilgdn/postgresql"
        }
        ...
      }
    }
    
  2. Откройте конфигурационный файл Terraform с планом инфраструктуры.

  3. Добавьте ресурс yandex_mdb_postgresql_user:

    resource "yandex_mdb_postgresql_user" "user2" {
      cluster_id      = yandex_mdb_postgresql_cluster.mypg.id
      name            = "user2"
      password        = "user2user2"
      permission {
        database_name = yandex_mdb_postgresql_database.db1.name
      }
    }
    
  4. Добавьте провайдер postgresql и настройте для него доступ к базе данных db1:

    provider "postgresql" {
      host            = yandex_mdb_postgresql_cluster.mypg.host[0].fqdn
      port            = 6432
      database        = yandex_mdb_postgresql_database.db1.name
      username        = yandex_mdb_postgresql_user.user1.name
      password        = yandex_mdb_postgresql_user.user1.password
    }
    
  5. Добавьте ресурс postgresql_grant со следующими атрибутами:

    resource "postgresql_grant" "readonly_tables" {
      database          = yandex_mdb_postgresql_database.db1.name
      role              = yandex_mdb_postgresql_user.user2.name
      object_type       = "table"
      privileges        = ["SELECT"]
      schema            = "public"
    }
    
  6. Повторно инициализируйте Terraform:

    terraform init
    
  7. Проверьте корректность настроек.

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

Отозвать права доступаОтозвать права доступа

SQL
Terraform
  1. Подключитесь к базе данных db1 с помощью учетной записи владельца БД.

  2. Отзовите у пользователя user2 нужные права доступа.

    Примеры:

    1. Отозвать все привилегии для таблиц схемы myschema:

      REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA myschema FROM user2;
      
    2. Отозвать доступ к таблице Products в схеме по умолчанию public:

      REVOKE SELECT ON public.Products FROM user2;
      
    3. Отозвать доступ ко всем таблицам схемы myschema:

      REVOKE SELECT ON ALL TABLES IN SCHEMA myschema FROM user2;
      
    4. Отозвать доступ к объектам схемы myschema:

      REVOKE USAGE ON SCHEMA myschema FROM user2;
      
  1. Откройте конфигурационный файл Terraform, с помощью которого назначались привилегии.

  2. В блоке postgresql_grant удалите привилегию, которую хотите отозвать, из параметра privileges.

    Чтобы отозвать все привилегии, оставьте массив privileges пустым или удалите ресурс postgresql_grant целиком.

    resource "postgresql_grant" "readonly_tables" {
      database          = yandex_mdb_postgresql_database.db1.name
      role              = yandex_mdb_postgresql_user.user2.name
      object_type       = "table"
      privileges        = []
      schema            = "public"
    }
    
  3. Проверьте корректность настроек.

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

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