データポータルでBigQueryのデータを、ユーザーのアクセス権限に合わせて閲覧できるようにしたい。
Q&A
Closed
解決したいこと
データポータルで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”)
いろいろ調べたのですが、今回のユースケースでどの手法がベストなのか判断できず困っておりました。
希望通りできれば一番ですが、別の手法も含めてアドバイスいただけると幸いです。
よろしくお願いいたします。