Istio RequestAuthentication 阻止 envoy sidecar 的就绪状态

2024-03-05

您能帮我理解 RequestAuthentication 吗? 当我应用简单的 RequestAuthentication 并重新启动 Pod 时,envoy sidecar 的就绪状态为 false,并且日志抛出warn Envoy proxy is NOT ready: config not received from Pilot (is Pilot running?): cds updates: 1 successful, 0 rejected; lds updates: 0 successful, 1 rejected一旦我删除 RequestAuthentication 并重新创建 pod - 工作正常
伊斯蒂奥 1.8.3

apiVersion: 'security.istio.io/v1beta1'
kind: RequestAuthentication
metadata:
  name: jwt-validator
spec:
  selector:
    matchLabels:
      role: api
  jwtRules:
  - issuer: "https://mykeycloak.com/auth/realms/myrealm"

当代理处于 LDS 陈旧状态时 istiod 中显示以下日志

2021-04-10T17:30:53.326877Z    warn    ads    ADS:LDS: ACK ERROR sidecar~10.238.2.69~PODNAME.NS~NS.svc.cluster.local-60 Internal:Error adding/updating listener(s) vi ││ rtualInbound: Issuer 'MY_JWT_ISSUER_URL' in jwt_authn config has invalid local jwks: Jwks RSA [n] or [e] field is missing or has a parse error

Resolved
这里的颁发者不仅仅是 JWT 中匹配的字符串,而是必须可以从 istiod 访问的真实 URL,并且具有有效的 SSL 证书


我放置这个答案是为了更好的可见性。


正如 @Yegor Lopatin 在编辑中提到的,该问题是通过修复发行人解决的:

这里的颁发者不仅仅是 JWT 中匹配的字符串,而是必须可以从 istiod 访问的真实 URL,并且具有有效的 SSL 证书

发行者必须是有效且可访问的链接。我以为这只是一个字符串,你在阅读 JWT 时与它进行比较

e.g.

jwtRules:
  - issuer: "[email protected] /cdn-cgi/l/email-protection"
    jwksUri: "https://raw.githubusercontent.com/istio/istio/release-1.5/security/tools/jwt/samples/jwks.json"

当您使用 istio 设置 JWT 时,您可以参考以下教程:

  • https://www.istiobyexample.dev/jwt https://www.istiobyexample.dev/jwt
  • https://istio.io/latest/docs/tasks/security/authorization/authz-jwt/ https://istio.io/latest/docs/tasks/security/authorization/authz-jwt/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Istio RequestAuthentication 阻止 envoy sidecar 的就绪状态 的相关文章

