00 Занятие 00: PostgreSQL 16 / Основы безопасности
Эта страница извлечена из официального PDF в нативный Markdown. Текст слайдов, код и комментарии сохранены в порядке чтения; исходные PDF и HTML остаются эталоном макета. HTML source: dbs_00_introduction.html Archive: DBS-handouts-16.zip Страниц PDF: 9
Page 1: PostgreSQL 16 / Основы безопасности
Авторские права
© Postgres Professional, 2017–2026 Авторы: Егор Рогов, Павел Лузанов, Илья Баштанов, Алексей Береснев Фото: Олег Бартунов (монастырь Пху и пик Бхрикути, Непал)
Использование материалов курса
Некоммерческое использование материалов курса (презентации, демонстрации) разрешается без ограничений. Коммерческое использование возможно только с письменного разрешения компании Postgres Professional. Запрещается внесение изменений в материалы курса.
Обратная связь
Отзывы, замечания и предложения направляйте по адресу: edu@postgrespro.ru
Отказ от ответственности
Компания Postgres Professional не несет никакой ответственности за любые повреждения и убытки, включая потерю дохода, нанесенные прямым или непрямым, специальным или случайным использованием материалов курса. Компания Postgres Professional не предоставляет каких-либо гарантий на материалы курса. Материалы курса предоставляются на основе принципа «как есть» и компания Postgres Professional не обязана предоставлять сопровождение, поддержку, обновления, расширения и изменения.
Page 2: Администраторам
{#source-figure-002 caption=“Source slide page 2: Администраторам”}
- DBA2, 4 дня
Комментарии преподавателя
Для прохождения всех курсов необходимы предварительные знания основ языка SQL. Специального курса по языку SQL в нашей линейке курсов нет, но существует множество книг и других образовательных ресурсов, с помощью которых можно освоить SQL. Мы рекомендуем книгу Евгения Моргунова «PostgreSQL. Основы языка SQL»:
https://postgrespro.ru/education/books/sqlprimer
Для администраторов мы предлагаем следующие курсы.
Курс DBA1 является базовым, он содержит сведения об архитектуре PostgreSQL, процессе установки, настройке и управлению сервером. Рассматриваются основные задачи администрирования, приводится обзор разграничения доступа, резервного копирования и репликации.
В курсе DBA2 обсуждается настройка конфигурационных параметров исходя из понимания внутренней организации сервера; говорится о мониторинге сервера с использованием обратной связи для итеративной настройки параметров.
Курс DBA3 посвящен рассмотрению резервного копирования, а также настройкам физической и логической репликации и сценариям ее использования. Также дается общее представление о способах и сложностях построения высокодоступных, масштабируемых кластеров.
В курсе QPT детально разбираются механизмы планирования и выполнения запросов, рассматривается настройка параметров экземпляра, связанных с производительностью, и изучаются возможности для поиска проблемных запросов и их оптимизации.
В курсе PGPRO рассматриваются дополнительные возможности, которые предоставляет СУБД Postgres Pro Enterprise.
Page 3: Разработчикам
{#source-figure-003 caption=“Source slide page 3: Разработчикам”}
- DEV2, 4 дня
Комментарии преподавателя
Для разработчиков серверной части приложений мы предлагаем следующие курсы.
Базовым курсом для разработчиков является курс DEV1, в котором даются общие сведения об архитектуре PostgreSQL и использовании основных объектов базы данных; изучается программирование на стороне сервера на языках SQL и PL/pgSQL с использованием основных типов данных (включая составной тип и массивы), а также рассматривается взаимодействие с клиентской частью.
В курсе DEV2 рассматриваются особенности внутреннего устройства сервера, влияющие на разработку прикладного кода, и всесторонне изучается расширяемость: возможность дополнить серверные механизмы собственным кодом, что позволяет использовать PostgreSQL для решения самых разнообразных задач.
Курсы DBS, QPT и PGPRO являются общими для разработчиков и администраторов.
Разработчикам могут быть интересны и курсы по администрированию, если есть необходимость детальнее изучить внутреннее устройство PostgreSQL, а также в случае, когда на проекте нет выделенной роли администратора.
https://postgrespro.ru/education/courses
Page 4: О курсе DBS
Продолжительность: 2 дня
- Предварительные знания
- знание SQL
- знакомство с Unix
- PostgreSQL в объеме курса DBA1 или DEV1
- Какие навыки будут получены
- управление доступом к объектам на основе ролевой модели
- разграничение доступа на уровне строк
- настройка подключения и аутентификации
Комментарии преподавателя
Курс «Основы безопасности PostgreSQL» рассказывает про конфигурирование подключений клиентов к СУБД и про управление доступом внутри самой СУБД. Этот курс предназначен в первую очередь для администраторов, поскольку рассматривает вопросы настройки экземпляра. Но может быть интересен и разработчикам, позволяя взглянуть с другой стороны — в контексте безопасности — на использование ролей и распределение данных по схемам и таблицам.
Page 5: Используемые материалы
Подготовленная виртуальная машина
- ОС Xubuntu 24.04
- PostgreSQL 16
- документация на русском языке
- Учебные материалы
- презентации, демонстрации, практические задания и их решение
- (в форматах html и pdf)
- справочный материал — команды создания сертификатов OpenSSL,
- используемых в курсе
Комментарии преподавателя
Если вы проходите курс самостоятельно, обязательно начните со знакомства с Руководством слушателя. В числе прочего в нем написано, где скачать и как использовать виртуальную машину курса и прочие материалы. Все материалы курса, включая Руководство слушателя, доступны по адресу: https://postgrespro.ru/education/courses/DBS
Выполнение практических заданий очень важно для получения навыков работы с PostgreSQL. Обязательно старайтесь сначала самостоятельно выполнить задания, а затем просмотрите предлагаемые нами решения, даже если задание не вызвало вопросов. В решениях могут содержаться дополнительные сведения, которые не упоминаются в презентациях и демонстрациях.
Учебные материалы (презентации, демонстрации, практические задания и их решения) доступны в двух форматах. Формат html удобен для онлайн-работы, он позволяет копировать фрагменты текста и кода. Формат pdf разбит на страницы и удобен для печати на бумаге.
Справочный материал может быть полезен для самостоятельной настройки дополнительных SSL-соединений.
Page 6: Виртуальная машина
Имя хоста виртуальной машины:
Адрес 127.0.1.1 привязан к доменному имени хоста и используется в демонстрациях и практических заданиях курса. Адреса 127.0.0.1 (localhost) и 127.0.1.1 (course.local) связаны с закольцовывающим интерфейсом, но соответствуют разным именам хостов. В виртуальной машине курса инициализирован стандартный кластер main:
В конфигурационные файлы pg_hba.conf и pg_ident.conf добавлены директивы include_dir, чтобы можно было менять настройки, добавляя и удаляя дополнительные конфигурационные файлы в подкаталогах pg_hba.conf.d и pg_ident.conf.d соответственно.
Для темы «Внешняя аутентификация» в виртуальной машине настроены службы OpenLDAP и Kerberos:
Page 7: Организационные вопросы
День: ~8 академических часов + обед (1час)
- Каждая тема, как правило, состоит из
- презентации и демонстрации: ~40–60 мин
- практических заданий: ~30 мин, включая перерыв
Page 8: День 1
Управление доступом
- Роли и привилегии
- Членство в ролях
- Доступ на уровне строк
- Подходы к настройке
Page 9: День 2
Методы аутентификации
- Подключение и аутентификация
- Использование SSL
- Внешняя аутентификация