VPC Service Controlsを利用してBigQuery APIへの接続にIP制限かけてみたのですが、BigQueryのフロントとして利用しているGoogle Data PortalもIP制限かけて利用したいと思いやってみました。
結論
VPC Service ControlsでBigQueryのAPIにIP制限かけたら、データポータルもIP制限かけることができました。
Access Context Managerでアクセスレベルを定義
アクセスレベルとして、自身のGlobal IPも登録しておきます。
VPC Service Controlsに設定
VPC Service ControlsでBigQuery APIに制限をかけ、先程設定したGlobal IPを許可します。
挙動確認
データ準備
以下のようにデータ作ります。
gsutil mb gs://yo-test-20191203 cat <<EOF > test.csv 1,2,3 4,5,6 7,8,9 EOF gsutil cp ./test.csv gs://yo-test-20191203 bq mk new_dataset bq mk new_dataset.new_table bq load new_dataset.new_table gs://yo-test-20191203/test.csv val1:integer,val2:integer,val3:integer
bqコマンドで確認
クエリを打って接続確認します。VPC内なら問題なく以下のように結果返ります。
$ bq query "select * from new_dataset.new_table" Waiting on bqjob_r60a5a15297f7902e_0000016ec96acd12_1 ... (0s) Current status: DONE +------+------+------+ | val1 | val2 | val3 | +------+------+------+ | 1 | 2 | 3 | | 4 | 5 | 6 | | 7 | 8 | 9 | +------+------+------+
NGなら以下のように返ります。
BigQuery error in query operation: VPC Service Controls: Request is prohibited by organization's policy.
では、確認。
場所 | 結果 |
---|---|
VPC内 | OK |
自身のGlobal IP | OK |
スマホデザリング | NG |
Cloud Shell | NG |
想定通りです。
Google データポータルで確認
自身のGlobal IP
まずは自身のGlobal IPから。
繋がります。
別IPに切り替えて接続
デザリングに繋いで再度テスト。そもそもDatasetが見えなくなるので以下のようなエラーになります。