VPC Service Controlsで データポータルにもIP制限可能か調べてみた

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が見えなくなるので以下のようなエラーになります。