今回は、Google Cloud の運用において、組織ポリシーを使用して、VPC フローログを強制的に取得する方法について説明します。
VPC フローログは、VPC ネットワーク内の仮想マシンインスタンス間でのネットワークトラフィックの記録を提供します。これには、送信元と宛先のIPアドレス、パケットサイズ、TCPフラグ、ネットワークインターフェースの情報などが含まれます。セキュリティ分析やネットワーク監視、コンプライアンス監査などの目的で利用されます。
しかし、VPC 作成時にフローログの設定をオフにすると、フローログは取得されません。Google Cloudを組織で使用する際、一部のプロジェクトでは取得される一方で、他のプロジェクトでは取得されないなどの設定が混在すると、ガバナンスを効果的に行うことができません。
そのような場合、組織ポリシーを使用することで、一貫してガバナンスを行うことができます。
今回は、そのような場合に使用できる、組織ポリシーの設定方法について説明します。
是非、最後までご覧いただけると嬉しいです。
VPC フローログ
VPC フローログについては、以前のブログで書いていますので、そちらをご参考ください。
VPC フローログを取得するメリット
VPC フローログを取得するメリットについて、説明します。
- ネットワークの可視化と監視 : VPC フローログを使用すると、VPC 内の仮想マシン (VM) インスタンス間やインターネットとの間で行われるネットワーク通信の詳細を収集し、可視化することができます。これにより、ネットワークのパフォーマンスを監視し、問題を迅速に特定して対処することが可能になります。
- セキュリティ分析と侵害の検出 : フローログは、ネットワークの異常なパターンや潜在的なセキュリティ侵害を検出するための貴重なデータを提供します。例えば、不正アクセスの試みやデータの漏洩を示す異常なトラフィックパターンを検出することができます。
- コンプライアンスと監査 : 企業が特定の業界標準や規制要件に準拠していることを証明するためには、ネットワークの活動に関する詳細な記録の保持が必要になる場合があります。VPC フローログは、このような監査要件を満たすのに役立ちます。
- コスト管理と最適化 : フローログによって提供されるデータは、ネットワークの使用状況を理解し、不要なトラフィックやリソースの使用を特定するのにも役立ちます。これにより、ネットワークのコストを削減し、全体的な効率を向上させることができます。
- トラブルシューティング : ネットワークの問題が発生した場合、VPC フローログは問題の原因を特定し、迅速に解決するための重要な情報を提供します。例えば、パフォーマンスの低下や接続の切断につながるネットワークのボトルネックを特定することができます。
VPC フローログを有効にすることは、ネットワークの可視性を高め、運用の効率化、セキュリティの強化、コスト削減に大きく貢献するため、多くの組織にとって有益な選択となります。
設定手順
それでは、実際の設定手順について説明します。今回は、4つのパートに分けて説明します。
- IAMの設定
- 組織ポリシーの設定
- VPC の作成①
- VPC の作成②
1. IAMの設定
まずは、IAMの設定を行います。組織ポリシーを設定するには、「組織ポリシー管理者」ロールが必要です。以下でその付与手順を説明します。
まず、Google 管理コンソールから組織リソースに切り替えます。
Google 管理コンソールへログインします。
左上のプロジェクト名のリストを選択し、組織を選択します。
組織リソースに切り替わります。
上部の検索窓から「iam」で検索し、IAMを開きます。
ロールを付与するアカウントの編集アイコンを選択します。
ロールで「組織ポリシー管理者」を選択し、「保存」を選択します。
正常に「組織ポリシー管理者」ロールが付与されていることを確認します。
以上で、IAMの設定は終わりになります。
2. 組織ポリシーの設定
次は、組織ポリシーの設定を行います。
上部の検索窓から「組織のポリシー」で検索し、「組織のポリシー」を開きます。
組織のポリシーが表示されたら、「フィルタ」のテキストボックスに「constraints/compute.requireVpcFlowLogs」と入力して、該当するポリシーを開きます。
「ポリシーを管理」を選択します。
下記設定を選択します。
- Policy Source : Override parent’s policy
- ポリシーの適用 : 置き換える
上記選択後、「ルールの追加」を選択します。
下記設定を選択します。
- ポリシーの値 : カスタム
- ポリシーの種類 : 許可
- 値 : COMPREHENSIVE
値は、サンプルレートの割合を設定しています。値には、3種類あります。
ESSENTIAL
(値 0.1 以上 0.5 未満を許可)LIGHT
(値 0.5 以上 1.0 未満を許可)COMPREHENSIVE
(値 1.0 を許可)
例えば、サンプルレートを0.5以上にする場合は、「LIGHT」と「COMPREHENSIVE
」の2つを入力します。複数の値を設定する場合は、「値を追加」を選択して、値を入力します。
今回は値を「COMPREHENSIVE」のみに設定していますので、サンプルレートが100%(1.0)に設定されている場合のみ、VPC が作成されます。
上記設定後、「ポリシーを設定」を選択します。
設定した値が登録されます。
以上で、組織ポリシーの設定は終わりになります。
3. VPC の作成①
最後に、VPC 作成時にVPC フローログのサンプルレートを組織ポリシーで設定した値より低く設定した場合、VPCが作成できないことを確認します。今回はサンプルレートを100%(1.0)のみ許可する「COMPREHENSIVE」を設定していますので、100%(1.0)より低い場合にはVPC を作成できません。
VPC は、プロジェクトに作成するリソースなので、プロジェクトに切り替えます。左上に表示されている組織名の部分をクリックし、プロジェクトを開きます。
コンソール上部の検索窓で「VPC」で検索し、「VPC ネットワーク」を開きます。
「VPC ネットワークを作成」を選択します。
VPC 名を任意で入力します。ここでは、「vpc-flow-log」にしています。
「サブネット名」「リージョン」「IPv4 範囲」を任意で入力します。ここでは、下記に設定しています。
- サブネット名 : subnet-flow-log
- リージョン : us-central1
- IPv4 範囲 : 192.168.11.0/24
フローログの設定を行います。
- フローログ : オン
- サンプルレート : 100より低い設定
上記設定後、「完了」を選択します。
ファイアウォールの設定はせず、最後に「作成」を選択します。
VPC の作成に関しては、以下のメッセージに示される通り、作成されません。
Constraint constraints/compute.requireVpcFlowLogs violated for projects/project_id. To allow the specified confiquration for subnetwork prjects/project_id/regions/us-central1/subnetworks/subnet-flow-log, the org policy must include the LIGHT value.See https://cloud.google.com/vpc/docs/org-policy-flow-logs for more information.
<翻訳>
Google 管理コンソール
制約constraints/compute.requireVpcFlowLogsがprojects/project_idで違反しました。サブネットワークprjects/project_id/regions/us-central1/subnetworks/subnet-flow-logで指定された設定を許可するには、組織ポリシーにLIGHT値が含まれている必要があります。詳細はhttps://cloud.google.com/vpc/docs/org-policy-flow-logs
作成できなかったVPC は、VPC 名の右側にあるゴミ箱アイコンを選択し削除します。
このように、組織ポリシーで設定したサンプルレート以下の設定でVPC を作成しようとすると、作成ができません。
また、フローログを「オフ」にしている場合も、VPC は作成されません。
4. VPC の作成②
それでは、次に、サンプルレートの値を100%(1.0)に設定して、VPC を作成します。
「VPC ネットワークを作成」を選択します。
VPC 名を任意で入力します。ここでは、「vpc-flow-log-02」にしています。
「サブネット名」「リージョン」「IPv4 範囲」を任意で入力します。ここでは、下記に設定しております。
- サブネット名 : subnet-flow-log-02
- リージョン : us-central1
- IPv4 範囲 : 192.168.11.0/24
フローログの設定を行います。
- フローログ : オン
- サンプルレート : 100
上記設定後、「完了」を選択します。
ファイアウォールの設定はせず、最後に「作成」を選択します。
今度は、組織ポリシーで設定したサンプルレートに合致する設定なので、正常にVPC が作成されます。
このように、組織ポリシーを使用することにより、組織全体で一貫性のあるVPC フローログのポリシーを設定することができます。
設定を元に戻す場合は、組織リソースで組織ポリシーを開き、「constraints/compute.requireVpcFlowLogs」のポリシーにおいて、「親のポリシーを継承する」を選択し、「ポリシーを設定」を選択します。プロジェクトリソースでも組織ポリシーは設定できるので、注意してください。
※必要に応じて、作成したVPC は削除してください。
まとめ
本日は下記3点について説明しました。
- VPC フローログ
- VPC フローログを取得するメリット
- 設定手順
組織ポリシーを用いてVPC フローログの取得を強制することにより、全プロジェクトにおける一貫したガバナンスを確立できます。VPC フローログは、セキュリティ分析やコンプライアンス監査にも欠かせない情報を提供します。本記事で紹介する方法を活用し、効果的なガバナンスの実施を目指してください。
これからも、Macのシステムエンジニアとして、日々、習得した知識や経験を発信していきますので、是非、ブックマーク登録してくれると嬉しいです!
それでは、次回のブログで!