Merge branch 'feature/PaaS-PostgreSQL' of ssh://git.vimpelcom.ru:1122/common/lk-beecloud/beecloud-docs into feature/PaaS-PostgreSQL

This commit is contained in:
Yana Ishkhanova
2026-03-27 16:12:17 +03:00
9 changed files with 210 additions and 275 deletions
+2 -2
View File
@@ -168,9 +168,9 @@ export default defineConfig({
collapsed: true, collapsed: true,
items: [ items: [
{text: 'Обзор сервиса', link: '/PaaS/PostgreSQL/about.md'}, {text: 'Обзор сервиса', link: '/PaaS/PostgreSQL/about.md'},
{text: 'Описание раздела', link: '/PaaS/PostgreSQL/cluster_parameter.md'}, {text: 'Описание раздела', link: '/PaaS/PostgreSQL/cluster-parameter.md'},
{text: 'Общая схема подключения', link: '/PaaS/PostgreSQL/connection.md'}, {text: 'Общая схема подключения', link: '/PaaS/PostgreSQL/connection.md'},
{text: 'Создание сервиса', link: '/PaaS/postgPostgreSQLresql/user_capabilities.md'}, {text: 'Возможности пользователя', link: '/PaaS/PostgreSQL/user-capabilities.md'},
{text: 'Веб-интерфейс pgAdmin', link: '/PaaS/PostgreSQL/pgadmin.md'}, {text: 'Веб-интерфейс pgAdmin', link: '/PaaS/PostgreSQL/pgadmin.md'},
{text: 'Веб-интерфейс Grafana', link: '/PaaS/PostgreSQL/grafana.md'}, {text: 'Веб-интерфейс Grafana', link: '/PaaS/PostgreSQL/grafana.md'},
], ],
+54 -31
View File
@@ -1,46 +1,55 @@
## О разделе # Параметры конфигурации IPsec-соединения
В данном разделе приведены параметры конфигурации IPsec-соединения, используемого для организации защищенного канала связи между инфраструктурой заказчика и кластерами. Материал описывает настройки этапов установки соединения и передачи данных, включая методы аутентификации, алгоритмы шифрования и хэширования, группы Диффи-Хеллмана, а также параметры времени жизни ключей. Часть параметров определяется клиентом при заказе услуги, часть является фиксированной и не подлежит изменению. В данном разделе приведены параметры конфигурации IPsec-соединения, используемого для организации защищенного канала связи между инфраструктурой заказчика и кластерами. Материал описывает настройки этапов установки соединения и передачи данных, включая методы аутентификации, алгоритмы шифрования и хэширования, группы Диффи-Хеллмана, а также параметры времени жизни ключей.
## Параметры конфигурации IPSEC
Ниже приведены основные параметры, задаваемые при развертывании кластера Kafka. Часть параметров определяется клиентом на этапе заказа услуги, часть - фиксирована и не подлежит изменению. Ниже приведены основные параметры, задаваемые при развертывании кластера Kafka. Часть параметров определяется клиентом на этапе заказа услуги, часть - фиксирована и не подлежит изменению.
### Данные о конфигурации IPSEC ## Данные о конфигурации IPSEC
Параметры подключения (имя туннеля, устройство, публичный IP-адрес) заполняются вручную на основании информации, предоставленной заказчиком. Параметры подключения (имя туннеля, устройство, публичный IP-адрес) заполняются вручную на основании информации, предоставленной заказчиком.
### Версия IKE (Internet Key Exchange) #### Версия IKE (Internet Key Exchange)
Версия IKE выбирается из выпадающего списка, который содержит в себе два параметра - **v1** и **v2**. Разница заключается в том, что **IKE v1** - более ранняя версия протокола. Версия IKE выбирается из выпадающего списка, который содержит в себе два параметра - **v1** и **v2**.
**IKE v2** - более современная версия, обеспечивающая лучшую устойчивость соединения и более гибкую обработку ошибок. Рекомендуется использовать IKE v2, если оборудование заказчика это поддерживает.
### Метод аутентификации - **IKE v1** - более ранняя версия протокола;
- **IKE v2** - более современная версия (обеспечивает более устойчивое соединение и гибкую обработку ошибок).
Рекомендуется использовать **IKE v2**, если оборудование заказчика это поддерживает.
## Метод аутентификации
Метод аутентификации выбирается вручную из выпадающего списка, который содержит два варианта:
Метод аутентификации выбирается вручную из выпадающего списка, который содержит два варианта: _PSK_ (Pre-Shared Key) и _Certificate_ (Сертификат).
- **PSK (Pre-Shared Key)** - метод аутентификации, при котором используется заранее согласованный общий ключ; - **PSK (Pre-Shared Key)** - метод аутентификации, при котором используется заранее согласованный общий ключ;
- **Certificate** - аутентификация с использованием цифровых сертификатов. - **Certificate** - аутентификация с использованием цифровых сертификатов.
## Этап 1 - установка защищенного соединения ## Этап 1 - установка защищенного соединения
### Hash #### Hash
Определяет алгоритм хэширования **для защиты управляющего канала**.
Данный параметр заполняется вручную из выпадающего списка следующего содержания:
Определяет алгоритм хэширования для защиты управляющего канала. Данный параметр заполняется вручную из выпадающего списка следующего содержания:
- **SHA 1** - Формирует хэш длиной 160 бит, имеет коллизии (уязвимости), в современных системах считается устаревшим, используется только для совместимости со старым оборудованием; - **SHA 1** - Формирует хэш длиной 160 бит, имеет коллизии (уязвимости), в современных системах считается устаревшим, используется только для совместимости со старым оборудованием;
- **SHA 2 - 256** - Формирует хэш длиной 256 бит, существенно более устойчив к атакам, оптимальный баланс между безопасностью и производительностью, а также, на сегодняшний день, является стандартом по умолчанию в большинстве систем; - **SHA 2 - 256** - Формирует хэш длиной 256 бит, существенно более устойчив к атакам, оптимальный баланс между безопасностью и производительностью, а также, на сегодняшний день, является стандартом по умолчанию в большинстве систем;
- **SHA 2 - 384** - Длина хэша составляет 384 бита, имеет повышенную криптостойкость, требует больше вычислительных ресурсов, чем SHA-1 и SHA 2-256. Используется в средах с повышенными требованиями к безопасности; - **SHA 2 - 384** - Длина хэша составляет 384 бита, имеет повышенную криптостойкость, требует больше вычислительных ресурсов, чем SHA-1 и SHA 2-256. Используется в средах с повышенными требованиями к безопасности;
- **SHA 2 - 512** - Длина хэша составляет 512 бит, осуществляет самый высокий уровень стойкости из перечисленных, а также создает большую нагрузку на процессор. Обычно применяется в системах с повышенными требованиями к криптографии. - **SHA 2 - 512** - Длина хэша составляет 512 бит, осуществляет самый высокий уровень стойкости из перечисленных, а также создает большую нагрузку на процессор. Обычно применяется в системах с повышенными требованиями к криптографии.
### Шифрование #### Шифрование
Определяет **алгоритм симметричного шифрования.**
Данный параметр заполняется вручную из выпадающего списка следующего содержания:
Определяет алгоритм симметричного шифрования. Данный параметр заполняется вручную из выпадающего списка следующего содержания:
- **AES 128** - имеет 128-битный ключ, обеспечивает быстрое шифрование, имеет достаточный уровень безопасности для большинства задач; - **AES 128** - имеет 128-битный ключ, обеспечивает быстрое шифрование, имеет достаточный уровень безопасности для большинства задач;
- **AES 256** - имеет 256-битный ключ, обеспечивает более высокую криптостойкость, оказывает немного большую нагрузку на CPU; - **AES 256** - имеет 256-битный ключ, обеспечивает более высокую криптостойкость, оказывает немного большую нагрузку на CPU;
- **AES GCM 12** / **AES GCM 192** / **AES GCM 256** - данные алгоритмы совмещают шифрование и контроль целостности, обладают более современным режимом работы, считаются более эффективными по производительности, а также рекомендуются в современных конфигурациях. Разница между этими тремя алгоритмами лишь в длине ключа. - **AES GCM 12** / **AES GCM 192** / **AES GCM 256** - данные алгоритмы совмещают шифрование и контроль целостности, обладают более современным режимом работы, считаются более эффективными по производительности, а также рекомендуются в современных конфигурациях. Разница между этими тремя алгоритмами лишь в длине ключа.
### DH Group - группа Деффи Хеллмана #### DH Group - группа Деффи Хеллмана
Механизм Diffie-Hellman используется для безопасной генерации общего секретного ключа между сторонами туннеля без передачи этого ключа по сети. Механизм Diffie-Hellman используется **для безопасной генерации общего секретного ключа** между сторонами туннеля без передачи этого ключа по сети.
Чем выше номер группы и длина ключа - тем выше криптографическая стойкость соединения. Чем выше номер группы и длина ключа - тем выше криптографическая стойкость соединения.
Данный параметр так же содержит в себе выпадающий список, состоящий из следующих значений: Данный параметр так же содержит в себе выпадающий список, состоящий из следующих значений:
@@ -53,54 +62,65 @@
- **group 20**; - **group 20**;
- **group 21**. - **group 21**.
### IKE Mode (только для IKEv1) #### IKE Mode (только для IKEv1)
Параметр IKE Mode определяет способ установления соединения на этапе 1 при использовании протокола IKEv1. Параметр IKE Mode **определяет способ установления соединения** на этапе 1 при использовании протокола IKEv1.
Доступны два режима: **Main** и **Aggressive**. Они отличаются количеством сообщений при установке соединения и уровнем защиты идентификационных данных. Доступны два режима: **Main** и **Aggressive**. Они отличаются количеством сообщений при установке соединения и уровнем защиты идентификационных данных.
- Main Mode - является стандартным и более безопасным режимом работы IKEv1. - Main Mode - является стандартным и более безопасным режимом работы IKEv1.
- Aggressive Mode - упрощённый и ускоренный режим установления соединения. (более низкий уровень защиты данных) - Aggressive Mode - упрощённый и ускоренный режим установления соединения. (более низкий уровень защиты данных)
### Время жизни #### Время жизни
Определяет, как долго действуют согласованные ключи в рамках первой фазы. Определяет, как долго действуют согласованные ключи в рамках первой фазы.
- Рекомендуемое значение: 86400 секунд (24 часа); - Рекомендуемое значение: 86400 секунд (24 часа);
- После истечения времени выполняется повторная генерация ключей. - После истечения времени выполняется повторная генерация ключей.
## Этап 2 - передача данных ## Этап 2 - передача данных
Этап 2 IPsec-соединения отвечает за шифрование и защиту пользовательского трафика после того, как защищённый канал был установлен на этапе 1. Этот этап регулирует передачу данных между сторонами через безопасный туннель, который обеспечивает конфиденциальность и целостность данных. Этап 2 IPsec-соединения отвечает за шифрование и защиту пользовательского трафика после того, как защищённый канал был установлен на этапе 1. Этот этап регулирует передачу данных между сторонами через безопасный туннель, который обеспечивает конфиденциальность и целостность данных.
## Hash #### Hash
Аналогично этапу 1, параметр Hash используется **для защиты целостности передаваемых данных**. Он обеспечивает проверку, что данные не были изменены при передаче.
Содержит элементы для выбора:
Аналогично этапу 1, параметр Hash используется для защиты целостности передаваемых данных. Он обеспечивает проверку, что данные не были изменены при передаче. Содержит такой же перечень элементов для выбора:
- **SHA 1**; - **SHA 1**;
- **SHA 2 - 256**; - **SHA 2 - 256**;
- **SHA 2 - 384**; - **SHA 2 - 384**;
- **SHA 2 - 512**. - **SHA 2 - 512**.
## Шифрование #### Шифрование
Этап 2 отвечает за **шифрование пользовательского трафика**. Это важнейший параметр, который защищает данные при их передаче по сети.
Доступны следующие алгоритмы:
Этап 2 отвечает за шифрование пользовательского трафика. Это важнейший параметр, который защищает данные при их передаче по сети. Доступны следующие алгоритмы:
- **AES 128**; - **AES 128**;
- **AES 256**; - **AES 256**;
- **AES GCM 128**; - **AES GCM 128**;
- **AES GCM 192**; - **AES GCM 192**;
- **AES GCM 256**. - **AES GCM 256**.
### PFS #### PFS
**Enable perfect forward secrecy (PFS)** - параметр, активирующий генерацию нового ключа на этапе 2. При включенном PFS группа DH будет такая же как и на 1-й фазе. Данный параметр представлен в виде чекбокса.
При его включении:
**Enable perfect forward secrecy (PFS)** - параметр, активирующий генерацию нового ключа на этапе 2. При включенном PFS группа DH будет такая же как и на 1-й фазе.
Данный параметр представлен в виде чекбокса. При его включении:
- На этапе 2 выполняется дополнительный обмен ключами Diffie-Hellman; - На этапе 2 выполняется дополнительный обмен ключами Diffie-Hellman;
- Для каждой новой IPsec-сессии формируется новый независимый криптографический секрет; - Для каждой новой IPsec-сессии формируется новый независимый криптографический секрет;
- Ключи шифрования пользовательского трафика не зависят от ключей этапа 1. - Ключи шифрования пользовательского трафика не зависят от ключей этапа 1.
### DH Group - группа Деффи Хеллмана #### DH Group - группа Деффи Хеллмана
Группа DH определяет параметры обмена ключами между сторонами. Чем выше номер группы, тем выше криптографическая стойкость и безопасность обмена. Группа DH **определяет параметры обмена ключами** между сторонами. Чем выше номер группы, тем выше криптографическая стойкость и безопасность обмена.
Данный параметр так же содержит в себе выпадающий список, состоящий из следующих значений: Данный параметр так же содержит в себе выпадающий список, состоящий из следующих значений:
- **group 2**; - **group 2**;
- **group 5**; - **group 5**;
- **group 14**; - **group 14**;
@@ -110,12 +130,15 @@
- **group 20**; - **group 20**;
- **group 21**. - **group 21**.
### Время жизни (в секундах) #### Время жизни (в секундах)
Определяет, как долго действуют согласованные ключи в рамках второй фазы. Определяет, как долго действуют согласованные ключи в рамках второй фазы.
- Рекомендуемое значение: 3600 секунд (1 час). - Рекомендуемое значение: 3600 секунд (1 час).
- После истечения времени выполняется повторная генерация ключей. - После истечения времени выполняется повторная генерация ключей.
### Префиксы локальной сети заказчика #### Префиксы локальной сети заказчика
Этот параметр определяет, какие сети на стороне заказчика будут маршрутизироваться через IPsec-туннель. Префиксы задаются в формате `192.168.1.0/24`, который позволяет указать диапазон IP-адресов. Этот параметр определяет, какие сети на стороне заказчика будут маршрутизироваться через IPsec-туннель.
Префиксы задаются в формате `192.168.1.0/24`, который позволяет указать диапазон IP-адресов.
+3 -3
View File
@@ -4,14 +4,14 @@ section_links:
link: /PaaS/PostgreSQL/about.md link: /PaaS/PostgreSQL/about.md
description: Конфигурации и возможности сервиса description: Конфигурации и возможности сервиса
- title: Параметры кластера PostgreSQL - title: Параметры кластера PostgreSQL
link: /PaaS/PostgreSQL/cluster_parameter.md link: /PaaS/PostgreSQL/cluster-parameter.md
description: Технические параметры кластера PostgreSQL description: Технические параметры кластера PostgreSQL
- title: Схема подключения - title: Схема подключения
link: /PaaS/PostgreSQL/connection.md link: /PaaS/PostgreSQL/connection.md
description: Общая схема подключения к Cloud PostgreSQL description: Общая схема подключения к Cloud PostgreSQL
- title: Создание сервиса - title: Создание сервиса
link: /PaaS/PostgreSQL/user_capabilities.md link: /PaaS/PostgreSQL/user-capabilities.md
description: Создание сервиса Cloud PostgreSQL description: Возможности пользователя
- title: Веб-интерфейс Grafana - title: Веб-интерфейс Grafana
link: /PaaS/PostgreSQL/grafana.md link: /PaaS/PostgreSQL/grafana.md
description: Инструкция по работе с Grafana description: Инструкция по работе с Grafana
@@ -1,6 +1,6 @@
# О разделе # Описание раздела
Данный раздел содержит описание технических параметров кластера PostgreSQL и порядок их первичной конфигурации. Данный раздел содержит технические параметры кластера PostgreSQL и порядок их первичной конфигурации.
Настройка указанных параметров выполняется администратором облачного провайдера на этапе развёртывания сервиса. Пользователь не имеет прямого доступа к их самостоятельной установке. Настройка указанных параметров выполняется администратором облачного провайдера на этапе развёртывания сервиса. Пользователь не имеет прямого доступа к их самостоятельной установке.
@@ -31,13 +31,13 @@
В данном разделе определяются вычислительные мощности кластера: процессорные ресурсы, оперативная память и количество серверов (нод), из которых будет состоять кластер PostgreSQL. В данном разделе определяются вычислительные мощности кластера: процессорные ресурсы, оперативная память и количество серверов (нод), из которых будет состоять кластер PostgreSQL.
### Количество нод в кластере #### Количество нод в кластере
Количество нод определяет отказоустойчивость кластера и возможность распределять запросы на чтение между репликами. Чем больше нод, тем выше надёжность и производительность операций чтения. Количество нод определяет отказоустойчивость кластера и возможность распределять запросы на чтение между репликами. Чем больше нод, тем выше надёжность и производительность операций чтения.
Количество нод выбирается в диапазоне **от 1 до 5**. Количество нод выбирается в диапазоне **от 1 до 5**.
### Процессор (CPU) #### Процессор (CPU)
Процессор — это вычислительная мощность, выделяемая каждой ноде кластера. Количество vCPU определяет, насколько быстро база данных сможет: Процессор — это вычислительная мощность, выделяемая каждой ноде кластера. Количество vCPU определяет, насколько быстро база данных сможет:
@@ -47,13 +47,13 @@
Доступный диапазон: **от 2 до 24 vCPU** на ноду. Доступный диапазон: **от 2 до 24 vCPU** на ноду.
### Оперативная память (RAM) #### Оперативная память (RAM)
Оперативная память — один из ключевых ресурсов для производительности базы данных. Данные, помещающиеся в RAM, обрабатываются максимально быстро, без обращения к диску. Оперативная память — один из ключевых ресурсов для производительности базы данных. Данные, помещающиеся в RAM, обрабатываются максимально быстро, без обращения к диску.
Доступный диапазон: **от 4 до 768 ГБ RAM** на ноду. Доступный диапазон: **от 4 до 768 ГБ RAM** на ноду.
### Доступ в интернет #### Доступ в интернет
При заказе сервиса можно выбрать пропускную способность канала связи, через который будет осуществляться доступ к кластеру PostgreSQL из сети интернет. При заказе сервиса можно выбрать пропускную способность канала связи, через который будет осуществляться доступ к кластеру PostgreSQL из сети интернет.
+16 -14
View File
@@ -1,14 +1,16 @@
# Общая схема подключения # Общая схема подключения
Доступ к кластеру PostgreSQL осуществляется через прокси. Клиентские подключения принимаются прокси, который маршрутизирует трафик к соответствующим узлам кластера (master или replica) в зависимости от выбранного порта. Прямое подключение к узлам базы данных не используется. Подключение к кластеру **Cloud PostgreSQL** осуществляется через прокси-сервер. Клиентские подключения принимаются прокси, который маршрутизирует трафик к соответствующим узлам кластера (master или replica) в зависимости от выбранного порта.
Подключение к кластеру **Cloud PostgreSQL** осуществляется через прокси-сервер. Прокси является единой точкой входа для всех клиентских подключений и принимает входящие соединения от приложений, административных инструментов и пользователей. Прокси является единой точкой входа для всех клиентских подключений и принимает входящие соединения от приложений, административных инструментов и пользователей.
В зависимости от выбранного порта прокси автоматически направляет трафик: В зависимости от выбранного порта прокси автоматически направляет трафик:
- на активный primary-узел - для операций чтения и записи - **на активный primary-узел** - для операций чтения и записи
- на реплики - для операций только чтения - **на реплики** - для операций только чтения
Прямое подключение к отдельным узлам базы данных не используется и не предоставляется. Взаимодействие с кластером всегда выполняется через прокси-сервер. ::: warning Примечание
Прямое подключение к отдельным узлам базы данных **не используется и не предоставляется**. Взаимодействие с кластером всегда выполняется **через прокси-сервер**.
:::
## Подключение к базе данных ## Подключение к базе данных
@@ -29,13 +31,13 @@
|6432 |Primary через PgBouncer (чтение и запись)| |6432 |Primary через PgBouncer (чтение и запись)|
|16432 |Replica через PgBouncer (только чтение) | |16432 |Replica через PgBouncer (только чтение) |
### Особенности работы портов #### Особенности работы портов
- Порты для чтения и записи (5432, 6432) всегда направляют трафик на активный primary-узел. При смене primary переключение происходит автоматически; - Порты **для чтения и записи** (5432, 6432) всегда направляют трафик на активный primary-узел. При смене primary переключение происходит автоматически;
- Порты только для чтения (15432, 16432) направляют трафик на активные реплики. Если реплик несколько, нагрузка распределяется между ними по принципу round-robin; - Порты **только для чтения** (15432, 16432) направляют трафик на активные реплики. Если реплик несколько, нагрузка распределяется между ними по принципу round-robin;
- Если в кластере отсутствуют реплики, порты для чтения не используются - подключение по ним не устанавливается. - Если в кластере **отсутствуют реплики**, порты для чтения не используются - подключение по ним не устанавливается.
### Рекомендации по выбору порта #### Рекомендации по выбору порта
- Для OLTP-нагрузки и большого количества соединений рекомендуется использовать **порты PgBouncer (6432 или 16432)**; - Для OLTP-нагрузки и большого количества соединений рекомендуется использовать **порты PgBouncer (6432 или 16432)**;
- Для операций записи используйте **master-порты (5432 или 6432)**; - Для операций записи используйте **master-порты (5432 или 6432)**;
@@ -43,7 +45,7 @@
## Доступ к pgAdmin ## Доступ к pgAdmin
Для администрирования базы данных используется web-интерфейс pgAdmin. Для администрирования базы данных используется [web-интерфейс pgAdmin](./pgadmin.md).
Доступ осуществляется по DNS-имени, которое нужно прописать локально в инфраструктуре откуда будет происходить доступ к web-интерфейсу сервиса: Доступ осуществляется по DNS-имени, которое нужно прописать локально в инфраструктуре откуда будет происходить доступ к web-интерфейсу сервиса:
`10.X.X.4 <domain>.cloud-pg.dfcloud.ru` `10.X.X.4 <domain>.cloud-pg.dfcloud.ru`
@@ -52,7 +54,7 @@
Авторизация выполняется с использованием учётных данных, предоставленных вместе с доступом к сервису. Авторизация выполняется с использованием учётных данных, предоставленных вместе с доступом к сервису.
::: warning Важно ::: warning Примечание
- подключение к базе данных возможно только через указанный прокси-IP; - подключение к базе данных возможно только через указанный прокси-IP;
- в интерфейсе pgAdmin уже добавлен сервер базы данных, созданный для данной инсталляции. Для подключения требуется ввести пароль от учётной записи базы данных; - в интерфейсе pgAdmin уже добавлен сервер базы данных, созданный для данной инсталляции. Для подключения требуется ввести пароль от учётной записи базы данных;
@@ -68,7 +70,7 @@
Подключение через PgBouncer: Подключение через PgBouncer:
`psql -h 10.X.X.4 -p 6432 -U <username> -d <database>` `psql -h 10.X.X.4 -p 6432 -U <username> -d <database>`
### Подключение через DBeaver / DataGrip #### Подключение через DBeaver / DataGrip
При создании подключения укажите: При создании подключения укажите:
- Host: 10.X.X.4; - Host: 10.X.X.4;
@@ -77,7 +79,7 @@
- User / Password: согласно выданным доступам; - User / Password: согласно выданным доступам;
- Тип подключения: PostgreSQL. - Тип подключения: PostgreSQL.
### Пример строки подключения #### Пример строки подключения
Primary: Primary:
`postgresql://<username>:<password>@10.X.X.4:5432/<database>` `postgresql://<username>:<password>@10.X.X.4:5432/<database>`
+2 -4
View File
@@ -2,11 +2,9 @@
## Инструкция по работе с метриками ## Инструкция по работе с метриками
Доступ к метрикам кластера предоставляется после запроса соответствующих прав. После получения доступа можно перейти в систему мониторинга по ссылке: Доступ к метрикам кластера предоставляется после запроса соответствующих прав. После получения доступа можно перейти в систему мониторинга по ссылке: https://metrics.dfcloud.ru. После перехода по ссылке будет представлена главная страница Grafana.
https://metrics.dfcloud.ru. Для просмотра метрик кластера PostgreSQL выполните следующие шаги:
Открывается главная страница Grafana. Для просмотра метрик кластера PostgreSQL выполните следующие шаги:
1. В левом боковом меню нажмите **Dashboard**; 1. В левом боковом меню нажмите **Dashboard**;
2. В списке доступных дашбордов выберите **папку Cloud PostgreSQL**; 2. В списке доступных дашбордов выберите **папку Cloud PostgreSQL**;
+1 -5
View File
@@ -17,12 +17,8 @@
## Реплики и параметры конфигураций ## Реплики и параметры конфигураций
pgAdmin позволяет осуществлять мониторинг реплик, входящих в состав кластера. pgAdmin позволяет осуществлять мониторинг реплик, входящих в состав кластера. Чтобы просмотреть список реплик необходимо открыть раздел **Replica nodes** в панели навигации.
### Просмотр списка реплик
Чтобы просмотреть список реплик:
- Откройте раздел **Replica nodes** в панели навигации.
### Просмотр состояния репликаций ### Просмотр состояния репликаций
+119
View File
@@ -0,0 +1,119 @@
# Возможности пользователя
Данный раздел описывает права, которые предоставляются пользователю PostgreSQL при создании сервиса **Cloud PostgreSQL**, а также перечень административных операций, доступных ему для самостоятельного выполнения.
При развертывании сервиса автоматически создаётся пользователь базы данных с преднастроенными атрибутами и привилегиями. Эти права позволяют заказчику самостоятельно управлять своими базами данных, ролями и пользователями в рамках созданного экземпляра PostgreSQL.
## Общая информация о пользователе
При инициализации сервиса автоматически создаётся пользователь:
```nginx
client
```
Данный пользователь является основной учётной записью для административной работы в рамках предоставленного экземпляра PostgreSQL.
Он предназначен для самостоятельного управления в пределах выданных привилегий:
- базами данных;
- ролями;
- правами доступа.
## Выданные права и ограничения
Пользователю `client` назначается набор атрибутов и привилегий, позволяющих выполнять административные операции в рамках своего экземпляра базы данных.
#### Атрибуты роли
Пользователь создаётся со следующими атрибутами:
- `CREATEDB` — разрешено создание и удаление баз данных;
- `CREATEROLE` — разрешено создание ролей и пользователей, а также управление их.
Атрибут `SUPERUSER` пользователю не предоставляется. Соответственно, доступ к системным операциям уровня кластера и настройкам сервера отсутствует.
#### Права на системную базу postgres:
К стандартной базе данных `postgres` пользователю предоставлено только право подключения — `CONNECT`
**Иные привилегии (создание объектов, изменение схем и т.д.) на данную базу не выдаются.**
## Мониторинг и системные представления
Для выполнения базовых задач мониторинга пользователю дополнительно предоставлены:
- членство в роли `pg_monitor`;
- право `SELECT` на системное представление:
```sql
pg_catalog.pg_stat_replication
```
Доступ к системной информации предоставляется исключительно **в режиме чтения**. Изменение системных представлений и параметров сервера недоступно.
## Изменение пароля
После первого подключения к базе данных пользователь `client` обязан выполнить изменения пароля.
Изменить пароля можно:
- в открытом виде (с передачей нового значения пароля);
- с указанием заранее сгенерированного хэша.
На сервере используется алгоритм шифрования паролей:
```
scram-sha-256
```
При использовании **SCRAM** применяется следующий формат хэша:
```
$<iterations>:<salt>$<storedkey>:<serverkey>
```
| Операция | Описание | Команда SQL |
|----------|----------|-------------|
|Смена пароля в открытом виде | Для смены пароля в открытом виде | ```ALTER USER client WITH PASSWORD 'new_strong_password';``` |
|Смена пароля с указанием хэша | Рекомендуется использовать сложный уникальный пароль, соответствующий требованиям информационной безопасности, и хранить его в защищённом хранилище | ```ALTER USER client WITH ENCRYPTED PASSWORD '$4096:...';``` |
|Создание новой баззы данных | Для создания базы данных | ```CREATE DATABASE app_db;``` |
|Создание базы данных с указанием владельца | Пользователь, указанный как владелец, будет иметь полный контроль над базой данных, включая права на её удаление и изменение. По умолчанию владельцем создаваемой базы данных является пользователь, который её создает | ```CREATE DATABASE app_db OWNER client;``` |
## Создание пользователей и ролей
Пользователь `client` имеет право создавать новые роли и пользователей для приложений, а также управлять их правами доступа.
| Операция | Описание | Команда SQL |
|----------|----------|-------------|
|Создание роли без логина | Для входа в базу данных (например, для организации прав доступа) | ```CREATE ROLE app_role; ```|
|Создание пользователя с паролем | Для создания пользователя с паролем. После выполнения этой команды новый пользователь `app_user` будет иметь возможность входа в базу данных, используя указанный пароль. | ```CREATE USER app_user WITH PASSWORD 'app_password';``` |
|Назначение роли пользователю | Для назначения роли пользователю. Данная команда позволяет управлять правами пользователя в рамках определённой роли. После выполнения этой команды пользователь `app_user` станет членом роли `app_role`, и будет наследовать все права, связанные с этой ролью. | ```GRANT app_role TO app_user; ``` |
## Управление правами доступа
После создания пользователей и ролей необходимо назначить им соответствующие права доступа.
| Операция | Описание | Команда SQL |
|----------|----------|-------------|
|Передача владельца базы данных | Для передачи прав владения базой данных другому пользователю. После выполнения этой команды база данных `app_db` будет принадлежать пользователю `app_user`, и он будет иметь полный контроль над ней.| ```ALTER DATABASE app_db OWNER TO app_user;``` |
|Выдача прав на подключение к базе данных | Для предоставления прав к подключению к базе данных. После выполнения этой команды пользователь может `app_user` подключаться к базе данных `app_db`. | ```GRANT CONNECT ON DATABASE app_db TO app_user;```|
|Предоставление прав на схему public | Для предоставления прав на использование схемы `public`. После выполнения этой команды пользователь `app_user` может использовать объекты в схеме `public`, а также создавать новые объекты внутри неё. | ```GRANT USAGE, CREATE ON SCHEMA public TO app_user;```|
|Предоставление прав на существующие таблицы | Для предоставления доступа пользователю к существующим таблицам в схеме `public`. После выполнения этой команды пользователь `app_user` может выполнять операции чтения, вставки, обновления и удаления данных в существующих таблицах схемы `public`.| ```GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO app_user;``` |
|Предоставление прав на будущие таблицы | Если необходимо автоматически предоставить пользователю права на новые таблицы, создаваемые в схеме `public`. После выполнения этой команды все будущие таблицы, создаваемые в схеме `public`, будут автоматически иметь права для пользователя `app_user` на чтение, вставку, обновление и удаление данных. | ```ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO app_user;```|
## Мониторинг репликации
Пользователь `client` имеет доступ к системным представлениям для мониторинга состояния репликации в кластере PostgreSQL.
| Операция | Описание | Команда SQL |
|----------|----------|-------------|
|Просмотр состояния репликации | Для просмотра текущего статуса репликации. Этот запрос возвращает информацию о всех репликах, подключённых к основному (primary) серверу. |```SELECT * FROM pg_stat_replication;```|
::: warning Ограничения доступа реплкации
Пользователь `client` имеет доступ к данным в представлении `pg_stat_replication` только в режиме **read-only**. Это означает, что он может просматривать состояние репликации, но не может изменять или вмешиваться в процесс репликации.
:::
-203
View File
@@ -1,203 +0,0 @@
# Создание сервиса Cloud PostgreSQL
Данный раздел описывает права, которые предоставляются пользователю PostgreSQL при создании сервиса **Cloud PostgreSQ**L**, а также перечень административных операций, доступных ему для самостоятельного выполнения.
При развертывании сервиса автоматически создаётся пользователь базы данных с преднастроенными атрибутами и привилегиями. Эти права позволяют заказчику самостоятельно управлять своими базами данных, ролями и пользователями в рамках созданного экземпляра PostgreSQL.
## Общая информация о пользователе
При инициализации сервиса автоматически создаётся пользователь:
```nginx
client
```
Данный пользователь является основной учётной записью для административной работы в рамках предоставленного экземпляра PostgreSQL. Он предназначен для самостоятельного управления базами данных, ролями и правами доступа в пределах выданных привилегий.
## Выданные права и ограничения
Пользователю `client` назначается набор атрибутов и привилегий, позволяющих выполнять административные операции в рамках своего экземпляра базы данных.
### Атрибуты роли
Пользователь создаётся со следующими атрибутами:
- `CREATEDB` — разрешено создание и удаление баз данных;
- `CREATEROLE` — разрешено создание ролей и пользователей, а также управление их.
Атрибут `SUPERUSER` пользователю не предоставляется. Соответственно, доступ к системным операциям уровня кластера и настройкам сервера отсутствует.
### Права на системную базу postgres:
К стандартной базе данных `postgres` пользователю предоставлено только право подключения:
- `CONNECT`
Иные привилегии (создание объектов, изменение схем и т.д.) на данную базу не выдаются.
### Мониторинг и системные представления:
Для выполнения базовых задач мониторинга пользователю дополнительно предоставлены:
- членство в роли `pg_monitor`;
- право `SELECT` на системное представление:
```sql
pg_catalog.pg_stat_replication
```
Доступ к системной информации предоставляется исключительно в режиме чтения. Изменение системных представлений и параметров сервера недоступно.
## Обязательная смена пароля
После первого подключения к базе данных пользователь `client` обязан выполнить смену пароля.
Смена пароля может быть выполнена:
- в открытом виде (с передачей нового значения пароля);
- с указанием заранее сгенерированного хэша.
На сервере используется алгоритм шифрования паролей:
```
scram-sha-256
```
При использовании SCRAM применяется следующий формат хэша:
```
$<iterations>:<salt>$<storedkey>:<serverkey>
```
### Пример смены пароля в открытом виде
```sql
ALTER USER client WITH PASSWORD 'new_strong_password';
```
### Пример смены пароля с указанием хэша
```sql
ALTER USER client WITH ENCRYPTED PASSWORD '$4096:...';
```
Рекомендуется использовать сложный уникальный пароль, соответствующий требованиям информационной безопасности, и хранить его в защищённом хранилище.
## Создание новой базы данных
Пользователь `client` имеет право создавать новые базы данных в рамках своего экземпляра PostgreSQL.
### Пример создания базы данных
Для создания базы данных используется стандартная команда:
```sql
CREATE DATABASE app_db;
```
Если необходимо назначить владельца базы данных, можно указать соответствующего пользователя. По умолчанию владельцем создаваемой базы данных является пользователь, который её создает.
### Пример создания базы данных с указанием владельца
```sql
CREATE DATABASE app_db OWNER client;
```
В этом примере база данных `app_db` будет принадлежать пользователю `client`. Пользователь, указанный как владелец, будет иметь полный контроль над базой данных, включая права на её удаление и изменение.
## Создание пользователей и ролей
Пользователь `client` имеет право создавать новые роли и пользователей для приложений, а также управлять их правами доступа.
### Создание роли без логина
Если требуется создать роль, которая не будет иметь возможности входа в базу данных (например, для организации прав доступа), можно использовать команду:
```sql
CREATE ROLE app_role;
```
### Создание пользователя с паролем
Для создания пользователя с паролем используется команда:
```sql
CREATE USER app_user WITH PASSWORD 'app_password';
```
После этого новый пользователь `app_user` будет иметь возможность входа в базу данных, используя указанный пароль.
### Назначение роли пользователю
Для назначения роли пользователю используется команда `GRANT`. Это позволяет управлять правами пользователя в рамках определённой роли:
```sql
GRANT app_role TO app_user;
```
После выполнения этой команды пользователь `app_user` станет членом роли `app_role`, и будет наследовать все права, связанные с этой ролью.
### Передача владельца базы данных
Если необходимо передать право владения базой данных другому пользователю, это можно сделать с помощью следующей команды:
```sql
ALTER DATABASE app_db OWNER TO app_user;
```
Теперь база данных `app_db` будет принадлежать пользователю `app_user`, и он будет иметь полный контроль над ней.
### Управление правами доступа
После создания пользователей и ролей необходимо назначить им соответствующие права доступа.
### Выдача прав на подключение к базе данных
Для того чтобы пользователь мог подключаться к базе данных, нужно предоставить ему соответствующие права:
```sql
GRANT CONNECT ON DATABASE app_db TO app_user;
```
Эта команда разрешает пользователю `app_user` подключаться к базе данных `app_db`.
### Права на схему public
Для предоставления пользователю прав на использование схемы `public` можно выполнить следующую команду:
```sql
GRANT USAGE, CREATE ON SCHEMA public TO app_user;
```
Эти права позволяют пользователю `app_user` использовать объекты в схеме `public`, а также создавать новые объекты внутри неё.
### Права на существующие таблицы
Чтобы предоставить пользователю доступ к существующим таблицам в схеме `public`, можно использовать команду:
```sql
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO app_user;
```
Эта команда позволяет пользователю `app_user` выполнять операции чтения, вставки, обновления и удаления данных в существующих таблицах схемы `public`.
### Права на будущие таблицы
Если необходимо автоматически предоставить пользователю права на новые таблицы, создаваемые в схеме `public`, используйте команду:
```sql
ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO app_user;
```
Эта команда обеспечит, что все будущие таблицы, создаваемые в схеме `public`, будут автоматически иметь права для пользователя `app_user` на чтение, вставку, обновление и удаление данных.
## Мониторинг репликации
Пользователь `client` имеет доступ к системным представлениям для мониторинга состояния репликации в кластере PostgreSQL.
### Просмотр состояния репликации
Для того чтобы просмотреть текущий статус репликации, пользователь может выполнить запрос к системному представлению:
``` SQL
SELECT * FROM pg_stat_replication;
```
Этот запрос возвращает информацию о всех репликах, подключённых к основному (primary) серверу.
### Ограничения доступа
Пользователь `client` имеет доступ к данным в представлении `pg_stat_replication` только в режиме **read-only**. Это означает, что он может просматривать состояние репликации, но не может изменять или вмешиваться в процесс репликации.