【发布时间】:2021-08-31 19:25:24
【问题描述】:
我正在尝试为 BigQuery 表设置行级安全性,以供服务帐号访问。但是,当服务帐户查询表时,结果为空且没有错误消息。
- 将
ROW ACCESS POLICY授予user或group并查询返回预期的过滤结果。 - 删除
ROW ACCESS POLICY时,服务帐号可以访问整个结果,因此这不是另一个访问问题。
查询复制测试表:
CREATE TABLE `<project>.<dataset>.planets` (name String, largest_moon String, has_aliens Bool);
INSERT `<project>.<dataset>.planets` (name, largest_moon, has_aliens)
VALUES('mercury', null, false),
('venus', null, false),
('earth', 'moon', false),
('mars', 'phobos', true);
GRANT `roles/bigquery.filteredDataViewer`
ON TABLE `<project>.<dataset>.planets`
TO "serviceAccount:<account_name>@<project>.iam.gserviceaccount.com";
CREATE OR REPLACE ROW ACCESS POLICY aliens_filter
ON `<project>.<dataset>.planets`
GRANT TO ("serviceAccount:<account_name>@<project>.iam.gserviceaccount.com")
FILTER USING (has_aliens = false);
【问题讨论】:
标签: google-cloud-platform google-bigquery