このページでは、Identity-Aware Proxy(IAP)を使用して Google Kubernetes Engine(GKE)インスタンスを保護する方法について説明します。
Google Cloud上にないリソースを保護するには、オンプレミスのアプリとリソースの保護をご覧ください。
概要
IAP は GKE の Ingress によって統合されます。これにより、VPN ではなく、リソースレベルで従業員によるアクセスを制御できます。
GKE クラスタで、受信トラフィックは Cloud Load Balancing のコンポーネントである HTTP(S) 負荷分散によって処理されます。HTTP(S) ロードバランサは通常、Kubernetes Ingress コントローラによって構成されます。Ingress コントローラは、Kubernetes Ingress オブジェクトから構成情報を取得します。このオブジェクトは、1 つ以上の Service オブジェクトに関連付けられています。Service オブジェクトは、受信リクエストを特定の Pod とポートに転送するために使用するルーティング情報を保持します。
Kubernetes バージョン 1.10.5-gke.3 以降では、サービスと BackendConfig オブジェクトを関連付けることで、ロードバランサの構成を追加できます。BackendConfig は、kubernetes/ingress-gce リポジトリに定義されるカスタム リソース定義(CRD)です。
Kubernetes Ingress コントローラは、BackendConfig から構成情報を読み取り、それに従ってロードバランサを設定します。BackendConfig は、Cloud Load Balancing に固有の構成情報を保持しています。これにより、HTTP(S) バックエンド サービスごとに個別の構成を定義できます。
始める前に
GKE で IAP を有効にするには、次のものが必要です。
- 課金が有効になっている Google Cloud コンソール プロジェクト。
- HTTPS ロードバランサで処理される 1 つ以上の GKE インスタンスを含むグループ。GKE クラスタに Ingress オブジェクトを作成すると、ロードバランサが自動的に作成されます。
- HTTPS の Ingress の作成をご覧ください。
- ロードバランサのアドレスに登録されたドメイン名。
- すべてのリクエストに ID があることを確認するアプリコード。
- ユーザーの ID の取得をご覧ください。
IAP は、Google が管理する OAuth クライアントを使用してユーザーを認証します。組織内のユーザーのみが IAP 対応アプリケーションにアクセスできます。組織外のユーザーにアクセスを許可するには、外部アプリケーション用に IAP を有効にするをご覧ください。
IAP の有効化
次のステップ
- アクセスレベルを適用して、より詳細なコンテキスト ルールを設定する。
- Cloud Audit Logs を有効にするでアクセス リクエストを確認する。
- IAP の詳細について学習する。
- GKE で Cloud CDN を設定する方法を学習する。
- Cloud Armor for GKE の構成方法を学習する。
- BackendConfig リソースの詳細を確認する。