我已经在我们的环境中使用 ldap/active directory 和 ssh 机密引擎设置了 HashiCorp 保险库,为用户提供了访问 Linux 服务器的签名证书。
我已经设置了一些 AD 组,例如:
访问 - SSH 管理员标准 # 通过“ssh-admin-standard-policy”授予对标准 Linux 服务器的访问权限 访问 - Vault 管理员 # 通过“superadmin”授予具有超级用户访问权限的 Vault 管理员
ssh-管理-标准-策略
path "ssh/roles/*" {
capabilities = ["read"]
}
path "sys/mounts*" {
capabilities = ["read", "list"]
}
path "ssh/sign/ssh-admin-standard" {
capabilities = ["create", "update"]
}
和超级管理员
path "*" {
capabilities = ["create", "read", "update", "delete", "list", "sudo"]
}
现在,当我以拥有两个 AD 组的用户身份登录时,我获得:
➜ ~ vault login -method=ldap username="clarg"
Password (will be hidden):
Success! You are now authenticated. The token information displayed below
is already stored in the token helper. You do NOT need to run "vault login"
again. Future Vault requests will automatically use this token.
Key Value
--- -----
token
token_accessor
token_duration 768h
token_renewable true
token_policies ["default" "ssh-admin-standard" "superadmin"]
identity_policies []
policies ["default" "ssh-admin-standard" "superadmin"]
token_meta_username clarg
但是当我尝试执行超级管理员操作时,权限被拒绝。当我在 Google 上搜索时,我发现 Vault 中限制最严格的策略获胜,在本例中是“ssh-admin-standard-policy”策略,它将 ssh/roles 限制为只读。
我的问题是我应该如何管理超级用户访问权限?目前我在设置时使用根密钥,但我想删除它。