Платформа Ring надає комплексний адміністративний API із 12 захищеними кінцевими точками для управління системою, адміністрування користувачів, доступу до аналітики та контролю конфігурації. Усі адмін кінцеві точки вимагають ролі ADMIN та реалізують заходи безпеки корпоративного рівня.
🔒 Потрібен адмін доступ
Усі адмін кінцеві точки вимагають аутентифікації ролі ADMIN та підлягають суворому обмеженню швидкості та логуванню аудитів. Спроби несанкціонованого доступу логуються та можуть спричинити сповіщення безпеки.
🏗️ Архітектура системи
Контроль доступу адміністратора
Аутентифікація → Перевірка ролі → Перевірка дозволів → Логування дій → Відповідь
Функції безпеки
Контроль доступу на основі ролей: Багаторівнева система дозволів
Логування аудитів: Усі адмін дії логуються з мітками часу та контекстом користувача
Обмеження швидкості: Адмін кінцеві точки мають суворіші обмеження швидкості (100 запитів/годину проти 1000 запитів/годину для звичайних користувачів)
Фільтри IP: Необов'язкові обмеження доступу на основі IP
Двофакторна аутентифікація: Обов'язкова для конфіденційних операцій
Управління сесіями: Адмін сесії мають коротші таймаути (1 година проти 24 годин)
Захист даних
Шифрування даних у спокої: Конфіденційні адмін дані зашифровані у базі даних
Безпечні логи аудитів: Адмін дії логуються до захищеного від підробки сховища
API адміністратора
Платформа Ring надає комплексний адміністративний API із 12 захищеними кінцевими точками для управління системою, адміністрування користувачів, доступу до аналітики та контролю конфігурації. Усі адмін кінцеві точки вимагають ролі ADMIN та реалізують заходи безпеки корпоративного рівня.
🔒 Потрібен адмін доступ
Усі адмін кінцеві точки вимагають аутентифікації ролі ADMIN та підлягають суворому обмеженню швидкості та логуванню аудитів. Спроби несанкціонованого доступу логуються та можуть спричинити сповіщення безпеки.
🏗️ Архітектура системи
Контроль доступу адміністратора
Аутентифікація → Перевірка ролі → Перевірка дозволів → Логування дій → Відповідь
Функції безпеки
Контроль доступу на основі ролей: Багаторівнева система дозволів
Логування аудитів: Усі адмін дії логуються з мітками часу та контекстом користувача
Обмеження швидкості: Адмін кінцеві точки мають суворіші обмеження швидкості (100 запитів/годину проти 1000 запитів/годину для звичайних користувачів)
Фільтри IP: Необов'язкові обмеження доступу на основі IP
Двофакторна аутентифікація: Обов'язкова для конфіденційних операцій
Управління сесіями: Адмін сесії мають коротші таймаути (1 година проти 24 годин)
Захист даних
Шифрування даних у спокої: Конфіденційні адмін дані зашифровані у базі даних
Безпечні логи аудитів: Адмін дії логуються до захищеного від підробки сховища
API адміністратора
Платформа Ring надає комплексний адміністративний API із 12 захищеними кінцевими точками для управління системою, адміністрування користувачів, доступу до аналітики та контролю конфігурації. Усі адмін кінцеві точки вимагають ролі ADMIN та реалізують заходи безпеки корпоративного рівня.
🔒 Потрібен адмін доступ
Усі адмін кінцеві точки вимагають аутентифікації ролі ADMIN та підлягають суворому обмеженню швидкості та логуванню аудитів. Спроби несанкціонованого доступу логуються та можуть спричинити сповіщення безпеки.
🏗️ Архітектура системи
Контроль доступу адміністратора
Аутентифікація → Перевірка ролі → Перевірка дозволів → Логування дій → Відповідь
Функції безпеки
Контроль доступу на основі ролей: Багаторівнева система дозволів
Логування аудитів: Усі адмін дії логуються з мітками часу та контекстом користувача
Обмеження швидкості: Адмін кінцеві точки мають суворіші обмеження швидкості (100 запитів/годину проти 1000 запитів/годину для звичайних користувачів)
Фільтри IP: Необов'язкові обмеження доступу на основі IP
Двофакторна аутентифікація: Обов'язкова для конфіденційних операцій
Управління сесіями: Адмін сесії мають коротші таймаути (1 година проти 24 годин)
Захист даних
Шифрування даних у спокої: Конфіденційні адмін дані зашифровані у базі даних
Безпечні логи аудитів: Адмін дії логуються до захищеного від підробки сховища
Сумісність із GDPR: Обробка адмін даних дотримується суворих правил конфіденційності
Збереження даних: Адмін логи зберігаються протягом 7 років для дотримання вимог
📋 Довідка кінцевих точок API
GET /api/admin/users
Список та пошук користувачів платформи із розширеним фільтруванням та пагінацією.
Параметри
Сумісність із GDPR: Обробка адмін даних дотримується суворих правил конфіденційності
Збереження даних: Адмін логи зберігаються протягом 7 років для дотримання вимог
📋 Довідка кінцевих точок API
GET /api/admin/users
Список та пошук користувачів платформи із розширеним фільтруванням та пагінацією.
Параметри
Сумісність із GDPR: Обробка адмін даних дотримується суворих правил конфіденційності
Збереження даних: Адмін логи зберігаються протягом 7 років для дотримання вимог
📋 Довідка кінцевих точок API
GET /api/admin/users
Список та пошук користувачів платформи із розширеним фільтруванням та пагінацією.
Параметри
Параметр
Тип
Обов'язковий
Опис
page
number
Ні
Номер сторінки (за замовчуванням: 1)
limit
number
Ні
Користувачів на сторінку (за замовчуванням: 50, макс: 200)
search
string
Ні
Пошук за ім'ям, email або ім'ям користувача
role
string
Ні
Фільтр за роллю: VISITOR, MEMBER, CONFIDENTIAL, ADMIN
status
string
Ні
Фільтр за статусом: active, suspended, banned
verified
boolean
Ні
Фільтр за статусом верифікації email
Параметр
Тип
Обов'язковий
Опис
page
number
Ні
Номер сторінки (за замовчуванням: 1)
limit
number
Ні
Користувачів на сторінку (за замовчуванням: 50, макс: 200)
search
string
Ні
Пошук за ім'ям, email або ім'ям користувача
role
string
Ні
Фільтр за роллю: VISITOR, MEMBER, CONFIDENTIAL, ADMIN
status
string
Ні
Фільтр за статусом: active, suspended, banned
verified
boolean
Ні
Фільтр за статусом верифікації email
Параметр
Тип
Обов'язковий
Опис
page
number
Ні
Номер сторінки (за замовчуванням: 1)
limit
number
Ні
Користувачів на сторінку (за замовчуванням: 50, макс: 200)
search
string
Ні
Пошук за ім'ям, email або ім'ям користувача
role
string
Ні
Фільтр за роллю: VISITOR, MEMBER, CONFIDENTIAL, ADMIN
status
string
Ні
Фільтр за статусом: active, suspended, banned
verified
boolean
Ні
Фільтр за статусом верифікації email
Приклад запиту
Приклад запиту
Приклад запиту
curl -X GET "http://localhost:3000/api/admin/users?page=1&limit=20&role=MEMBER&status=active&sortBy=createdAt&sortOrder=desc" \ -H "Authorization: Bearer admin-session-token"
curl -X GET "http://localhost:3000/api/admin/users?page=1&limit=20&role=MEMBER&status=active&sortBy=createdAt&sortOrder=desc" \ -H "Authorization: Bearer admin-session-token"
curl -X GET "http://localhost:3000/api/admin/users?page=1&limit=20&role=MEMBER&status=active&sortBy=createdAt&sortOrder=desc" \ -H "Authorization: Bearer admin-session-token"
Відповідь
{
json
GET /api/admin/users/{id}
Отримати детальну інформацію про конкретного користувача.
Відповідь
{
json
PUT /api/admin/users/{id}/role
Оновити роль та дозволи користувача.
Тіло запиту
{
json
Відповідь
{
json
PUT /api/admin/users/{id}/status
Оновити статус облікового запису користувача (призупинити, заблокувати, активувати).
Тіло запиту
{
json
Відповідь
{
json
DELETE /api/admin/users/{id}
Назавжди видалити обліковий запис користувача (відповідність GDPR).
Параметри
Відповідь
{
json
GET /api/admin/users/{id}
Отримати детальну інформацію про конкретного користувача.
Відповідь
{
json
PUT /api/admin/users/{id}/role
Оновити роль та дозволи користувача.
Тіло запиту
{
json
Відповідь
{
json
PUT /api/admin/users/{id}/status
Оновити статус облікового запису користувача (призупинити, заблокувати, активувати).
Тіло запиту
{
json
Відповідь
{
json
DELETE /api/admin/users/{id}
Назавжди видалити обліковий запис користувача (відповідність GDPR).
Параметри
Відповідь
{
json
GET /api/admin/users/{id}
Отримати детальну інформацію про конкретного користувача.
Відповідь
{
json
PUT /api/admin/users/{id}/role
Оновити роль та дозволи користувача.
Тіло запиту
{
json
Відповідь
{
json
PUT /api/admin/users/{id}/status
Оновити статус облікового запису користувача (призупинити, заблокувати, активувати).
Тіло запиту
{
json
Відповідь
{
json
DELETE /api/admin/users/{id}
Назавжди видалити обліковий запис користувача (відповідність GDPR).
Параметри
Параметр
Тип
Обов'язковий
Опис
anonymize
boolean
Ні
Замінити дані користувача анонімними плейсхолдерами (за замовчуванням: true)
deleteContent
boolean
Ні
Видалити весь користувацький контент (за замовчуванням: false)
reason
string
Так
Причина видалення облікового запису
Параметр
Тип
Обов'язковий
Опис
anonymize
boolean
Ні
Замінити дані користувача анонімними плейсхолдерами (за замовчуванням: true)
deleteContent
boolean
Ні
Видалити весь користувацький контент (за замовчуванням: false)
reason
string
Так
Причина видалення облікового запису
Параметр
Тип
Обов'язковий
Опис
anonymize
boolean
Ні
Замінити дані користувача анонімними плейсхолдерами (за замовчуванням: true)
deleteContent
boolean
Ні
Видалити весь користувацький контент (за замовчуванням: false)
reason
string
Так
Причина видалення облікового запису
Тіло запиту
{
json
Відповідь
{
json
GET /api/admin/analytics
Отримати комплексну аналітику та метрики платформи.
Параметри
Тіло запиту
{
json
Відповідь
{
json
GET /api/admin/analytics
Отримати комплексну аналітику та метрики платформи.
Параметри
Тіло запиту
{
json
Відповідь
{
json
GET /api/admin/analytics
Отримати комплексну аналітику та метрики платформи.
Параметри
Параметр
Тип
Обов'язковий
Опис
period
string
Ні
Період часу: hour, day, week, month, year (за замовчуванням: week)
startDate
string
Ні
ISO дата для власного діапазону
endDate
string
Ні
ISO дата для власного діапазону
metrics
string[]
Ні
Конкретні метрики для включення
Параметр
Тип
Обов'язковий
Опис
period
string
Ні
Період часу: hour, day, week, month, year (за замовчуванням: week)
startDate
string
Ні
ISO дата для власного діапазону
endDate
string
Ні
ISO дата для власного діапазону
metrics
string[]
Ні
Конкретні метрики для включення
Параметр
Тип
Обов'язковий
Опис
period
string
Ні
Період часу: hour, day, week, month, year (за замовчуванням: week)
startDate
string
Ні
ISO дата для власного діапазону
endDate
string
Ні
ISO дата для власного діапазону
metrics
string[]
Ні
Конкретні метрики для включення
Відповідь
{
json
GET /api/admin/analytics/users
Отримати детальну аналітику користувачів.
Параметри
Відповідь
{
json
GET /api/admin/analytics/users
Отримати детальну аналітику користувачів.
Параметри
Відповідь
{
json
GET /api/admin/analytics/users
Отримати детальну аналітику користувачів.
Параметри
Параметр
Тип
Обов'язковий
Опис
groupBy
string
Ні
Групувати результати за: day, week, month, role, status
includeInactive
boolean
Ні
Включити неактивних користувачів у результати (за замовчуванням: false)
Параметр
Тип
Обов'язковий
Опис
groupBy
string
Ні
Групувати результати за: day, week, month, role, status
includeInactive
boolean
Ні
Включити неактивних користувачів у результати (за замовчуванням: false)
Параметр
Тип
Обов'язковий
Опис
groupBy
string
Ні
Групувати результати за: day, week, month, role, status
includeInactive
boolean
Ні
Включити неактивних користувачів у результати (за замовчуванням: false)
GET /api/admin/config
Отримати поточні налаштування конфігурації системи.
Відповідь
{
json
PUT /api/admin/config
Оновити налаштування конфігурації системи.
Тіло запиту
{
json
Відповідь
{
json
POST /api/admin/config/rollback
Відкатити зміни конфігурації.
Тіло запиту
{
json
GET /api/admin/audit
Отримати логи аудитів для адмін дій.
Параметри
GET /api/admin/config
Отримати поточні налаштування конфігурації системи.
Відповідь
{
json
PUT /api/admin/config
Оновити налаштування конфігурації системи.
Тіло запиту
{
json
Відповідь
{
json
POST /api/admin/config/rollback
Відкатити зміни конфігурації.
Тіло запиту
{
json
GET /api/admin/audit
Отримати логи аудитів для адмін дій.
Параметри
GET /api/admin/config
Отримати поточні налаштування конфігурації системи.
Відповідь
{
json
PUT /api/admin/config
Оновити налаштування конфігурації системи.
Тіло запиту
{
json
Відповідь
{
json
POST /api/admin/config/rollback
Відкатити зміни конфігурації.
Тіло запиту
{
json
GET /api/admin/audit
Отримати логи аудитів для адмін дій.
Параметри
Параметр
Тип
Обов'язковий
Опис
page
number
Ні
Номер сторінки (за замовчуванням: 1)
limit
number
Ні
Логів на сторінку (за замовчуванням: 50)
action
string
Ні
Фільтр за типом дії
userId
string
Ні
Фільтр за користувачем, який виконав дію
targetUserId
string
Ні
Фільтр за користувачем, на якого вплинула дія
startDate
string
Ні
ISO дата - логи після цієї дати
endDate
string
Параметр
Тип
Обов'язковий
Опис
page
number
Ні
Номер сторінки (за замовчуванням: 1)
limit
number
Ні
Логів на сторінку (за замовчуванням: 50)
action
string
Ні
Фільтр за типом дії
userId
string
Ні
Фільтр за користувачем, який виконав дію
targetUserId
string
Ні
Фільтр за користувачем, на якого вплинула дія
startDate
string
Ні
ISO дата - логи після цієї дати
endDate
string
Параметр
Тип
Обов'язковий
Опис
page
number
Ні
Номер сторінки (за замовчуванням: 1)
limit
number
Ні
Логів на сторінку (за замовчуванням: 50)
action
string
Ні
Фільтр за типом дії
userId
string
Ні
Фільтр за користувачем, який виконав дію
targetUserId
string
Ні
Фільтр за користувачем, на якого вплинула дія
startDate
string
Ні
ISO дата - логи після цієї дати
endDate
string
Відповідь
{
json
🔧 Приклади реалізації
Компонент адмін дашборду
// components/admin/AdminDashboard.tsx
Відповідь
{
json
🔧 Приклади реалізації
Компонент адмін дашборду
// components/admin/AdminDashboard.tsx
Відповідь
{
json
🔧 Приклади реалізації
Компонент адмін дашборду
// components/admin/AdminDashboard.tsx
import { useState, useEffect } from 'react'import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'interface AdminStats { totalUsers: number activeUsers: number newUsersToday: number totalEntities: number totalOpportunities:
import { useState, useEffect } from 'react'import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'interface AdminStats { totalUsers: number activeUsers: number newUsersToday: number totalEntities: number totalOpportunities:
import { useState, useEffect } from 'react'import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'interface AdminStats { totalUsers: number activeUsers: number newUsersToday: number totalEntities: number totalOpportunities:
🚨 Обробка помилок
Поширені відповіді про помилки адміністратора
// Недостатні дозволи
configuration
json
🔒 Заходи безпеки
Контроль доступу
Багаторівнева аутентифікація: Адмін операції вимагають свіжої аутентифікації
Валідація сесій: Адмін сесії валідуються при кожному запиті
Обмеження IP: Необов'язкові фільтри доступу на основі IP
Часовий доступ: Адмін операції обмежені у певні години
Аудит та відповідність
Повний слід аудиту: Кожна адмін дія логується з повним контекстом
Відповідність GDPR: Обробка адмін даних дотримується правил конфіденційності
Збереження даних: Адмін логи зберігаються протягом 7 років
Виявлення підробки: Криптографічні підписи на логах аудиту
Операційна безпека
🚨 Обробка помилок
Поширені відповіді про помилки адміністратора
// Недостатні дозволи
configuration
json
🔒 Заходи безпеки
Контроль доступу
Багаторівнева аутентифікація: Адмін операції вимагають свіжої аутентифікації
Валідація сесій: Адмін сесії валідуються при кожному запиті
Обмеження IP: Необов'язкові фільтри доступу на основі IP
Часовий доступ: Адмін операції обмежені у певні години
Аудит та відповідність
Повний слід аудиту: Кожна адмін дія логується з повним контекстом
Відповідність GDPR: Обробка адмін даних дотримується правил конфіденційності
Збереження даних: Адмін логи зберігаються протягом 7 років
Виявлення підробки: Криптографічні підписи на логах аудиту
Операційна безпека
🚨 Обробка помилок
Поширені відповіді про помилки адміністратора
// Недостатні дозволи
configuration
json
🔒 Заходи безпеки
Контроль доступу
Багаторівнева аутентифікація: Адмін операції вимагають свіжої аутентифікації
Валідація сесій: Адмін сесії валідуються при кожному запиті
Обмеження IP: Необов'язкові фільтри доступу на основі IP
Часовий доступ: Адмін операції обмежені у певні години
Аудит та відповідність
Повний слід аудиту: Кожна адмін дія логується з повним контекстом
Відповідність GDPR: Обробка адмін даних дотримується правил конфіденційності
Збереження даних: Адмін логи зберігаються протягом 7 років
Виявлення підробки: Криптографічні підписи на логах аудиту
Операційна безпека
Принцип найменших привілеїв: Адміни отримують тільки необхідні дозволи
Правило двох осіб: Критичні операції вимагають вторинного затвердження
Надзвичайний доступ: Процедури break-glass для відновлення системи
Моніторинг безпеки: Моніторинг активності адмінів у режимі реального часу
📊 Моніторинг та аналітика
Активність адміністратора
// Відстеження адмін дій для моніторингу
TypeScript
typescript
🎛️ Конфігурація
Змінні середовища
Безпека адміністратора Логування аудиту Захист системи Моніторинг
terminal
bash
Схема бази даних
-- Лог аудиту адміністратора
sql
Адмін API платформи Ring забезпечує корпоративний контроль із комплексною безпекою, слідами аудиту та операційним моніторингом.
createdAfter
string
Ні
ISO дата - користувачі створені після цієї дати
createdBefore
string
Ні
ISO дата - користувачі створені до цієї дати
Принцип найменших привілеїв: Адміни отримують тільки необхідні дозволи
Правило двох осіб: Критичні операції вимагають вторинного затвердження
Надзвичайний доступ: Процедури break-glass для відновлення системи
Моніторинг безпеки: Моніторинг активності адмінів у режимі реального часу
📊 Моніторинг та аналітика
Активність адміністратора
// Відстеження адмін дій для моніторингу
TypeScript
typescript
🎛️ Конфігурація
Змінні середовища
Безпека адміністратора Логування аудиту Захист системи Моніторинг
terminal
bash
Схема бази даних
-- Лог аудиту адміністратора
sql
Адмін API платформи Ring забезпечує корпоративний контроль із комплексною безпекою, слідами аудиту та операційним моніторингом.
createdAfter
string
Ні
ISO дата - користувачі створені після цієї дати
createdBefore
string
Ні
ISO дата - користувачі створені до цієї дати
Принцип найменших привілеїв: Адміни отримують тільки необхідні дозволи
Правило двох осіб: Критичні операції вимагають вторинного затвердження
Надзвичайний доступ: Процедури break-glass для відновлення системи
Моніторинг безпеки: Моніторинг активності адмінів у режимі реального часу
📊 Моніторинг та аналітика
Активність адміністратора
// Відстеження адмін дій для моніторингу
TypeScript
typescript
🎛️ Конфігурація
Змінні середовища
Безпека адміністратора Логування аудиту Захист системи Моніторинг
terminal
bash
Схема бази даних
-- Лог аудиту адміністратора
sql
Адмін API платформи Ring забезпечує корпоративний контроль із комплексною безпекою, слідами аудиту та операційним моніторингом.
createdAfter
string
Ні
ISO дата - користувачі створені після цієї дати
createdBefore
string
Ні
ISO дата - користувачі створені до цієї дати
lastLoginAfter
string
Ні
ISO дата - користувачі увійшли після цієї дати
sortBy
string
Ні
Сортувати за: createdAt, lastLogin, name, email
sortOrder
string
Ні
Порядок сортування: asc, desc (за замовчуванням: desc)
Ні
ISO дата - логи до цієї дати
number
systemHealth: 'healthy' | 'warning' | 'critical'
}
lastLoginAfter
string
Ні
ISO дата - користувачі увійшли після цієї дати
sortBy
string
Ні
Сортувати за: createdAt, lastLogin, name, email
sortOrder
string
Ні
Порядок сортування: asc, desc (за замовчуванням: desc)
Ні
ISO дата - логи до цієї дати
number
systemHealth: 'healthy' | 'warning' | 'critical'
}
lastLoginAfter
string
Ні
ISO дата - користувачі увійшли після цієї дати
sortBy
string
Ні
Сортувати за: createdAt, lastLogin, name, email
sortOrder
string
Ні
Порядок сортування: asc, desc (за замовчуванням: desc)