将 Vault 连接到 SSO/OIDC Authelia

问题描述 投票:0回答:1

My Authelia 连接到 LDAP 服务器,从中检索所有用户信息。将 Vault 直接连接到 LDAP 没有问题。我在 LDAP 中创建组,然后在 Vault 中创建相应的组并将必要的策略与它们关联。

我进一步将 Vault 与 Authelia 集成。我已经拥有将 Authelia 与其他服务集成的经验,并且我能够通过在 Vault 授权期间指定默认角色来将 Vault 与 Authelia 集成。一切都按预期运行。但是,我不想使用默认角色;相反,我希望 Vault 从 SSO 接收组,就像使用 LDAP 一样,并根据所需的策略授予访问权限。在 Vault 与 Authelia 集成期间,我注意到默认情况下,Vault 仅需要 OpenID 进行身份验证。我知道为了实现我的想法,我需要 Vault 也向 Authelia 请求用户组。 Authelia 配置为传输组:

      - id: vault
#        consent_mode: implicit
        description: HashiCorp Vault
        secret: 'my_secret'
        public: false
        authorization_policy: one_factor
        redirect_uris:
            - https://vault.example.com/oidc/callback
            - https://vault.examle.com/ui/vault/auth/oidc/oidc/callback
        scopes:
            - openid
            - profile
            - groups
            - email
        userinfo_signing_algorithm: none

也许有人已经进行了类似的集成。我希望消除用户手动指定其角色的需要。理想情况下,我想完全摆脱 Vault 登录窗口。当用户在浏览器中打开 Vault UI 时,我希望他们被重定向到 Authelia 登录窗口。我已经在 Authelia 中使用“access_control”实现了类似的功能,用于无需身份验证的服务,但需要将访问限制为授权用户。

single-sign-on hashicorp-vault
1个回答
0
投票

Vault 中的 OIDC 提供商无法提供您正在寻找的解决方案。我已经浏览了文档,但找不到任何示例或证据表明这是可能的。

您最好的选择是使用单个角色并将其设置为默认角色,或者让您的用户在登录时输入角色。

完全避免登录页面是不可能的,因为 Vault 提供了多种身份验证方法,并且当您登录时它需要知道您想要哪一种。

© www.soinside.com 2019 - 2024. All rights reserved.