使用Azure Active Directory登录Hashicorp Vault

假设你已经开开心心搭好了Vault服务器,想配置一个Azure AD登录,打开了Azure Authentication,结果发现它是给Azure虚拟机认证自己用的。这样当然不行。要使用Azure AD认证用户,必须使用OIDC(OpenID Connect)认证流程。

Mount一个Vault auth

首先我们用现有的credential登录一下。

然后添加一个OIDC认证(这里假设mount path为azuread,下同):

AAD注册App

接下来我们需要去Azure Portal创建相应的应用程序。前往Azure Portal -> Azure Active Directory -> App Registrations (Preview) -> New registration,填入:

  • Name:随意
  • Supported account types:根据实际情况选择
  • Redirect URI: http://localhost:8250/oidc/callback(注意这里的端口号)

保存。

在Authentication中,添加Redirect URI(如果你不需要某种方式,那么就不要写):

  • http://localhost:8250/oidc/callback(用于vault client本地登录)
  • https://vault-server/ui/vault/auth/azuread/oidc/callback(用于Vault web UI登录)

Logout URL:https://vault-server/ui/vault/logout

在API permissions中添加一个permission,选择Azure Active Directory Graph -> Delegated permissions -> Group -> Group.Read.All。

在Manifest中,把"groupMembershipClaims": null改成"groupMembershipClaims": "SecurityGroup"

前往Certificates & secrets,创建一个Client secret。

在这一步完成后,我们总共收集到了三个字符串:

  • tenant ID
  • client ID
  • client secret

向Vault写入设置

auth config

role config

设置登录方式对未登录用户可见

设置listing_visibility即可。

测试

尝试登录一下:


参考:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据