5.8 Конфиденциальность и безопасность

Конфиденциальность и безопасность

Важность ролей конфиденциальности

Пока вы не установите роли конфиденциальности, все данные, созданные вами или вашими пользователями, могут быть прочитаны кем угодно. Любой, обладающий навыками программирования, может просматривать все данные вашего приложения, даже если в вашем приложении нет страницы, в которой явно отображаются данные для пользователей. Именно здесь важны роли конфиденциальности, они гарантируют, что данные показываются только людям, которые соответствуют определенным критериям. Правила конфиденциальности применяются на сервере, что делает их безопасными.

Когда вы создаете новое приложение, все данные являются публичными. Это подходит для таких вещей, как комментарии в блоге, в котором вы делитесь с миром информацией. Тем не менее, многие приложения включают в себя пользователей, которые отправляют информацию, которой вы не хотели бы делиться со всем миром, такой как имена и адреса электронной почты или комментарии, которые предназначаются людям, которых они уже знают. Правила конфиденциальности - это инструмент Bubble, который позволяет защитить эту информацию и убедиться, что они в безопасности. Если вы явно не создали правила конфиденциальности для данной сущности, то данные не защищены.

Задание правил конфиденциальности

Любому типу данных (типам, что задали вы и типу Пользователь) можно назначить правила конфиденциальности. Роль конфиденциальности состоит из двух частей:

  • Условие. Оно определяет, применяется ли роль к определенной ситуации или нет.

  • Права. Это типы сущностей, которые разрешено видеть пользователю при соблюдении условия.

У ролей конфиденциальности есть имена, которые используются для используются при редактировании.

Задание условия

Условие - это динамическое выражение, которое должно принимать значения да или нет. В случае несоответствия инспектор ошибок пометит выражения, как ошибочные и нуждающиеся в исправлении.

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

Задание прав

Это права, которые предоставляет роль (когда применена). Когда применяются несколько правил, то пользователь получает доступ к объекту, если хотя бы одно правило предоставляет к нему доступ.

  1. Просматривать все поля/View all fields. Если вы уберете отметку здесь, то сможете выбрать поля, которые пользователи в этой роли смогут видеть. Если отметка стоит, то все поля видимы. Убрав отметку со всех полей вы гарантируете, что пользователи, находящиеся в этой роли, не смогут видеть ни одного поля.

  2. Просматривать прикрепленные файлы/View attached files. Если отметки нет, то пользователи не смогут видеть загруженные файлы, которые были прикреплены к сущности этого типа. Файлы прикрепляются к сущностям после загрузки, на уровне элемента загрузки файла.

  3. Находить это в поиске/Find this in searches. Уберите отметку, если хотите, чтобы пользователи в этой роли не видели в результатах поиска объекты этого типа.

  4. Разрешить автопривязку/Allow auto binding. Поставьте отметку, чтобы позволить пользователям в этой роли изменять сущности с помощью автопривязки. Вам нужно будет выбрать различные поля, которые могут быть изменены пользователем в текущей роли.

Отладка правил конфиденциальности

Использование ролей конфиденциальности может усложнить отладку, так как некоторые данные могут быть не видны в ваших рабочих процессах. В отладчике есть специальное упоминание, если сущность не видна из-за роли конфиденциальности, подробности об этом смотрите в соответствующей главе (!!!ЛНК!!!).

Безопасность рабочих процессов

Правила конфиденциальности не применяются при изменении данных внутри рабочих процессов. Способ, с помощью можно контролировать кто что может делать в плане изменения данных заключается в том, чтобы установить условия на события и действия внутри рабочих процессов. Так как условия проверяются на сервере, это настолько же безопасно, насколько безопасна настройка ролей конфиденциальности для чтения и изменения данных через автопривязку.

Last updated