Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 25 章 使用 Vault 存储身份验证 secret

密码库是用于存储、检索、共享和恢复机密的安全位置。机密是安全敏感型数据,只能被有限人或实体访问。例如,secret 包括:
  • 密码
  • pins
  • SSH 私有密钥
用户和服务可以从注册到身份管理(IdM)域的任何计算机访问存储在密码库中的机密。
注意
Vault 只能从命令行使用,不能从 IdM Web UI 使用。
Vault 的用例包括:
存储用户的个人 secret
为服务存储 secret
存储供多个用户使用的通用 secret
请注意,要使用 vault,必须满足 第 25.2 节 “使用 Vault 的先决条件” 中描述的条件。

25.1. Vault 如何工作

25.1.1. Vault 所有者、成员和管理员

IdM 区分以下 vault 用户类型:
Vault 所有者
Vault 所有者是具有密码库上基本管理特权的用户或服务。例如,vault 所有者可以修改密码库的属性或添加新的 vault 成员。
每个密码库必须至少有一个所有者。个密码库也可以有多个所有者。
Vault 成员
Vault 成员是用户或服务,可以访问由其他用户或服务创建的库。
Vault 管理员
Vault 管理员对所有密码库具有不受限制的访问权限,并允许执行所有 vault 操作。
注意
对称和非对称密码库通过密码或密钥进行保护,并应用特殊的访问控制规则(请参阅 第 25.1.2 节 “Standard、Symmetric 和 nonsymmetric Vaults”)。管理员必须满足以下规则:
  • 使用对称和非对称库访问 secret
  • 更改或重置 vault 密码或密钥
Vault 管理员是具有 Vault 管理员特权的任何用户。有关定义用户权限的信息,请参阅 第 10.4 节 “定义基于角色的访问控制”
特定所有者和成员特权取决于密码库的类型。详情请查看 第 25.1.2 节 “Standard、Symmetric 和 nonsymmetric Vaults”

Vault 用户

有些命令的输出(如 ipa vault-show 命令)也会为用户 vault 显示 Vault 用户
$ ipa vault-show my_vault
  Vault name: my_vault
  Type: standard
  Owner users: user
  Vault user: user
vault 用户代表密码库所在的容器的用户。有关 vault 容器和用户 vault 的详情,请查看 第 25.1.4 节 “Vault 容器的不同类型”第 25.1.3 节 “用户、服务和共享 Vault”

25.1.2. Standard、Symmetric 和 nonsymmetric Vaults

以下 vault 类型基于安全性和访问控制级别:
标准库
Vault 所有者和 vault 成员可以存档和检索机密,而无需使用密码或密钥。
对称库
密码库中的机密通过对称密钥进行保护。Vault 成员和 vault 所有者可以存档和检索机密,但它们必须提供 vault 密码。
非对称库
密码库中的机密通过非对称密钥进行保护。用户使用公钥归档机密,再使用私钥检索该机密。Vault 成员只能存档机密,而 vault 拥有者可以同时存档和检索机密。

25.1.3. 用户、服务和共享 Vault

以下 vault 类型基于所有权:
用户密码库:用户的专用密码库
所有者:单个用户.
任何用户都可以拥有一个或多个用户库。
服务库:服务的专用密码库
所有者:一项服务.
任何服务都可以拥有一个或多个服务库。
共享库
所有者:创建密码库的 vault 管理员.其他 vault 管理员也拥有对密码库的完全访问权限。
共享库可供多个用户或服务使用。

25.1.4. Vault 容器的不同类型

vault 容器是密码库的集合。
IdM 提供以下默认 vault 容器:
用户容器:用户的私有容器
此容器存储:特定用户的用户库。
服务容器:服务的私有容器
此容器存储:特定服务的服务库。
共享容器
此容器存储:可由多个用户或服务共享的库。
当为用户或服务创建第一个私有密码库时,IdM 会自动为每个用户或服务创建用户和服务容器。删除用户或服务后,IdM 会删除容器及其内容。