Как лучше всего предоставить пользователям возможность совместно использовать рабочие листы и информационные панели Snowsight для получения данных с помощью политик безопасности/доступа к строкам?
Кажется, что делиться листом было бы опасно, поскольку каждый имел бы доступ ко всей истории запросов, что позволило бы людям видеть данные, к которым у них обычно нет доступа.
А для общих информационных панелей каждый сможет видеть результаты по последнему пользователю, который их обновил.
Похоже, что эти функции полностью обходят политику доступа к строкам. Или я что-то упускаю?
Хотелось бы, чтобы было что-то вроде «безопасного режима», в котором предыдущие результаты вообще не сохранялись бы.
Что ж, я только что обнаружил это предупреждение в документации Snowflake, так что похоже, что это известная проблема без какого-либо обходного пути:
Осторожность
Когда вы предоставляете общий доступ к листу, вы также предоставляете общий доступ к кэшированной версии результатов. Если ваш лист запрашивает данные, защищенные политиками маскирования или доступа к строкам, или если для вашего пользователя включены второстепенные роли, кэшированные результаты могут содержать результаты, видимые только вашему пользователю. Получатели общего листа могут не иметь разрешения на создание этих результатов, но если у них есть роль листа, они могут просматривать все кэшированные результаты.
Возможным решением может быть использование приложения Streamlit.
Streamlit не кэширует результаты, поэтому это будет более безопасный способ совместного использования информационных панелей с данными с безопасностью на уровне строк.