Merge branch 'feature/PaaS-PostgreSQL' into 'test'
Feature/PaaS-Postgre-SQL See merge request common/lk-beecloud/beecloud-docs!3
This commit is contained in:
@@ -256,9 +256,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
@@ -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-адресов.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
+12
-12
@@ -1,6 +1,6 @@
|
|||||||
# О разделе
|
# Описание раздела
|
||||||
|
|
||||||
Данный раздел содержит описание технических параметров кластера PostgreSQL и порядок их первичной конфигурации.
|
Данный раздел содержит технические параметры кластера PostgreSQL и порядок их первичной конфигурации.
|
||||||
|
|
||||||
Настройка указанных параметров выполняется администратором облачного провайдера на этапе развёртывания сервиса. Пользователь не имеет прямого доступа к их самостоятельной установке.
|
Настройка указанных параметров выполняется администратором облачного провайдера на этапе развёртывания сервиса. Пользователь не имеет прямого доступа к их самостоятельной установке.
|
||||||
|
|
||||||
@@ -14,12 +14,12 @@
|
|||||||
|
|
||||||
## Доступные типы хранилищ:
|
## Доступные типы хранилищ:
|
||||||
|
|
||||||
| Название | Лимит IOPS | Время отклика |
|
| Название | Лимит IOPS |
|
||||||
| ---------------| ------------------ | ------------- |
|
| -------------- | ------------------ |
|
||||||
| **Fast SAS** | до 2 IOPS на 1 ГБ | до 10 мс |
|
| **Fast SAS** | до 2 IOPS на 1 ГБ |
|
||||||
| **SSD** | до 5 IOPS на 1 ГБ | до 7 мс |
|
| **SSD** | до 5 IOPS на 1 ГБ |
|
||||||
| **Fast SSD** | до 10 IOPS на 1 ГБ | до 5 мс |
|
| **Fast SSD** | до 10 IOPS на 1 ГБ |
|
||||||
| **Ultra NVMe** | до 25 IOPS на 1 ГБ | до 3 мс |
|
| **Ultra NVMe** | до 25 IOPS на 1 ГБ |
|
||||||
|
|
||||||
::: warning Примечание
|
::: warning Примечание
|
||||||
|
|
||||||
@@ -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 из сети интернет.
|
||||||
|
|
||||||
@@ -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,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**;
|
||||||
|
|||||||
@@ -17,12 +17,8 @@
|
|||||||
|
|
||||||
## Реплики и параметры конфигураций
|
## Реплики и параметры конфигураций
|
||||||
|
|
||||||
pgAdmin позволяет осуществлять мониторинг реплик, входящих в состав кластера.
|
pgAdmin позволяет осуществлять мониторинг реплик, входящих в состав кластера. Чтобы просмотреть список реплик необходимо открыть раздел **Replica nodes** в панели навигации.
|
||||||
|
|
||||||
### Просмотр списка реплик
|
|
||||||
|
|
||||||
Чтобы просмотреть список реплик:
|
|
||||||
- Откройте раздел **Replica nodes** в панели навигации.
|
|
||||||
|
|
||||||
### Просмотр состояния репликаций
|
### Просмотр состояния репликаций
|
||||||
|
|
||||||
|
|||||||
@@ -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**. Это означает, что он может просматривать состояние репликации, но не может изменять или вмешиваться в процесс репликации.
|
||||||
|
|
||||||
|
:::
|
||||||
@@ -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**. Это означает, что он может просматривать состояние репликации, но не может изменять или вмешиваться в процесс репликации.
|
|
||||||
Reference in New Issue
Block a user