azure实践

本文详细介绍了如何通过 Azure Active Directory (AAD) 的 OpenID Connect (OIDC) 与 HashiCorp Vault 实现无缝集成,以实现单点登录(SSO)功能。文中深入探讨了在 Azure 上注册应用、创建 secret key 和配置 Vault 服务器的过程,以允许 Azure 替 Vault 分配凭证。此外,还解释了如何在 Vault 登录界面直接选择 OIDC 进行登录,以及内部处理流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关键字:azure hashicorp vault ad oidc

 

基本概念:

azure AD: 一种授权方式。

application:添加一个web app 到azure上 以便使用azure账号单点登录,同时可以在myapp中看到这个app,直接点击即可登录

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

实践一:在vault 登录页面直接登录vault,不输入任何东东,前提是把vault 绑定到azure上。方法是azure AD oidc。

参考:

https://www.vaultproject.io/docs/auth/jwt.html#jwt-authentication

https://www.vaultproject.io/docs/auth/jwt_oidc_providers.html

https://beez.ly/2018/07/25/authenticating-azure-users-with-hashicorp-vault.html

 https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-protocols-oidc

原理:在azure上注册该app,然后创建一个secret key,绑定reply url。然后在vault server内使用azure上创建的secret key,application id等进行配置,表示vault 允许azure替vault 分配credential(比如token)。这个secret key是azure生成的,类似于linux的public key,我给你一个暗号,当你要用的时候,告诉我暗号你就可以直接使用了。这个暗号就是azure 分配credential功能的钥匙。只要注册了app,都可以用。

实操:只需要在vault登录界面直接选oidc然后填role直接登录即可。

内部原理:当点击登录时,vault会自动把地址转向azure的特殊网址(专门用来分配credential的),这个网址提前在vault上配置好(https://sts.windows.net/tenant_id/),tenant_id就是你azure账户里的tenant id。获得token后,这个网址又会自动转到vault的另一个叫callback的网址,网址对返回的token(实际是code形式,不是id_token)进行处理并传给登录界面,然后自动登录成功,就这么点破事儿,不知道是我理解力差还是azure文档太糙。看了好半天才弄明白。

OpenID Connect protocol: Sign-in

具体配置:

azure侧:注册app,生成secret key,填写vualt文档内的reply url(固定格式)

vault侧:enable oidc ,然后configure,那个discovery url就是azure上提供的,实际是上面那个,azure文档tm的写的是另一个,十分奇葩。说创建新的就用新的,实际创建新的还是旧的。 然后创建role role的路径就是auth/oidc/role/xxxx,参数除了policy之外还必须有那个redirect uri,还有一个user claim,azure的话就写upn。

 

azure上的token如果想解析出来看看都有啥,可以这样:在linux内把token粘到一个文档内,然后使用命令cat jwt.json | cut -d. -f2 | base64 -d  这个命令是使用base64把 jwt.json上的内容解密出来。中间那个命令,母鸡

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值