【C#】Vault - KV 存储引擎操作
<PackageReference Include="VaultSharp" Version="1.17.5.1" />
_vaultUrl = Environment.GetEnvironmentVariable("VAULT_ADDR");
_vaultToken = Environment.GetEnvironmentVariable("VAULT_TOKEN");
var authMethod = new TokenAuthMethodInfo(_vaultToken);
_vaultClient = new VaultClient(new VaultClientSettings(_vaultUrl, authMethod));
v1版本
public async Task<IDictionary<string, object>> ReadSecretAsync(string secretPaht, string mountPoint)
{
var secret = await _vaultClient.V1.Secrets.KeyValue.V1.ReadSecretAsync(secretPath, mountPoint);
return secret.Data;
}
public async Task WriteSecretAsync(string secretPaht, string mountPoint, IDictionary<string, object> values)
{
var secret = await _vaultClient.V1.Secrets.KeyValue.V1.WriteSecretAsync(secretPath, values, mountPoint);
}
public async Task DeleteSecretAsync(string secretPaht, string mountPoint)
{
await _vaultClient.V1.Secrets.KeyValue.V1.DeleteSecretAsync(secretPaht, mountPoint);
}
public Task MountSecretBackendAsync(string mountPoint)
{
var se = new SecretsEngine
{
Type = SecretsEngineType.KeyValueV1,
Config = new Dictionary<string, object>
{
{ "version", "1" }
},
Path = mountPoint
};
return _vaultClient.V1.System.MountSecretBackendAsync(se);
}
public Task UnmountSecretBackendAsync(string mountPoint)
{
return _vaultClient.V1.System.UnmountSecretBackendAsync(mountPoint);
}