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 机密引擎中的密钥。旧密钥不得禁用或删除,并用于解密旧数据。

results matching ""

    No results matching ""