VPC Service Controlsのリソース構成を図解

記事タイトルとURLをコピーする

G-gen の藤岡です。当記事では、Google Cloud (旧称 GCP) の VPC Service Controls を設定する際に登場する、アクセスポリシーアクセスレベルについて解説します。

前提知識

VPC Service Controls は Access Context Manager サービスを基盤としたセキュリティ機能の 1 つであり、Access Context Manager API 経由でリソースが管理されます。VPC Service Controls の解説については以下の記事をご参照ください。

blog.g-gen.co.jp

Access Context Manager は、送信元 IP アドレスやプリンシパル等、クライアント属性 (アクセスレベル) に基づいてリクエストを分類するサービスです。Access Context Manager によって、VPC Service Controls のサービス境界へアクセスできるクライアント属性を設定することができます。

Access Context Manager

全体像

以下の図は、VPC Service Controls と Access Context Manager を構成するリソースの全体像を示しています。

構成要素

VPC Service Controls を設定する際、アクセスポリシーアクセスレベルという用語が登場しますが、リソース構造がわかりづらく、混乱を呼びやすい要素です。これらは Access Context Manager のリソースであり、VPC Service Controls を適切に利用するうえでは、構造を正しく理解する必要があります。

サービス境界

VPC Service Controls では、サービス境界 (Perimeter) と呼ばれる論理的な囲いを作り、その囲いの中のリソースへのアクセス元制限 (IP アドレスやサービスアカウント等) や、どのような操作ができるかを細かく制御します。

VPC Service Controls

アクセスポリシー

アクセスポリシーは、アクセスレベル (後述) や VPC Service Controls のサービス境界等のリソースをグルーピングするためのリソースです。

アクセスポリシーは組織レベルでのみ作成できます。Google Cloud コンソールでアクセスレベルを作成すると、自動的に default policy というアクセスポリシーが作成されます。

自動で作られるポリシー

アクセスポリシーにはスコープの概念があります。スコープによって、そのアクセスポリシーをどの階層 (組織、フォルダ、プロジェクト) で管理するかを定義できます。 スコープを設定することにより、アクセスポリシーの管理を各フォルダ、プロジェクトの管理者に委任できます。

スコープの概念

最小権限の原則に従い、上図のように IAM ロールを各階層ごとに付与している場合、組織をスコープとするアクセスポリシーの設定を誰でも編集できる状態は、管理上好ましくありません。そのため、スコープを用いることで影響範囲を限定できます。

スコープ設定時のコンソール表示

前述のアクセスポリシー default policy のスコープは組織であり、組織をスコープとするアクセスポリシーは1つしか作成できません。また作成方法 (自動、手動) を問わず、組織をスコープとするアクセスポリシーはコンソールで「範囲」が 組織レベルのポリシーの範囲外 と表示されます。

アクセスレベル

アクセスレベルは、次のようなアクセス条件を定義できます。

  • 誰が : ユーザーやサービスアカウントのプリンシパル
  • どこから : IP アドレスや地域 (日本、US 等)
  • どのようなデバイスで : モバイルデバイスやパソコン等

アクセスレベルはあくまで、アクセス条件の定義情報でしかありません。単体で使うものではなく、サービス境界や IAM Conditions と紐づけることで効果が適用されます。

藤岡 里美 (記事一覧)

クラウドソリューション部

数年前までチキン売ったりドレスショップで働いてました!2022年9月 G-gen にジョイン。今期は「おっさんずラブ」がイチオシです :)

Google Cloud All Certifications Engineer / Google Cloud Partner Top Engineer 2024