G-gen の藤岡です。当記事では、Google Cloud (旧称 GCP) の VPC Service Controls を設定する際に登場する、アクセスポリシーやアクセスレベルについて解説します。
前提知識
VPC Service Controls は Access Context Manager サービスを基盤としたセキュリティ機能の 1 つであり、Access Context Manager API 経由でリソースが管理されます。VPC Service Controls の解説については以下の記事をご参照ください。
Access Context Manager は、送信元 IP アドレスやプリンシパル等、クライアント属性 (アクセスレベル) に基づいてリクエストを分類するサービスです。Access Context Manager によって、VPC Service Controls のサービス境界へアクセスできるクライアント属性を設定することができます。
全体像
以下の図は、VPC Service Controls と Access Context Manager を構成するリソースの全体像を示しています。
VPC Service Controls を設定する際、アクセスポリシーやアクセスレベルという用語が登場しますが、リソース構造がわかりづらく、混乱を呼びやすい要素です。これらは Access Context Manager のリソースであり、VPC Service Controls を適切に利用するうえでは、構造を正しく理解する必要があります。
サービス境界
VPC Service Controls では、サービス境界 (Perimeter) と呼ばれる論理的な囲いを作り、その囲いの中のリソースへのアクセス元制限 (IP アドレスやサービスアカウント等) や、どのような操作ができるかを細かく制御します。
- 参考 : API とリファレンス
アクセスポリシー
アクセスポリシーは、アクセスレベル (後述) や VPC Service Controls のサービス境界等のリソースをグルーピングするためのリソースです。
アクセスポリシーは組織レベルでのみ作成できます。Google Cloud コンソールでアクセスレベルを作成すると、自動的に default policy
というアクセスポリシーが作成されます。
アクセスポリシーにはスコープの概念があります。スコープによって、そのアクセスポリシーをどの階層 (組織、フォルダ、プロジェクト) で管理するかを定義できます。 スコープを設定することにより、アクセスポリシーの管理を各フォルダ、プロジェクトの管理者に委任できます。
最小権限の原則に従い、上図のように IAM ロールを各階層ごとに付与している場合、組織をスコープとするアクセスポリシーの設定を誰でも編集できる状態は、管理上好ましくありません。そのため、スコープを用いることで影響範囲を限定できます。
前述のアクセスポリシー default policy
のスコープは組織であり、組織をスコープとするアクセスポリシーは1つしか作成できません。また作成方法 (自動、手動) を問わず、組織をスコープとするアクセスポリシーはコンソールで「範囲」が 組織レベルのポリシーの範囲外
と表示されます。
- 参考 : アクセス ポリシー
- 参考 : スコープ指定されたポリシー
- 参考 : アクセス ポリシーを作成する
アクセスレベル
アクセスレベルは、次のようなアクセス条件を定義できます。
- 誰が : ユーザーやサービスアカウントのプリンシパル
- どこから : IP アドレスや地域 (日本、US 等)
- どのようなデバイスで : モバイルデバイスやパソコン等
アクセスレベルはあくまで、アクセス条件の定義情報でしかありません。単体で使うものではなく、サービス境界や IAM Conditions と紐づけることで効果が適用されます。
- 参考 : アクセスレベル
- 参考 : アクセスレベルの属性
藤岡 里美 (記事一覧)
クラウドソリューション部
数年前までチキン売ったりドレスショップで働いてました!2022年9月 G-gen にジョイン。ハイキューの映画を4回は見に行きたい。
Google Cloud All Certifications Engineer / Google Cloud Partner Top Engineer 2024
Follow @fujioka57621469