探索身份验证新境界:Dex - 联邦OpenID Connect提供者

探索身份验证新境界:Dex - 联邦OpenID Connect提供者

dexDex 是一个开源的身份认证代理,用于管理 Docker 镜像仓库和 Kubernetes 集群的访问控制。 * 身份认证代理、访问控制、Docker 镜像仓库管理 * 有什么特点:支持多种身份认证协议、用于访问控制和身份认证、易于集成和扩展项目地址:https://gitcode.com/gh_mirrors/dex/dex

GitHub Workflow Status OpenSSF Scorecard Go Report Card Gitpod ready-to-code

Logo

Dex是一个基于OpenID Connect的身份服务,为其他应用程序提供统一的认证入口。通过其创新的“连接器”系统,Dex能够将认证任务委托给LDAP服务器、SAML提供商或者如GitHub、Google和Active Directory这样的成熟身份管理平台。

ID令牌:安全身份证明的核心

Dex的主要功能是生成JSON Web Tokens(JWT)作为ID令牌,这是OAuth2协议的一部分。这些令牌在授权响应中返回,证明了终端用户的标识。例如:

eyJhbGciOiJSUzI1NiIsImtpZCI6IjlkNDQ3NDFmNzczYjkzOGNmNjVkZDMyNjY4NWI4NjE4MGMzMjRkOTkifQ.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjU1NTYvZGV4Iiwic3ViIjoiQ2djeU16UXlOelE1RWdabmFYUm9kV0kiLCJhdWQiOiJleGFtcGxlLWFwcCIsImV4cCI6MTQ5Mjg4MjA0MiwiaWF0IjoxNDkyNzk1NjQyLCJhdF9oYXNoIjoiYmk5NmdPWFpTaHZsV1l0YWw5RXFpdyIsImVtYWlsIjoiZXJpYy5jaGlhbmdAY29yZW9zLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJncm91cHMiOlsiYWRtaW5zIiwiZGV2ZWxvcGVycyJdLCJuYW1lIjoiRXJpYyBDaGlhbmcifQ.OhROPq_0eP-zsQRjg87KZ4wGkjiQGnTi5QuG877AdJDb3R2ZCOk2Vkf5SdP8cPyb3VMqL32G4hLDayniiv8f1_ZXAde0sKrayfQ10XAXFgZl_P1yilkLdknxn6nbhDRVllpWcB12ki9vmAxklAr0B1C4kr5nI3-BZLrFcUR5sQbxwJj4oW1OuG6jJCNGHXGNTBTNEaM28eD-9nhfBeuBTzzO7BKwPsojjj4C9ogU4JQhGvm_l4yfVi0boSx8c0FX3JsiB0yLa1ZdJVWVl9m90XmbWRSD85pNDQHcWZP9hR6CMgbvGkZsgjG32qeRwUL_eNkNowSBNWLrGNPoON1gMg

这些签名的令牌包含了标准声明,如哪个客户端应用进行了登录、何时过期以及用户的身份等信息。

{
  "iss": "http://127.0.0.1:5556/dex",
  "sub": "CgcyMzQyNzQ5EgZnaXRodWI",
  "aud": "example-app",
  "exp": 1492882042,
  "iat": 1492795642,
  "at_hash": "bi96gOXZShvlWYtal9Eqiw",
  "email": "jane.doe@coreos.com",
  "email_verified": true,
  "groups": [
    "admins",
    "developers"
  ],
  "name": "Jane Doe"
}

由于这些令牌由dex签署并包含标准化的声明,它们可以被其他服务用于服务间凭证,如AWS STSKubernetes

Kubernetes与Dex的协同工作

Dex无缝集成在任何Kubernetes集群之上,利用Kubernetes的自定义资源定义,并驱动API服务器的认证。用户可以通过Dex支持的任何身份提供商登录,而客户端,如kubectlkubernetes-dashboard,可以在代表用户进行操作时,无需理解每个上游提供商的复杂性。

更多信息,包括如何在Kubernetes上运行Dex以及有关公司的使用案例,可访问项目文档中的相应指南。

连接器:多平台身份认证的桥梁

Dex通过"连接器"策略与各种身份提供者交互。无论是GitHub、LinkedIn还是微软,或是使用诸如LDAP和SAML的传统协议,只需向Dex请求,它就能实现认证流程的标准化。

Dex目前支持以下连接器:

| 名称 | 支持刷新令牌 | 支持组声明 | 支持preferred_username声明 | 状态 | 备注 | |----------------------|---------------|-------------|------------------------------|------------|--------------------| | LDAP | 是 | 是 | 是 | 稳定 | | | GitHub | 是 | 是 | 是 | 稳定 | | | SAML 2.0 | 否 | 是 | 否 | 稳定 | 注意:不受维护,可能存在漏洞(#1884)| | GitLab | 是 | 是 | 是 | 测试版 | | | OpenID Connect | 是 | 是 | 是 | 测试版 | 包括Salesforce、Azure等| | OAuth 2.0 | 否 | 是 | 是 | 阶段测试 | | | Google | 是 | 是 | 是 | 阶段测试 | | | LinkedIn | 是 | 否 | 否 | 测试版 | | | Microsoft | 是 | 是 | 否 | 测试版 | | | AuthProxy | 否 | 是 | 否 | 阶段测试 | 如Apache2 mod_auth等代理 | | Bitbucket Cloud | 是 | 是 | 否 | 阶段测试 | | | OpenShift | 是 | 是 | 否 | 阶段测试 | | | Atlassian Crowd | 是 | 是(*) | 否 | 测试版 | 需要配置config才能获取preferred_username| | Gitea | 是 | 否 | 是 | 测试版 | | | OpenStack Keystone | 是 | 是 | 否 | 阶段测试 | |

稳定性等级如下:

  • 稳定:经过充分测试,广泛使用,不会以不兼容方式改变。
  • 测试版:已测试,不太可能以不兼容方式改变。
  • 阶段测试:可能未经核心团队测试,可能会有不兼容的变更。

所有更改或弃用连接器特性将在发布说明中宣布。

文档与资源

报告安全问题

请参阅我们的安全政策,了解报告漏洞的详细信息。

获取帮助

  • 对于功能建议和bug报告,请创建一个问题
  • 一般性的使用和开发讨论:
    • 加入CNCF Slack频道的#dexidp讨论
    • 开启一个新的讨论
    • 参加dex-dev邮件列表

开发

完成编码和测试后,请运行测试套件:

make testall

为了最佳的开发体验,安装Nixdirenv。否则,手动或通过包管理器安装Go和Docker,然后运行make deps来安装其余依赖项。

有关发行过程的详细信息,请查阅发行文档

许可证

该项目遵循Apache License, Version 2.0许可。


探索Dex,开启您安全高效的身份验证之旅,无论您的业务是在云端还是本地,Dex都将为您提供灵活且强大的解决方案。立即加入社区,共享与学习关于Dex的最新动态和最佳实践!

dexDex 是一个开源的身份认证代理,用于管理 Docker 镜像仓库和 Kubernetes 集群的访问控制。 * 身份认证代理、访问控制、Docker 镜像仓库管理 * 有什么特点:支持多种身份认证协议、用于访问控制和身份认证、易于集成和扩展项目地址:https://gitcode.com/gh_mirrors/dex/dex

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌桃莺Talia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值