GCP:Cloud IAP + App Engineで実現する高度なアクセス制御
はじめに
本記事では、Google Cloud PlatformのCloud Identity-Aware Proxy (IAP)とApp Engineを使用して、これらをApp Engineへの認証と接続元IPアドレスの両方による制御方法を検証します。
実装のメリット
- 2段階のセキュリティ:認証とIPアドレスによる二重の防御
- 柔軟な制御:組織の要件に応じて細かな設定が可能
- 集中管理:GCPの統合管理コンソールで一元的に制御
App Engineファイアウォールとの違い
環境構築と検証ステップ
前提
- App Engineのサービスが作成されていること
- Identity-Aware Proxyを有効化していること
- 組織レベルでAccess Context Managerの権限が付与されていること
1. Cloud IAPの基本設定
まず、App EngineアプリケーションにCloud IAPを有効化し、特定のGoogleアカウントにアクセス権限を付与します。この時点で、許可されたユーザーのみがアプリケーションにアクセスできる状態となります。
2. Access Context Managerの設定
組織レベルでのアクセス制御を実現するため、Access Context Managerでアクセスレベルを設定します。
3. IAPとアクセスレベルの連携
作成したアクセスレベルをCloud IAPに適用します。これにより以下が有効になります。
- Googleアカウントによる認証
- 指定したIPアドレスからのアクセス制限の2段階の制御が有効
Identity-Aware Proxyの画面に移動し、「App Engineアプリ」をクリックします。
アクセスを許可するユーザーを選び、「ロール」に「lAP-secured Web App User」、「アクセスレベル」に作成したアクセスレベルを選択します。
接続テスト
許可されたGoogleアカウント + 許可されたIPの場合、アクセス成功します。
権限を削除したGoogleアカウント + 許可されたIPの場合、アクセス失敗しました。
許可されたGoogleアカウント + 未許可のIPの場合はアクセス失敗しました。
権限を削除したGoogleアカウント + 未許可のIPの場合はアクセス失敗しました。
まとめ
Cloud IAPとApp Engineの組み合わせにより、強固なアクセス制御を実現できることが確認できました。参考になれば幸いです!