📅  最后修改于: 2023-12-03 14:48:16.703000             🧑  作者: Mango
在 PHP 中使用 Vault,我们可以启用 secret engine 来管理应用程序连接所需的加密凭据和其他敏感数据。接下来,我们将介绍如何使用 PHP 和 Vault 创建和启用 secret engine。
安装 Vault 客户端 SDK。
composer require hashicorp/vault
创建 Vault 客户端实例。
require __DIR__ . '/vendor/autoload.php';
use Vault\Client;
$client = new Client([
'base_uri' => 'http://localhost:8200',
]);
在 base_uri
参数中传入 Vault 服务的 URL。
连接和身份验证。
$token = 's.7iLj7hydK9CHxvghkg8y9Rpr';
$client->authenticate($token);
在 $token
变量中传入你的 Vault access token。
创建和启用 secret engine。
$enginePath = 'secret'; // Secret engine 路径
$engineType = 'kv'; // Secret engine 类型
$engineConfig = [ // Secret engine 配置
'default_lease_ttl' => '24h',
'max_lease_ttl' => '24h',
];
$client->enableSecretEngine($enginePath, $engineType, $engineConfig);
$enginePath
:要创建的 secret engine 的路径。$engineType
:要创建的 secret engine 的类型。在本例中,我们使用 kv
,但您也可以使用其他类型,并相应地设置 $engineConfig
。$engineConfig
:要创建的 secret engine 的配置。验证 secret engine 是否已创建和启用。
$response = $client->listSecretEngines();
$engine = $response->getEngine($enginePath);
var_dump($engine->getPath()); // 输出 '/secret'
var_dump($engine->getType()); // 输出 'kv'
通过上述步骤,您已经成功创建和启用了 secret engine。在生产环境中,我们建议对 Vault 端点启用 HTTPS,并使用 TLS 进行连接。