使用 LDAP 用户名作为实体名称

2024-03-23

我正在使用 Hashicorp Vault 1.9.0,并且启用了 LDAP 身份验证方法,该方法按预期正常工作,但有一个问题:

LDAP 是我们独特的身份验证方法(当然,除了令牌之外),并且 LDAP 用户不是提前在 Vault 中创建的。因此,当某些用户首次登录 Vault 时,Vault 会自动创建用户实体,并使用通用名称(例如“entity_1fb81714”),并将 LDAP 用户名添加为实体的别名。这工作得很好(但可能会更好)。有没有一种方法可以将 Vault 配置为使用 LDAP 用户名(与别名中使用的用户名相同)作为实体名称,而不是通用的“entity_xxx”名称?

实体名称:

实体别名:


It can完成了,但是当你看到涉及的维护时你可能会放弃......

所以你有一个具有随机名称的实体,“内部”有一个实体别名sAMAccountName给定用户的属性。

背景

实体创建不是由 ldap 身份验证后端完成的。如果 Vault 找不到具有匹配实体别名的现有实体,则会创建一个实体。

所以基本上它是这样做的:

  1. 尝试查找其中包含该别名的现有实体
  2. 如果没有找到则创建一个新实体

问题是 Vault 无法使用实体别名属性值作为名称,因为任何给定实体都可以有多个实体别名。其他身份验证后端(如 Github)可能具有不同的实体别名属性。 Vault 无法决定应该使用哪一个,因此会选择一个随机名称。

It can be done

要为您的实体提供可预测的名称,您必须预先使用您选择的名称和别名创建实体,这样当用户首次登录并且 Vault 开始查找它时它就会出现。

我建议你学会接受随机的名字,原因有以下三个:

  1. 管理
  2. 比赛条件
  3. 许可费用

管理

您必须轮询您的 Active Directory 以了解更改,并在用户来来去去时创建/删除实体别名。请记住,Vault 不会验证实体别名是否有效,这是您的工作。这不是一段复杂的代码,但它不会自行编写和维护,您可能有更好的事情要做。

比赛条件

即使采用了同步机制,用户在两次脚本传递之间登录 Vault 时仍然会发生更改。该用户将获得一个随机实体名称。您的脚本可以解决这个问题并在下次运行时修复它,但这将使您的同步代码更加复杂。

Licenses

Vault Enterprise 按实体进行许可。为 Active Directory 中的每个人创建实体别名可能会非常昂贵。您的脚本也可以解释这一点,仅为给定组的成员创建实体别名,但是......您明白了。

你可能会这样:如果你想控制实体名称

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 LDAP 用户名作为实体名称 的相关文章

随机推荐