Справочник административных действий¶
Справочник для администратора кластера: для каждого административного действия указаны запрос API управления, способ выполнить то же средствами SQL, S3 или конфигурации и раздел руководства с описанием.
Как читать таблицы¶
| Столбец | Что в нём |
|---|---|
| API управления | запрос; путь указан относительно базового пути /s3gateway/api. Запросы к данным тенанта принимают параметр tenant_id |
| SQL и другие способы | команда SQL, параметр плагина, операция S3 или диагностический эндпоинт |
| Раздел | где действие описано |
Значение «нет» означает, что этим способом действие не выполняется.
Какой способ выбрать:
- Для большинства действий рекомендуется API управления. Его запросы проверяют права по ролям Picodata, записывают в журнал, кто выполнил изменение, и отклоняют недопустимые значения до их сохранения.
- Команды SQL и параметры плагина применяются там, где API управления такого действия не предоставляет, а также в установке, где API управления не включён.
Порядок включения API описан в разделе Адрес и включение, состав ролей — в разделе Ролевая модель тенантов.
Установка и конфигурация¶
| Действие | API управления | SQL и другие способы | Раздел |
|---|---|---|---|
| Установить и включить плагин | нет | CREATE PLUGIN, ALTER PLUGIN ... MIGRATE TO, ALTER PLUGIN ... ENABLE |
Пошаговая установка |
| Изменить параметр плагина | нет | ALTER PLUGIN s3r 2.2.0 SET <сервис>.<параметр> = '...' |
Конфигурация |
| Включить консоль и API управления | нет | ALTER PLUGIN s3r 2.2.0 SET s3r_api.control_api = 'true' |
Адрес и включение |
| Выбрать схему избыточности | нет | cluster.tier.<тир>.replication_factor и instance.failure_domain в конфигурации Picodata, s3r_storage.erasure, поддомены дисков hba= |
Схема избыточности |
| Проверить начальное формирование | GET /v2/cluster/servers |
/-/ready, SELECT state, step FROM s3r_cluster |
Начальное формирование |
| Удалить плагин | нет | ALTER PLUGIN ... DISABLE, DROP PLUGIN ... WITH DATA |
Удаление |
Тенанты¶
| Действие | API управления | SQL и другие способы | Раздел |
|---|---|---|---|
| Создать тенанта | POST /v2/tenants |
INSERT INTO s3r_tenant со state = 'new' |
Создание и удаление тенанта |
| Просмотреть тенантов | GET /v3/tenants, GET /v3/tenants/{id} |
SELECT ... FROM s3r_tenant |
Создание и удаление тенанта |
| Изменить FQDN и сертификат тенанта | PUT /v2/tenants |
UPDATE s3r_tenant |
Сертификат тенанта и выбор по SNI |
| Задать правила CORS по умолчанию для новых бакетов | PUT /v2/tenants с полем default_cors |
UPDATE s3r_tenant SET default_cors = ... (без проверки) |
Правила CORS тенанта по умолчанию |
| Загрузить цепочку для проверки клиентских сертификатов | PUT /v2/tenants/{id}/load_mtls_cert |
UPDATE s3r_tenant SET mtls_ca = ... |
Сертификат тенанта и выбор по SNI |
| Включить или выключить требование клиентского сертификата | PUT /v2/tenants/{id}/set_mtls |
нет | Сертификат тенанта и выбор по SNI |
| Разрешить администратору тенанта менять материал TLS | PUT /v2/tenants/extra_rights |
нет | Состав пространства |
| Удалить тенанта | нет | UPDATE s3r_tenant SET state = 'draining' |
Создание и удаление тенанта |
Пользователи и ключи доступа¶
| Действие | API управления | SQL и другие способы | Раздел |
|---|---|---|---|
| Создать пользователя | POST /v2/users |
CREATE USER |
Учётные данные |
| Просмотреть пользователей и их ключи | GET /v2/users |
SELECT ... FROM s3r_credential |
Учётные данные |
| Заблокировать или разблокировать пользователя | PUT /v2/users |
средства SQL Picodata | Учётные данные |
| Удалить пользователя | DELETE /v2/users |
DROP USER |
Учётные данные |
| Задать пароль для входа по SQL | PUT /v2/users/password |
ALTER USER ... WITH PASSWORD |
Пароль для входа по SQL |
| Выдать ключ доступа | POST /v2/credentials |
параметр s3r_api.credentials, только для тенанта 0 |
Учётные данные |
| Заменить секретный ключ | PUT /v2/credentials/{access_key} |
нет | Смена и отзыв ключей |
| Отозвать ключ доступа | DELETE /v2/credentials/{access_key} |
нет | Смена и отзыв ключей |
| Отозвать токены и сеансы консоли пользователя | POST /v2/revocations |
INSERT INTO s3r_token_denylist |
Отзыв доступа |
| Просмотреть список отзыва | GET /v2/revocations |
SELECT ... FROM s3r_token_denylist |
Отзыв доступа |
| Снять отзыв | DELETE /v2/revocations/{kind}/{value} |
DELETE FROM s3r_token_denylist |
Отзыв доступа |
Бакеты, объекты и права доступа¶
| Действие | API управления | SQL и другие способы | Раздел |
|---|---|---|---|
| Создать бакет для пользователя | POST /v2/buckets |
S3: CreateBucket от имени пользователя |
Поддерживаемые операции |
| Просмотреть бакеты | GET /v2/buckets |
S3: ListBuckets |
Поддерживаемые операции |
| Передать бакет другому владельцу | PUT /v2/buckets |
нет | Состав пространства |
| Удалить пустой бакет | DELETE /v2/buckets |
S3: DeleteBucket |
Поддерживаемые операции |
| Просмотреть настройки бакета | GET /v2/buckets/{bucket}/settings |
S3: операции Get... бакета |
Поддерживаемые операции |
| Включить или приостановить версионирование | PUT /v2/buckets/{bucket}/versioning |
S3: PutBucketVersioning |
Версионирование |
| Задать правила CORS | PUT /v2/buckets/{bucket}/cors |
S3: PutBucketCors |
Совместное использование ресурсов между источниками (CORS) |
| Задать политику бакета | PUT /v2/buckets/{bucket}/policy |
S3: PutBucketPolicy |
Политика бакета |
| Задать правила жизненного цикла | PUT /v2/buckets/{bucket}/lifecycle |
S3: PutBucketLifecycleConfiguration |
Правила жизненного цикла |
| Настроить блокировку публичного доступа | PUT /v2/buckets/{bucket}/public-access |
S3: PutPublicAccessBlock |
Блокировка публичного доступа |
| Включить сжатие | PUT /v2/buckets/{bucket}/compression |
UPDATE s3r_bucket SET compress = true, UPDATE s3r_tenant SET compress = true |
Сжатие |
| Включить дедупликацию | PUT /v2/buckets/{bucket}/deduplication |
UPDATE s3r_bucket SET dedup = true |
Дедупликация |
| Выдать пользователю права на бакет | PUT /v2/acl |
S3: PutBucketAcl |
Списки управления доступом |
| Просмотреть классы хранения кластера | GET /v2/storage-classes |
SELECT ... FROM s3r_tier |
Классы хранения S3 и ярусы |
| Просмотреть объекты бакета | GET /v2/objects |
S3: ListObjectsV2 |
Поддерживаемые операции |
| Удалить объекты | DELETE /v2/objects, POST /v2/objects/delete |
S3: DeleteObject, DeleteObjects |
Массовое удаление |
| Получить заранее подписанную ссылку | POST /v2/objects/presign |
aws s3 presign |
Заранее подписанные ссылки и анонимный доступ |
Квоты¶
| Действие | API управления | SQL и другие способы | Раздел |
|---|---|---|---|
| Просмотреть квоты и потребление | GET /v2/quotas |
SELECT ... FROM s3r_quota, s3r_quota_usage |
Квоты и ограничение скорости |
| Задать или снять квоту тенанта, пользователя или бакета | PUT /v2/quotas |
INSERT INTO s3r_quota, DELETE FROM s3r_quota |
Квоты и ограничение скорости |
| Задать квоты бакета | PUT /v2/buckets/{bucket}/quota |
INSERT INTO s3r_quota с областью bucket |
Квоты и ограничение скорости |
Диски, контроль целостности и сверка¶
| Действие | API управления | SQL и другие способы | Раздел |
|---|---|---|---|
| Просмотреть диски | GET /v2/disks |
SELECT ... FROM s3r_disk |
Состояние кластера |
| Просмотреть группы размещения | GET /v2/placement-groups |
SELECT ... FROM s3r_pg |
Состояние кластера |
| Перевести диск в обслуживание | POST /v2/disks/{disk_id}/drain |
нет | Замена исправного диска |
| Добавить диск на работающий инстанс | POST /v2/disks |
S3R_DISKS или s3r_storage.disks только при первом запуске инстанса |
Действия с дисками |
| Удалить диск | DELETE /v2/disks/{disk_id} |
нет | Действия с дисками |
| Признать диск вышедшим из строя | POST /v2/disks/{disk_id}/failed |
нет | Действия с дисками |
| Переформатировать диск | POST /v2/disks/{disk_id}/reformat |
нет | Действия с дисками |
| Вернуть группы на позиции плана | POST /v2/placement-groups/{pg_id}/reform, POST /v2/placement-groups/reform |
нет | Группы не на своих позициях |
| Запросить проверку | POST /v2/repair |
нет | Запрос проверки |
| Узнать состояние контроля целостности по областям | GET /v2/repair |
нет | Состояние по областям |
| Просмотреть группы, ожидающие ресинхронизации, и повреждённые полосы | GET /v2/repair/data |
SELECT ... FROM s3r_scrub_pg, s3r_t<N>_damage |
Контроль целостности |
| Просмотреть диски и группы, требующие внимания | GET /v2/repair/disks, GET /v2/repair/groups |
SELECT ... FROM s3r_disk, s3r_pg |
Состояние по областям |
| Приостановить или возобновить фоновый контроль целостности | PUT /v2/repair/mode |
нет | Приостановка фонового контроля целостности |
| Просмотреть результаты сканирования каталога и изменить его расписание | GET /v2/repair/catalog, PUT /v2/repair/catalog |
SELECT ... FROM s3r_catalog_pass |
Фоновые процессы |
| Просмотреть репликацию между площадками | GET /v2/replication |
SELECT count(*) FROM s3r_t<N>_siterepl |
Наблюдение за репликацией между площадками |
Кластер и наблюдение¶
| Действие | API управления | SQL и другие способы | Раздел |
|---|---|---|---|
| Проверить учётные данные и роли | GET /v2/rights |
нет | Состав пространства |
| Просмотреть ёмкость | GET /v2/capacity |
SELECT ... FROM s3r_disk |
Состояние кластера |
| Просмотреть расход памяти под метаданные | GET /v2/memory |
нет | Состав пространства |
| Проверить состояние подсистем | GET /v2/health |
/-/health проверяет только работу процесса |
Диагностические эндпоинты |
| Просмотреть состав кластера | GET /v2/cluster/servers |
/-/debug/cluster |
Диагностические эндпоинты |
| Добавить или вывести узел | нет | средства Picodata | Добавление и вывод узлов |
| Выполнить шаг фонового процесса | нет | /-/debug/run/<процесс> |
Фоновые процессы |