row-level-security - 应用行级安全性后,我们无法解析 AWS QuickSight 中出现的 SQL 语法消息
问题描述
AWS QuickSight 中的某些报告在应用行级安全性后不再显示。将出现一条消息,而不是可视化:
We can't parse this SQL syntax. If you are using custom SQL, verify the syntax and try again. Otherwise, contact support.
如果未应用行级安全性,或对于特定用户,报告将按预期显示。
解决方案
似乎行级安全性需要权限数据集中的 NULL 值。
例如,如果您的权限数据集包含“UserName”、“location_id”和“role_id”三列,则 id 列需要填充 NULL 或特定 id。
如果它们用 NULL 填充,并且您默认授予权限,如果两个 id 列都具有 NULL 值,这将赋予相关用户名查看集合中所有数据的权限。如果 location_id 有一个值并且 role_id 为 NULL,它将限制集合到指定的位置,但它会允许所有角色。
到现在为止还挺好。在我们的案例中发生的情况是,这些值不仅包含“NULL”值,还包含 NONE(空)值。当然,这与 NULL 不同,QuickSight 将无法将权限应用于数据集。
解决方案是检查您的权限数据集,并确保在充当过滤器的列中没有空字符串或 None 值。这些值应该为 NULL。
推荐阅读
- lua - 为什么physics.addBody 会抛出一个表预期的错误?
- pyspark - pyspark 中 toDebugstring() 的准确使用
- vaadin - 如何嵌入 Youtube 视频?
- javascript - JS - 过滤嵌套的对象数组
- r - 主成分回归中的“成分”是什么意思?
- autotools - 从 configure.ac 修改 $PATH
- mongodb - 如何为 mongodb 创建一个新字段,就像 SQL 中的新属性一样
- c# - 为什么 DataAvailable 在 5 秒后停止被调用?
- javascript - 如何在javascript中使用点?
- python - 在日期时间创建模式