首页 > 解决方案 > 应用行级安全性后,我们无法解析 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.

如果未应用行级安全性,或对于特定用户,报告将按预期显示。

标签: row-level-securityamazon-quicksight

解决方案


似乎行级安全性需要权限数据集中的 NULL 值。

例如,如果您的权限数据集包含“UserName”、“location_id”和“role_id”三列,则 id 列需要填充 NULL 或特定 id。

如果它们用 NULL 填充,并且您默认授予权限,如果两个 id 列都具有 NULL 值,这将赋予相关用户名查看集合中所有数据的权限。如果 location_id 有一个值并且 role_id 为 NULL,它将限制集合到指定的位置,但它会允许所有角色。

到现在为止还挺好。在我们的案例中发生的情况是,这些值不仅包含“NULL”值,还包含 NONE(空)值。当然,这与 NULL 不同,QuickSight 将无法将权限应用于数据集。

解决方案是检查您的权限数据集,并确保在充当过滤器的列中没有空字符串或 None 值。这些值应该为 NULL。


推荐阅读