【问题标题】:We can't parse the SQL syntax message appears in AWS QuickSight after applying Row-level security应用行级安全性后,我们无法解析 AWS QuickSight 中出现的 SQL 语法消息
【发布时间】:2019-04-08 16:10:15
【问题描述】:
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-security
amazon-quicksight
【解决方案1】:
似乎行级安全性需要权限数据集中的 NULL 值。
例如,如果您的权限数据集包含“UserName”、“location_id”和“role_id”三列,则 id 列需要填充为 NULL 或特定 id。
如果它们用 NULL 填充,并且您默认授予权限,如果两个 id 列都具有 NULL 值,这将赋予相关用户名查看集合中所有数据的权限。
如果 location_id 有值且 role_id 为 NULL,则将集合限制在指定位置,但允许所有角色使用。
到目前为止,一切都很好。
在我们的案例中发生的情况是,这些值不仅包含“NULL”值,还包含 NONE(空)值。当然,这与 NULL 不同,QuickSight 将无法将权限应用于数据集。
解决方案是检查您的权限数据集,并确保充当过滤器的列中没有空字符串或无值。这些值应为 NULL。