问题标签 [openid-dex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
219 浏览

go - DEX LDAP 连接器令牌签名

我正在玩 DEX 和 openldap。当我在浏览器中取回令牌并使用我生成的公钥将其放入 JWT 调试器时,它不会验证签名。我正在尝试单步调试 DEX 的代码,但调试工具并不能在我的计算机上运行。我已经诉诸于日志语句。我真的找不到在哪里可以观察到令牌的签名,以查看程序是否正在使用我提供的密钥。哪个函数实际签署了令牌,我如何观察它使用什么密钥来签署?

0 投票
1 回答
1244 浏览

kubernetes - 使用 DEX (LDAP) 进行身份验证时组为空

我一直在尝试使用 DEX for LDAP 对 OIDC 进行身份验证。我已成功进行身份验证,但问题是 LDAP 搜索未返回组。以下是我的 DEX 配置和 LDAP 数据。请帮帮我

截图:登录成功,群组为空

在此处输入图像描述

我的 Dex 配置

我的 LDAP 数据

dn: ou=People,dc=ec2-54-185-211-121,dc=us-west-2,dc=compute,dc=amazonaws,dc=com ou: People objectClass: organizationsUnit

dn: uid=johndoe,ou=People,dc=ec2-54-185-211-121,dc=us-west-2,dc=compute,dc=amazonaws,dc=com gecos: John Doe uid: johndoe loginShell: /bin/bash mail:john.doe@example.org homeDirectory:/home/jdoe cn:John Doe sn:Doe uidNumber:10002 objectClass:posixAccount objectClass:inetOrgPerson objectClass:top userPassword:bar gidNumber:10002

dn: uid=janedoe,ou=People,dc=ec2-54-185-211-121,dc=us-west-2,dc=compute,dc=amazonaws,dc=com gecos: Jane Doe uid: janedoe loginShell: /bin/bash mail:jane.doe@example.org homeDirectory:/home/jdoe cn:Jane Doe sn:Doe uidNumber:10001 objectClass:posixAccount objectClass:inetOrgPerson objectClass:top userPassword:foo gidNumber:10001

dn: ou=Groups,dc=ec2-54-185-211-121,dc=us-west-2,dc=compute,dc=amazonaws,dc=com ou: Groups objectClass: organizationsUnit

dn: cn=admins,ou=Groups,dc=ec2-54-185-211-121,dc=us-west-2,dc=compute,dc=amazonaws,dc=com cn: admins objectClass: posixGroup objectClass: top gidNumber: 20001 memberUid: janedoe memberUid: johndoe

dn: cn=developers,ou=Groups,dc=ec2-54-185-211-121,dc=us-west-2,dc=compute,dc=amazonaws,dc=com cn: 开发者 objectClass: posixGroup objectClass: top gidNumber: 20002 memberUid: janedoe

0 投票
2 回答
635 浏览

kubernetes - 如何访问部署在 Istio 和 Dex 后面的模型微服务?

我使用 Kubeflow (v0.6) 和 Seldon Core 构建了一个部署管道来为 ML 模型提供服务,但是现在部署了模型,我不知道如何通过身份验证。分层并使用服务。

我的 kubernetes 实例在裸机上,设置与此相同:https ://www.kubeflow.org/docs/started/getting-started-k8s/

我能够按照这些说明启动示例应用程序并为 staticClient 发出 IDToken,但是当我将令牌作为“授权:承载”传递时,我被重定向到 dex 登录页面。

(部分)Dex configMap:

当我尝试访问该服务时:

我错过了什么?:(

0 投票
2 回答
625 浏览

kubernetes - Mandate Group Search Condition in Dex LDAP Coonector

I am using Dex as our Identity provider and connecting it to LDAP. Below is my ldap config in Dex:

And below is a sample userSearch & groupSearch Result:

When I login to my Prometheus instance which uses the above config, even though my userID is not part of the Group that is being used ie Prometheus, I am still able to login.

Dex logs shows there is no groups associated with my id.

But why is it still allowing me to login? Is there any way I can mandate this setting if group serach returns empty, login should fail?

0 投票
1 回答
1319 浏览

authentication - 无法让 kubectl 对 dex 和 gangway 进行身份验证

我在 centos7 上运行 kubernetes 1.16.2 的本地实例。我已经安装了 cert-manager、dex 和 gangway 并且显然可以正常工作。我遇到的问题是kubectl。

所以我有dex在它自己的入口上运行,在它的后端使用letsencrypt证书和ldap到我们的本地authn。并且舷梯配置为使用此 dex 实例。

我收集了一个letsencrypt.pem CA

dex,配置了这些额外的 nginx 入口注解,

似乎工作正常:

然后,我通过添加以下 containers.command 行在我的 kubernetes 主节点上编辑我的 kubeapi 清单:

我等待 kubernetes 主 pod 自行重启。一切都恢复正常。我仔细检查了在吊舱/etc/pki/ca-trust/source/anchors/letsencrypt.pem内是否可以访问。kube-apiserver-k8s

我在没有a 的情况下配置了舷梯,trustedCAPath然后我继续转到我的舷梯入口,然后我看到了 dex 身份验证页面。我选择 LDAP,输入我的企业帐户详细信息,然后 gangway 继续执行预期的操作:

我尽职尽责地将其粘贴到我的终端中。但是,当我尝试(没有为自己设置任何 RBAC 角色)时,我得到

我也尝试--oidc-ca-file从 kubeapi 中删除,但我得到了同样的错误。

我也尝试添加

kubectl config的凭据 - 但无济于事。

我也试过:

我在 kupeapi 日志中没有看到任何异常,我完全不知道接下来要尝试什么。有什么建议么?

0 投票
1 回答
317 浏览

django - 初始化存储失败:执行迁移失败:创建迁移表:无法打开数据库文件

我正在构建一个 django 应用程序,并且还使用 dex 进行令牌身份验证。此应用程序部署在 AWS EC2 上,但是当我运行 dex 文件时出现错误。

我使用 sqlite3 作为 dex 的数据库。

这是我的 dex 文件 在此处输入图像描述

这是错误 在此处输入图像描述

任何帮助都意义重大。谢谢

0 投票
3 回答
8430 浏览

authentication - istio 得到“RBAC:访问被拒绝”,即使服务角色绑定被检查为允许

我一直在为 istio 苦苦挣扎……所以在这里寻求专家的帮助!

背景

我正在尝试使用dex部署我的 kubeflow 应用程序以实现租户。来自github的manifest文件参考kubeflow官方文档

这是组件/版本信息的列表

  • 我在 GKE 上运行 kubernetes 1.15
  • Istio 1.1.6 已在 kubeflow 中用于服务方法
  • 尝试为 ML 部署 kubeflow 1.0
  • 为 authn 部署 dex 1.0

使用清单文件,我成功地在集群上部署了 kubeflow。这就是我所做的。

  • 在集群上部署 kubeflow 应用
  • 使用 OIDC 服务部署 Dex 启用 authn 到 google Oauth2.0
  • 启用 RBAC
  • 创建特使过滤器以将标题“kubeflow-userid”附加为登录用户

这是第 3 步和第 4 步的验证检查 RBAC 已启用并为 kubeflow-userid 添加了 envoyfilter

RBAC 问题问题分析

在我完成部署后。我进行了以下功能测试:

  • 我可以通过 google oauth 使用我的 google 帐户登录
  • 我能够创建自己的个人资料/命名空间
  • 我能够创建一个笔记本服务器
  • 但是我无法连接到笔记本服务器

RBAC 问题调查

在 kubeflow 上成功创建笔记本服务器并尝试连接笔记本服务器后,我收到“RBAC:访问被拒绝”错误。我设法更新了特使日志级别并获得了下面的日志。

从源代码看来,允许的函数返回 false,因此它给出了“RBAC:拒绝访问”响应。

我对转储的特使进行了搜索,看起来规则应该允许任何以标题键作为我的邮件地址的请求。现在我可以确认我已经从上面的日志中得到了我的标题。

了解用于验证 RBAC authz 的 envoy 配置来自此配置。它通过混合器分发到边车,日志和代码将我引导到 servicerolebinding 的 rbac.istio.io 配置。

我想尝试更新此 ServiceRoleBinding 以验证一些假设,因为我无法调试特使源代码,并且没有足够的日志来显示“允许”方法返回 false 的确切原因。

但是我发现自己无法更新服务角色绑定。每次我完成编辑后,它都会恢复到原来的版本。

我发现有这个 istio-galley validatingAdmissionConfiguration(下面的代码块)可以监控这些 istio rbac 资源。

长话短说

两个多星期以来,我一直在努力解决这个 istio 问题。我敢肯定有很多人在尝试在 k8s 上解决 istio 问题时也有同样的感受。欢迎任何建议!以下是我对问题的理解,如果我错了,请纠正我:

  • 日志证据显示 rbac 规则不允许我访问资源
  • 我需要更新 rbac 规则
  • 规则由mixer根据ServiceRoleBinding分配给envoy容器
  • 所以我需要更新 ServiceRoleBinding
  • 我无法更新 ServiceRoleBinding,因为验证准入 webhook 或 istio 混合器阻止我这样做

我遇到了以下问题

即使删除了验证 webhook,我也无法更新 ServiceRoleBinding

我试图删除这个验证 webhook 以更新 servicerolebinding。保存编辑后资源立即恢复。验证 webhook 实际上是从 configmap 自动生成的,所以我必须更新它来更新 webhook。

厨房中是否有某种缓存供混频器用于分发配置

我找不到任何相关日志表明 rbac.istio.io 资源受到 istio-system 命名空间中的任何服务的保护/验证。

如何获取 MIXER 的日志

我需要了解哪个组件确切地控制了策略。我设法更新了日志级别,但没有找到任何有用的东西

最重要的是如何调试特使容器

我需要调试特使应用程序以了解为什么它为允许函数返回 false。如果我们不能轻松调试它。是否有一个文档可以让我更新代码以添加更多日志并为 GCR 构建新图像,以便我可以再次运行并根据日志查看幕后发生的情况。

0 投票
1 回答
204 浏览

base64 - 如何复制粘贴 Google 的 SSO 证书以连接 dex?

我在 dex 服务器中不断收到以下错误-

failed to initialize server: server: Failed to open connector saml: failed to open connector: failed to create connector saml: parse cert: trailing data:

我正在复制 Google SSO 证书,将其转换为 base64 并粘贴。这是用于使用 google sso 登录配置 argocd。(https://argo-cd.readthedocs.io/en/release-1.8/operator-manual/user-management/google/)我尝试使用\n\r\n不复制证书\n。还是同样的错误。我正在编辑 argocd cm 文件并添加它。是否有正确的复制格式?

0 投票
0 回答
267 浏览

openid-connect - 配置 Vault 以使用 dex oidc 身份验证

我正在尝试配置保险库,以便它可以通过我的本地 dex 部署进行身份验证。我已将 dex 配置为

和 openid 配置文件

我已经配置并工作了舷梯,所以我很确定 dex 方面的一切都很好。我为 Vault 配置 dex 客户端:

我能够卷曲https://vault.mysite.com/ui/vault/auth/oidc/oidc/callback

然后我尝试使用

但是,它会吐出以下内容:

代码:400。错误:

谁能指出我做错了什么?

0 投票
2 回答
658 浏览

kubernetes - microk8s kubeflow仪表板访问-无法与令牌交换授权码:oauth2:无法获取令牌:401未经授权

安装 microk8s 并启用 kubeflow 后,我得到了用户名、密码和 Kubeflow 仪表板的链接。然后我按预期访问仪表板,一切都很好。但是在重新启动我的机器并执行 microk8s start 之后,我无法再进入 kubeflow 仪表板。

所有 pod 都可以正常启动,然后我访问仪表板并获取:

查看 pod/container oidc-gatekeeper-xxxxx / oidc-gatekeeper 的 kubernetes 日志,我有:

对于 pod/容器 dex-auth-5d9bf87db9-rjtm8 / dex-auth:

只有完全删除 microk8s 并在每次我重新启动机器时重新安装,我才能让它再次工作,这显然是不可行的。

任何帮助将不胜感激。