Безопасность

Данные физически разделены

Все приложения, созданные на сервисе GetReport физически хранят данные в разных базах данных на уровне СУБД. Это исключает возможность ошибочного пересечения данных в различных приложениях.

Для разных приложений GetReport используются разные ConnectionString до соответствующих баз данных на уровне СУБД. Каждый ConnectionString имеет права доступа только к своей базе данных. Это исключает возможность взлома (просмотра и модификации) данных одного приложения через другое приложение.

Проверка прав доступа

При входе в систему (API метод Login) пользователю выдаётся уникальный AccessToken. Данный AccessToken полностью определяет пользователя и всего его права в системе.

Вся работа с данными и метаданными приложения осуществляется через вызовы API. Перед осуществлением действия каждое API проверяет специальный ключ (AccessToken) пользователя. С помощью этого ключа система идентифицирует пользователя, определяет его права. Если у пользователя недостаточно прав на выполнения действия – система выдаёт сообщение об ошибке. Это исключает возможность просмотра и модификации чужих данных.

В качестве дополнительной защиты выступает проверка AccessToken до обработки самого запроса. Это означает, что перед тем как начать выполнение запроса проверяется, что пользователь авторизован в системе. Данная операция выполняется централизованно, для всех API запросов, кроме метода Login. Это обеспечивает дополнительную безопасность в виде защиты системы от любого запроса от неавторизованного пользователя. Таким образом, не зная логин и пароль от хотя бы одного пользователя системы, невозможно начать выполнение ни одного запроса, система даже не начнёт проверять права.

Логирование

Все действия по вводу и изменению данных всеми пользователями логируются. Это даёт возможность узнать, кто создал запись в базе данных, кто ввёл указанное число или строку, какие данные содержала запись на момент ввода.

Бекапирование

Каждый день GetReport делает бекапы баз данных всех оплаченных приложений в Amazon S3. Это один из мировых лидеров в области надёжного облачного хранения файлов, обеспечивающий высокий уровень безопасности ваших данных. Раз в неделю наша команда вручную бекапит все оплаченные базы данных на отдельный бекап-сервер. Раз в несколько дней делается полный бекап серверов, на которых расположено приложение GetReport.

Таким образом, бекапы БД хранятся на трёх разных физических серверах.

  • Дата-центры Amazon S3.
  • Сервер бекапов GetReport.
  • Сервера сервиса GetReport.