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

如何用HTTP基本认证保护Gateway API的HTTPRoute?求支持实现

用HTTP基本认证保护Gateway API的HTTPRoute

实现步骤

由于Gateway API核心未内置认证能力,需依赖网关实现提供的自定义Policy扩展,通用流程如下:

  1. 创建存储认证凭证的Secret
    将用户名与密码(需按username:password格式整体做base64编码)存入Kubernetes Secret,示例:

    apiVersion: v1
    kind: Secret
    metadata:
      name: basic-auth-secret
    type: Opaque
    data:
      users: dXNlcjE6cGFzc3dvcmQx # 对应明文user1:password1
    
  2. 创建认证Policy资源
    根据具体网关实现的CRD定义创建Policy,以Envoy Gateway的BasicAuthPolicy为例:

    apiVersion: authentication.gateway.envoyproxy.io/v1alpha1
    kind: BasicAuthPolicy
    metadata:
      name: basic-auth-policy
    spec:
      targetRef:
        group: gateway.networking.k8s.io
        kind: HTTPRoute
        name: my-httproute
      credentials:
        secret:
          name: basic-auth-secret
    
  3. 关联Policy与HTTPRoute
    多数网关实现通过Policy的targetRef字段直接指定目标HTTPRoute,或用标签选择器批量关联,确保认证规则生效。

支持该策略的Gateway API实现

以下是已知支持通过自定义Policy扩展实现HTTP基本认证的网关:

  • Envoy Gateway:提供BasicAuthPolicy CRD,原生支持与HTTPRoute绑定,凭证存储在Kubernetes Secret中。
  • Kong Gateway:可通过自定义Policy或结合KongConsumer、KongCredential资源实现基本认证,直接关联HTTPRoute。
  • Istio:通过Gateway API扩展将Istio的RequestAuthentication和AuthorizationPolicy与HTTPRoute绑定,完成基本认证校验。
  • GKE Gateway:Google Kubernetes Engine的网关实现提供AuthenticationPolicy CRD,支持配置HTTP基本认证并关联到HTTPRoute。
  • Apache APISIX Ingress Controller:支持通过自定义Policy资源配置基本认证,与HTTPRoute关联生效。

内容的提问来源于stack exchange,提问作者oldhomemovie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 15:22:41