解決したいこと
データポータルでBigQueryのデータを、ユーザーのアクセス権限に合わせて閲覧できるようにしたい。
下記のようなBigQueryテーブルデータを、DataPortalのレポートで複数グループで共有しています。(GoogleWorkSpaceのメンバー)
解決したいことは、
DataPortalの1つのレポートで、アクセスするグループのuserによって閲覧できる行データをフィルタリングしたいです。
例:Company=”ABC"のデータにアクセスできるグループ、Company=”EFG”のデータにアクセスできるグループ
id |
Company |
dep |
001 |
ABC |
Sales |
002 |
ABC |
Sales |
003 |
ABC |
Admin |
004 |
EFG |
Sales |
・ |
・・・・ |
・・・ |
999 |
XYZ |
Admin |
1000 |
XYZ |
Admin |
やったこと
下記のように、BigQuery側で行レベルアクセスのポリシーを付与しました
BigQuery側では、付与したポリシー通りの閲覧権限となりましたが、データポータル側ではデータポータルのレポートオーナーが持っているBigQuery側の権限範囲でデータが表示されてしまいます。
例:”Company=ABC”が見れるグループのメンバーがオーナーのレポートにアクセスしたEFGのグループメンバーもABCが見れてしまう。
--row-level access filter
CREATE ROW ACCESS POLICY filter_abc
ON `project.datasets.datatable`
GRANT TO ("group: abc@xxx.co.jp")
FILTER USING (Company = “ABC”)
-- 同じようにEFG行が見たいグループには以下のように変更して付与
-- GRANT TO ("group: efg@xxx.co.jp") FILTER USING (Company = “EFG”)
いろいろ調べたのですが、今回のユースケースでどの手法がベストなのか判断できず困っておりました。
希望通りできれば一番ですが、別の手法も含めてアドバイスいただけると幸いです。
よろしくお願いいたします。