Изменения документа G03.01. Общее описание настроек безопасности
Редактировал(а) Ирина Сафонова 22.03.2024, 15:16
От версии 49.1
отредактировано Ирина Сафонова
на 01.04.2023, 00:26
на 01.04.2023, 00:26
Изменить комментарий:
К данной версии нет комментариев
К версии 33.1
отредактировано Ирина Сафонова
на 31.03.2023, 17:27
на 31.03.2023, 17:27
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -53,8 +53,6 @@ 53 53 54 54 == Пользовательская группа sql_lab == 55 55 56 ----- 57 - 58 58 Роль sql_lab предоставляет доступ к SQL Lab. 59 59 60 60 {{warning}} ... ... @@ -63,8 +63,6 @@ 63 63 64 64 == Public == 65 65 66 ----- 67 - 68 68 Для предоставления доступа к некоторым функциям Cloud BI пользователям, выполнившим вход в систему, вы можете использовать параметр конфигурации PUBLIC_ROLE_LIKE. Это параметр назначается другой роли, чьи разрешения вы хотите передать. 69 69 70 70 Например, установив PUBLIC_ROLE_LIKE = "Gamma" в конфигурационном файле, вы предоставляете общедоступной роли тот же набор разрешений, что и для роли [[Gamma>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/D.%20%D0%A0%D0%BE%D0%BB%D0%B8%20%D0%B8%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/%D0%9E%D0%B1%D1%89%D0%B5%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8/#HGamma]]. Это полезно, если вы хотите разрешить анонимным пользователям просматривать информационные панели. Явное предоставление для определенных наборов данных по-прежнему требуется, а это означает, что вам нужно отредактировать роль [[Public>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/D.%20%D0%A0%D0%BE%D0%BB%D0%B8%20%D0%B8%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/%D0%9E%D0%B1%D1%89%D0%B5%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8/#HPublic]] и добавить общедоступные источники данных в роль вручную. ... ... @@ -71,8 +71,6 @@ 71 71 72 72 == Настройка разрешений == 73 73 74 ----- 75 - 76 76 Разрешения, предоставляемые FAB, качественно детализированы и обеспечивают высокий уровень настройки. FAB автоматически создает множество разрешений для каждой создаваемой модели (//can_add, can_delete, can_show, can_edit,// …), а также для каждого представления. Кроме того, Cloud BI может предоставлять более детальные разрешения, такие, как //all_datasource_access//. 77 77 78 78 {{error}} ... ... @@ -81,8 +81,6 @@ 81 81 82 82 == Разрешения == 83 83 84 ----- 85 - 86 86 Роли состоят из набора разрешений, а Cloud BI имеет множество категорий разрешений. 87 87 88 88 (% class="table-bordered" %) ... ... @@ -108,60 +108,5 @@ 108 108 109 109 == Ограничение доступа к источникам данных == 110 110 111 ----- 112 - 113 -Рекомендуется предоставить пользователю роль [[Gamma>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20Cloud%20BI/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/02.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0/D.%20%D0%A0%D0%BE%D0%BB%D0%B8%20%D0%B8%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/%D0%9E%D0%B1%D1%89%D0%B5%D0%B5%20%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8/#H41F43E43B44C43743E43243044243543B44C44143A43044F43344044343F43F43043443E44144244343F430Gamma]], а также любые другие роли, которые добавят доступ к определенным источникам данных. Также рекомендуется создавать отдельные роли для каждого профиля доступа. 114 -**Пример:** 115 -Пользователи финансовой группы могут иметь доступ к набору баз данных и источников данных; эти разрешения могут быть объединены в одной роли. Затем пользователям с этим профилем необходимо назначить роль **Gamma** в качестве основы для моделей и представлений, к которым они могут получить доступ, и роль **Finance**, которая представляет собой набор разрешений для объектов данных. 116 - 117 -Пользователь может иметь сразу несколько ролей. Например, руководителю финансовой группы могут быть предоставлены роли **Gamma**, **Finance** и Executive. Роль руководителя **(Executive)** позволяет иметь доступ к набору источников данных и информационных панелей, доступных только для руководителей. В представлении **Dashboards** пользователь может видеть только те дашбарды, к которым у него есть доступ в зависимости от назначенных ролей и разрешений. 118 - 119 -== Настройка фильтров безопасности на уровне строк == 120 - 121 -Используя фильтры безопасности на уровне строк (в меню пункте меню **Безопасность**), вы можете создавать фильтры, которые назначаются конкретной таблице, а также набору ролей. Если вы хотите, чтобы члены финансовой группы имели доступ только к строкам, в которых отдел = "финансы", вы можете: 122 - 123 -~1. Создать фильтр безопасности на уровне строк с этим предложением (department = "finance"). 124 -2. Назначить предложение роли **Финансы** и таблице, к которой оно применяется. 125 -3. Поле предложения, которое может содержать произвольный текст, добавить к предложению WHERE сгенерированного оператора SQL. Таким образом, вы даже можете настроить фильтр //За последние 30 дней// и применить его к определенной роли с таким предложением, как //date_field > DATE_SUB(NOW(), INTERVAL 30 DAY)//. Фильтр также может поддерживать несколько условий: client_id = 6 И рекламодатель = "foo" и так далее 126 - 127 -Все соответствующие фильтры безопасности на уровне строк будут объединены вместе (внутри различные предложения SQL объединяются с помощью операторов AND). Это означает, что можно создать ситуацию, когда две роли конфликтуют таким образом, что подмножество таблиц может быть пустым. Например, фильтры **client_id=4** и client_id=5, примененные к роли, приведут к тому, что пользователи этой роли будут иметь **client_id=4** и **client_id=5**, добавленные к их запросу, что никогда не может быть правдой. 128 - 129 -== Политика безопасности контента == 130 - 131 -**Политика безопасности контента** — это дополнительный уровень безопасности, который помогает обнаруживать и смягчать определенные типы атак, включая [[межсайтовые скриптинги>>https://wiki.dfcloud.ru/bin/view/Glossary/%D0%9C%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D1%8B%D0%B9%20%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3]] (XSS) и атаки с внедрением данных. 132 - 133 -Политика безопасности контента позволяет администраторам серверов уменьшить или устранить векторы, по которым может происходить XSS, указав домены, которые браузер должен рассматривать как допустимые источники исполняемых скриптов. В этом случае браузер, совместимый с политикой, будет выполнять только сценарии, загруженные в исходные файлы и полученные из этих разрешенных доменов, игнорируя все остальные сценарии (включая встроенные сценарии и HTML-атрибуты обработки событий). 134 - 135 -Политика описывается с помощью ряда директив, каждая из которых описывает политику для определенного типа ресурса или области политики. Описание директив доступно по ссылке. 136 - 137 -Важно коррректно настроить политику безопасности контента при развертывании Cloud BI, чтобы предотвратить многие типы атак. Cloud BI предоставляет две переменные в config.py для развертывания: 138 - 139 -* TALISMAN_ENABLED по умолчанию имеет значение False. Установите для этого параметра значение True 140 -* TALISMAN_CONFIG содержит фактическое определение политики 141 - 142 -При работе в продуктивном режиме Cloud BI при запуске проверяет наличие настройки политики. Если она не будет найдена, то система выдаст предупреждение, что есть угроза безопасности. Для сред, в которых политики безопасности определены вне Cloud BI с помощью другого программного обеспечения, администраторы могут отключить это предупреждение с помощью ключа {{code language="none"}}CONTENT_SECURITY_POLICY_WARNING{{/code}} в config.py. 143 - 144 -=== Требования к политике безопасности контента === 145 - 146 -Требования следующие: 147 - 148 -* Укажите ключевые слова {{code language="none"}}'unsafe-eval'{{/code}} и {{code language="none"}}'unsafe-inline'{{/code}} 149 - 150 -{{code language="none"}} 151 -default-src 'self' 'unsafe-eval' 'unsafe-inline' 152 -{{/code}} 153 - 154 -* Некоторые дашбоарды загружают изображения с использованием URI данных 155 - 156 -{{code language="none"}} 157 -img-src 'self' data: 158 -{{/code}} 159 - 160 -* Диаграммы MapBox используют воркеры и должны подключаться к серверам MapBox 161 - 162 -{{code language="none"}} 163 -worker-src 'self' blob: 164 -connect-src 'self' https://api.mapbox.com https://events.mapbox.com 165 -{{/code}} 166 - 167 -Ниже пример TALISMAN_CONFIG, который реализует вышеуказанные требования, использует {{code language="none"}}'self'{{/code}} для ограничения содержимого тем же источником, что и сервер Cloud BI, и запрещает устаревшие элементы HTML, устанавливая для object-src значение {{code language="none"}}'none'{{/code}}. 103 +Рекомендуется предоставить пользователю роль Gamma, а также любые другие роли, которые добавят доступ к определенным источникам данных. Также рекомендуется создавать отдельные роли для каждого профиля доступа. Например, пользователи финансовой группы могут иметь доступ к набору баз данных и источников данных; эти разрешения могут быть объединены в одной роли. Затем пользователям с этим профилем необходимо назначить роль Гамма в качестве основы для моделей и представлений, к которым они могут получить доступ, и роль Финансы, которая представляет собой набор разрешений для объектов данных. 104 +