我正在使用 Hashicorp Vault 1.9.0,并且启用了 LDAP 身份验证方法,该方法按预期正常工作,但有一个问题:
LDAP 是我们独特的身份验证方法(当然,除了令牌之外),并且 LDAP 用户不是提前在 Vault 中创建的。因此,当某些用户首次登录 Vault 时,Vault 会自动创建用户实体,并使用通用名称(例如“entity_1fb81714”),并将 LDAP 用户名添加为实体的别名。这工作得很好(但可能会更好)。有没有一种方法可以将 Vault 配置为使用 LDAP 用户名(与别名中使用的用户名相同)作为实体名称,而不是通用的“entity_xxx”名称?
实体名称:
实体别名:
It can完成了,但是当你看到涉及的维护时你可能会放弃......
所以你有一个具有随机名称的实体,“内部”有一个实体别名sAMAccountName
给定用户的属性。
背景
实体创建不是由 ldap 身份验证后端完成的。如果 Vault 找不到具有匹配实体别名的现有实体,则会创建一个实体。
所以基本上它是这样做的:
- 尝试查找其中包含该别名的现有实体
- 如果没有找到则创建一个新实体
问题是 Vault 无法使用实体别名属性值作为名称,因为任何给定实体都可以有多个实体别名。其他身份验证后端(如 Github)可能具有不同的实体别名属性。 Vault 无法决定应该使用哪一个,因此会选择一个随机名称。
It can be done
要为您的实体提供可预测的名称,您必须预先使用您选择的名称和别名创建实体,这样当用户首次登录并且 Vault 开始查找它时它就会出现。
我建议你学会接受随机的名字,原因有以下三个:
- 管理
- 比赛条件
- 许可费用
管理
您必须轮询您的 Active Directory 以了解更改,并在用户来来去去时创建/删除实体别名。请记住,Vault 不会验证实体别名是否有效,这是您的工作。这不是一段复杂的代码,但它不会自行编写和维护,您可能有更好的事情要做。
比赛条件
即使采用了同步机制,用户在两次脚本传递之间登录 Vault 时仍然会发生更改。该用户将获得一个随机实体名称。您的脚本可以解决这个问题并在下次运行时修复它,但这将使您的同步代码更加复杂。
Licenses
Vault Enterprise 按实体进行许可。为 Active Directory 中的每个人创建实体别名可能会非常昂贵。您的脚本也可以解释这一点,仅为给定组的成员创建实体别名,但是......您明白了。
你可能会这样:如果你想控制实体名称
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)