sami1220
@sami1220

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

データポータルでBigQueryのデータを、ユーザーのアクセス権限に合わせて閲覧できるようにしたい。

解決したいこと

データポータルで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”)

いろいろ調べたのですが、今回のユースケースでどの手法がベストなのか判断できず困っておりました。

希望通りできれば一番ですが、別の手法も含めてアドバイスいただけると幸いです。

よろしくお願いいたします。

0

2Answer

実際に試していないので、意図通りに動作するかまでは確認が取れていないのですが

BigQuery側では、付与したポリシー通りの閲覧権限となりましたが、データポータル側ではデータポータルのレポートオーナーが持っているBigQuery側の権限範囲でデータが表示されてしまいます。

一度データの認証情報を見直してみてはいかがでしょうか?
BigQuery 側が行レベルアクセスでのポリシー意図通りに設定されているのであれば、認証情報をオーナーの認証情報から閲覧者の認証情報に変更することで解決する可能性があるのではと考えております。
https://support.google.com/looker-studio/answer/10403868#credentials

1Like

ありがとうございます。
ご指摘いただいた通り、以下2点の対応で無事に閲覧できる状態となりました。

  • データポータル側の認証情報を閲覧者側の権限にするよう設定
  • 今回のBigQueryのプロジェクトのIAMロール付与(抜けてました。。)

まさかの挙動でしたので焦ってしまいましたが、ご指摘の通り確認すると全然簡単な部分でした。。。
ご丁寧にありがとうございました。

0Like

Your answer might help someone💌