本页介绍如何使用 Identity-Aware Proxy (IAP) 保护 Google Kubernetes Engine (GKE) 实例的安全。
如需保护非 Google Cloud的资源,请参阅保护本地应用和资源。
概览
在 GKE 上,IAP 通过 Ingress 集成。因此,您无需使用 VPN 即可控制员工的资源级访问权限。
在 GKE 集群中,传入流量由 HTTP(S) 负载平衡服务处理,该服务是 Cloud Load Balancing 的一个组件。HTTP(S) 负载平衡器通常由 Kubernetes Ingress 控制器配置。Ingress 控制器会从与一个或多个 Service 对象关联的 Kubernetes Ingress 对象中获取配置信息。每个 Service 对象包含用于将传入请求定向到特定 Pod 和端口的路由信息。
从 Kubernetes 版本 1.10.5-gke.3 开始,您可以通过将 Service 与 BackendConfig 对象进行关联来添加负载平衡器配置。 BackendConfig 是 kubernetes/ingress-gce 代码库中定义的一个自定义资源定义 (CRD)。
Kubernetes Ingress 控制器会从 BackendConfig 读取配置信息并相应地设置负载平衡器。BackendConfig 包含特定于 Cloud Load Balancing 的配置信息,并可用于为每个 HTTP(S) 负载平衡后端服务定义单独的配置。
准备工作
要为 GKE 启用 IAP,您需要以下各项:
- Google Cloud 启用了结算功能的控制台项目。
- 由 HTTPS 负载平衡器处理的一个或多个 GKE 实例。当您在 GKE 集群中创建 Ingress 对象时,负载平衡器应自动建立。
- 已注册到负载平衡器地址的域名。
- 用于验证所有请求都拥有一个身份的应用代码。
- 了解如何获取用户的身份。
IAP 使用 Google 管理的 OAuth 客户端对用户进行身份验证。只有组织内的用户才能访问启用了 IAP 的应用。如果您想允许组织外部的用户访问,请参阅为外部应用启用 IAP。
启用 IAP
后续步骤
- 通过应用访问权限级别设置更丰富的情境规则。
- 通过启用 Cloud Audit Logs 查看访问权限请求。
- 详细了解 IAP。
- 了解如何在 GKE 上设置 Cloud CDN。
- 了解如何为 GKE 配置 Cloud Armor。
- 详细了解 BackendConfig 资源。