前回は GCP のマネージドサービスをさらに高度に保護する VPC Service Controls (以下、 VPC SC )を構成し、高度にデータを保護するというのが具体的にどういう動作なのかということを紹介しました。今回はアクセスレベルを設定し、特定の条件 (ソースIP制限など) においてサービス境界線内部へのアクセスを許可してみたいと思います。

アクセスレベルの構成

Access Context Manager を利用して、アクセスレベルを構成します。今回は GCP のコンソールにアクセスをしているクライアントのソース IP を追加してみましょう。構成イメージは以下のとおりです。

アクセスレベルの構成イメージ

Access Context Manager にアクセスします。再度組織を選択します。

「新規」を押して、条件より「IP サブネットワーク」を選択し、 クライアントのグローバル IP アドレスを追加します。

アクセスレベルの追加

注 : 動的な IP アサインがされる環境の場合には変化しないか確認してください

注: IPv6 が使える環境では v6 を足しておきましょう

アクセスレベルの追加

サービス境界線にアクセスレベルを追加します。追加を行うと、サービス境界線内部ではなくとも、アクセスレベルに一致をすれば、境界線内部と同様にアクセスが可能になります。

今回は前回作成した sample_perimeter にアクセスレベルを追加しました。

アクセスレベルの追加

それでは、サービス境界内にあるプロジェクトを開いて動作を確認してみましょう。先ほどと同様に BigQuery のデータセットが見えることがわかると思います。

アクセスレベルを満たしたため、 サービス境界内部のBigQueryデータセットが確認できた

許可したソース IP のクライアントより、 CLI / コンソールの両方で GCS や BigQuery を操作できることがわかりました。コンソール経由であっても、きちんとソース IP をみて判断してくれるのは嬉しいですね。

もしもアクセスが可能にならなかった場合には、 Stackdriver Logging より監査ログを確認することで、 VPC SC が有効になったリソースの callerIp などを見て確認することができます。

VPC SC の監査ログの様子

今回は紹介できませんでしたが、 VPC Service Control にはこの他にもオンプレミスから Interconnect 経由での Google のマネージド・サービスへの接続サポートなどのユースケースもカバーしています。

セキュリティということでとっつきづらい、設定しづらいイメージがあるかもしれませんが、単なるネットワーク・セキュリティだけではなく統合的にデータを守るための機能というのが理解できたと思います。また、使えないセキュリティはセキュリティでないという言葉もあるぐらいですが、できるだけガチガチに縛られている感を出さずに透過的に操作できるようになっているあたりも、 VPC SC の特徴かなというように感じています。

ぜひ皆さんも VPC SC をお試しいただいて、もっと多くの活用シーンで BigQuery などのサービスを使っていってくださいね!

Disclaimer: この記事は個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には関係はありません。

--

--

Yuta Hono
google-cloud-jp

Solutions Eng at @Google, @GoogleCloud. Opinions are my own, NOT the views of my employer. All posts here are my personal opinion.