保险库 (hashicorp) 向现有 users/tokens 添加新策略

vault (hashicorp) add new policy to existing users/tokens

我创建了一个具有策略的用户:

$ vault token create -renewable -policy=admin_policy    Key                  Value
---                  -----
token                s.kG0Kdb8d2DSOUHv3AMzw5tdO
token_accessor       Do57Fg9DpiMv1j6t3oysZoz9
token_duration       900h
token_renewable      true
token_policies       ["admin_policy" "default"]
identity_policies    []
policies             ["admin_policy" "default"]

现在我想为令牌添加策略。我应该怎么做?

或者我创建了用户:

vault write auth/userpass/users/test3 password=test -policy=admin_policy
Success! Data written to: auth/userpass/users/test3

现在我想为用户添加一个策略:

vault write auth/userpass/users/test3 password=test -policy=admin_policy -policy=crm_sales_policy
Success! Data written to: auth/userpass/users/test3

但是什么都没有改变。

您不能向现有令牌添加策略。

因此您必须使用所述政策创建一个新令牌。

通常情况下,如果您的上游身份验证源(例如 LDAP 等)能够处理为用户分配策略会更好,但也欢迎您在保险库级别执行此操作。

另请注意,令牌与其父令牌相关联,因此它们会在其父令牌过期时过期,除非您添加 -orphan

令牌一般不应该有很长的寿命。 Vault 在这里出名的原因是秘密和令牌应该是短暂的,所以如果它们泄漏,危害最小。

一开始我也很困惑如何更新用户的策略,但是我发现文档已经更新了,API是/auth/userpass/users/:username/policies,所以你可以这样更新策略:

vault write auth/userpass/users/bob123/policies policies="foo,bar"

official reference