应用行级安全性后,我们无法解析 AWS QuickSight 中出现的 SQL 语法消息

We can't parse the SQL syntax message appears in AWS QuickSight after applying Row-level security

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。