随机推荐

  • 无法在 Azure Function v2 中加载文件或程序集“System.Private.ServiceModel”

    我使用了 v2 azure 函数 持久函数 和调用服务的自定义 dll net core 2 2 但出现以下异常 无法加载文件或程序集 System Private ServiceModel 版本 4 1 2 4 文化 中性 PublicK
  • android中imageView的单击和双击的区别

    我尝试过以下代码来区分单击和双击 单击一下就可以了 当我双击图像视图时 单击和双击部分内的代码都会执行 private static final long DOUBLE PRESS INTERVAL 250 in millis privat
  • 数据进入错误的工作簿

    我有一个编码为从中收集信息并将数据传输到摘要工作簿的工作簿 该代码在收集数据时有效 但它将数据打印到从中收集数据的工作簿 而不是摘要工作簿 这很奇怪 因为它打开摘要工作簿 甚至计算行数 因此数据将转到第一个空行 有人可以告诉我我做错了什么吗
  • Netbeans 中 try-catch Logger 的自定义代码片段

    每次我使用灯泡提示在 Netbeans 中添加 try catch 块时 它都会自动添加以下行 import java util logging Level import java util logging Logger catch Log
  • gradle build Javadoc 任务因“未知标签:attr”而失败

    我正在尝试建立android autofittextview https github com grantland android autofittextview使用 gradle 从命令行进行项目 然而 每次都失败并出现以下错误 User
  • 列表列表中是否存在某个元素?

    我想查找给定元素是否存在于列表列表中 只有当该元素存在于列表的第一个列表中的某处时 我才得到正确的结果 有什么建议吗 memberlist X X T1 T2 memberlist X H T1 T2 memberlist X T1 T2
  • Backbone.js html 选择/单选更改事件未触发,但单击事件是

    我正在学习骨干 但我一直坚持为 html 选项元素绑定 onchange 事件 我尝试使用 change 或 change id 进行绑定 但这些都没有触发 但是 click 和 click id 事件都有效 div div
  • 如何将命名空间感知设置为 false?

    我正在尝试使用 EclipseLink MOXy 解析一些 XML 但它失败了xsi属性 如果我删除它 它解析得很好 然而 我有 100GiB 的 XML 需要费力地浏览 并且无法更改源文件 有人建议如果我可以设置XmlParser set
  • 将基于标签栏的 iPhone 项目迁移到 iPad

    像许多其他开发人员一样 我创建了使用UITabBarController作为根控制器 选项卡视图使用UINavigationController从列表深入到详细视图 和许多其他开发人员一样 我需要将这些应用程序迁移到 iPad 以便它们利用
  • OCaml 是否复制了自定义块?

    想象一下 我有一个名为 libcat 的 C 库 用于与我的毛茸茸的猫进行交互 因此 我正在为 OCaml 编写绑定来简化与 fluffy 的交互 module type CAT sig type cat val find gt cat v
  • Ansible 模板中的 For 循环

    我有问题 我在模板文件中使用 for for vhost in item server vhost endfor 与项目一起使用文件 yml ansible 中的 with items 但出出是 server d server o serv
  • aspnet 表 - 指定 TableCell 宽度?

    我有一个 asp net 表 我试图将我的列格式化为所有相同的宽度 或者说 4 列分别为 20 30 20 和 30 但是以下代码不起作用
  • android:在imageview中拉伸图像以适合屏幕

    我有一个imageview其高度和宽度设置为fill parent with a linearlayout具有相同的值集 所以我想这应该设置我的图像以适合屏幕 但它只适合 80 横向模式下的顶部和底部边距 我尝试了以下代码但没有成功 Dis
  • 将 textPath 方向从逆时针翻转为顺时针?

    默认情况下 SVG 以逆时针方式将文本环绕路径 文本的天花板粘住了路径 如何将方向更改为顺时针 以使文本的地板粘在圆周上而不是天花板上 textspace letter spacing 5px font family fantasy fon
  • 在 android 和 windows 中使用 sha1prng 给出不同的序列

    我在我的android程序和java程序中都使用了sha1prng作为伪随机数生成器算法 我给它们都设置了相同的值 但是android中生成的序列和java中生成的序列不一样 为什么会发生这种情况 解决这个问题的方法是什么 我认为这是因为
  • 如何使用 ActionCable 作为 API

    我使用 Rails 5 beta 1 和 ActionCable 构建了一个非常简单的应用程序 用于显示用户何时上线并让他们互相发送消息 现在 我基本上想采用 ActionCable 的客户端部分 在另一个应用程序的上下文中实现它 这确实n
  • 将身份添加到现有项目

    我有一个 MVC 项目 我想向其中添加 Identity 但我似乎找不到任何关于如何执行此操作的好文章 有没有一种简单的方法可以将身份添加到现有项目中 我已经有一个数据库 里面有东西 好吧 在一方面 您只需添加 Nuget 包并开始用它编写
  • 在 JScrollPane 中使用绝对布局

    我需要使用具有绝对布局的 JScrollPane 我知道根本不推荐使用 setLayout null 我一直在读到 如果您想在 JScrollPane 中使用绝对布局 则必须设置内部元素的首选大小属性 以便 JScrollPane 可以计算
  • 如何使用 WIX 打包 VSTO Word 插件以进行部署(到 Office 32 位)?

    我开发了一个VSTO Word add in在 VS 2017 Pro 中 工作正常 准备部署 但是 我找不到包装我的工作程序VSTO Word add in用于我的开发机器以外的机器 对于任何特定的机器 我需要部署一次并使其可供任何可能使
  • Istio RequestAuthentication 阻止 envoy sidecar 的就绪状态

    您能帮我理解 RequestAuthentication 吗 当我应用简单的 RequestAuthentication 并重新启动 Pod 时 envoy sidecar 的就绪状态为 false 并且日志抛出warn Envoy pro