You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置IAP仅限制Cloud Load Balancer特定路径的访问权限

针对特定URL路径的IAP访问控制配置方案

要实现仅限制*/internal/*这类端点允许企业邮箱访问,无需全局启用IAP拦截,可通过IAP条件访问规则结合GKE Ingress路径配置来实现,具体步骤如下:

1. 调整GKE Ingress路径配置

确保Ingress将/internal/*路径的流量路由到对应后端,与其他路径区分开。示例Ingress YAML配置:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: dashboard-ingress
  annotations:
    kubernetes.io/ingress.class: "gce"
    ingress.gcp.kubernetes.io/enable-iam: "true" # 启用IAP关联
    # 若使用HTTPS,添加证书注解
    # ingress.gcp.kubernetes.io/pre-shared-cert: "your-ssl-cert"
spec:
  rules:
  - http:
      paths:
      - path: /internal/*
        pathType: ImplementationSpecific
        backend:
          service:
            name: internal-dashboard-svc
            port: { number: 80 }
      - path: /*
        pathType: ImplementationSpecific
        backend:
          service:
            name: public-dashboard-svc
            port: { number: 80 }

应用配置:kubectl apply -f your-ingress.yaml

2. 配置IAP条件访问规则

在Google Cloud控制台中操作:

  • 进入IAP页面,找到关联的GCLB负载均衡器资源
  • 点击该资源的访问控制选项卡,删除原全局拦截规则(若存在)
  • 创建新规则:
    • 规则类型选择「允许」,优先级设为较高值(如100,确保优先匹配)
    • 添加条件:选择「请求路径」,匹配类型选「匹配正则表达式」,输入.*\/internal\/.*
    • 添加成员:输入企业邮箱账号或群组(如*@yourcompany.com)
  • 创建默认规则:
    • 规则类型选择「允许」,优先级设为较低值(如200)
    • 添加成员:选择「所有用户」(或根据需求设置其他公开权限)

3. 验证效果

  • 访问非/internal/*路径:直接进入仪表盘,无登录验证
  • 访问/internal/*路径:跳转至Google账号登录页,仅企业邮箱账号可通过验证并访问

内容的提问来源于stack exchange,提问作者Shahrear Bin Amin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 05:50:40