transit
封印
Transit 封印配置了 Vault 如何使用 Transit 机密引擎封装封印密钥。Transit 封印可以由以下任一方式激活:
- Vault 配置文件中设置了
seal "transit"
块 - 环境变量
VAULT_SEAL_TYPE
的值被设置为transit
transit
例子
下面的例子显示了通过 Vault 配置文件提供所有必要的值来配置 Transit 封印:
seal "transit" {
address = "https://vault:8200"
token = "s.Qf1s5zigZ4OX6akYjQXJC1jY"
disable_renewal = "false"
// Key configuration
key_name = "transit_key_name"
mount_path = "transit/"
namespace = "ns1/"
// TLS Configuration
tls_ca_cert = "/etc/vault/ca_cert.pem"
tls_client_cert = "/etc/vault/client_cert.pem"
tls_client_key = "/etc/vault/ca_cert.pem"
tls_server_name = "vault"
tls_skip_verify = "false"
}
transit
参数
以下参数可以在 Vault 配置文件的 seal
配置节当中使用:
address
(string: <required>)
: 用以解封的 Vault 集群的完整地址。可以通过设置环境变量VAULT_ADDR
来配置。token
(string: <required>)
: 使用的 Vault 令牌。可以通过设置环境变量VAULT_TOKEN
来配置。key_name
(string: <required>)
: 用以加解密的 transit 引擎 key。可以通过设置环境变量VAULT_TRANSIT_SEAL_KEY_NAME
来配置。mount_path
(string: <required>)
: transit 机密引擎的挂载路径。可以通过设置环境变量VAULT_TRANSIT_SEAL_MOUNT_PATH
来配置。namespace
(string: "")
: transit 机密引擎的名字空间。可以通过设置环境变量VAULT_NAMESPACE
来配置。disable_renewal
(string: "false")
: 禁用自动续约令牌,以应对令牌是由 Vault 之外管理生命周期的场景。可以通过设置环境变量VAULT_TRANSIT_SEAL_DISABLE_RENEWAL
来配置。tls_ca_cert
(string: "")
: 设置用以与 Vault 服务通信的 CA 证书文件的地址。可以通过设置环境变量VAULT_CACERT
来配置。tls_client_cert
(string: "")
: 设置用以与 Vault 服务通信的客户端证书文件的地址。可以通过设置环境变量VAULT_CLIENT_CERT
来配置。tls_client_key
(string: "")
: 设置用以与 Vault 服务通信的私钥文件的地址。可以通过设置环境变量VAULT_CLIENT_KEY
来配置。tls_server_name
(string: "")
: 通过 TLS 连接 Vault 服务时使用的 SNI 主机名。可以通过设置环境变量VAULT_TLS_SERVER_NAME
来配置。tls_skip_verify
(bool: "false")
: 关闭验证 TLS 证书。极不推荐使用该选项,它将削弱和 Vault 服务之间数据传输的安全性。可以通过设置环境变量VAULT_SKIP_VERIFY
来配置。
身份验证
必须设置身份验证参数,可以通过环境变量或是配置文件中的参数。
注意:虽然我们可以在配置文件中配置 VAULT_TOKEN
,但我们强烈推荐使用环境变量配置该参数。
配置的 Vault 令牌需要拥有以下 transit key 的权限:
path "<mount path>/encrypt/<key name>" {
capabilities = ["update"]
}
path "<mount path>/decrypt/<key name>" {
capabilities = ["update"]
}
密钥轮换
Transit 封印支持轮换 Transit 机密引擎中的密钥。旧密钥不得禁用或删除,并用于解密旧数据。