问题标签 [vaultsharp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
697 浏览

ssl - vaultsharp tls 身份验证失败 - 必须提供客户端证书

Vaultsharp 无法使用 TLS AUTH 方法的 Vault 进行身份验证

Windows 10 上的 C# 代码,个人商店中的证书和密钥

环境窗口

上面的代码抛出错误

{“错误”:[“必须提供客户端证书”]}

它应该返回秘密而不是抛出异常

0 投票
1 回答
124 浏览

vaultsharp - 令牌生命周期管理

VaultSharp 是否管理令牌生命周期?我正在使用 VaultSharp,发现令牌租用期限设置为 3,600 秒。在那段时间内,我使用 VaultClient 对象的单例实例运行了一些测试。一切都按预期工作。只有第一个 API 调用触发了登录调用,所有后续调用都通过了。一个小时过去后,对加密的调用会引发异常,并出现权限被拒绝错误。VaultSharp 没有尝试在幕后更新租约或进行身份验证以获取新令牌。我之前使用的是 VaultAgent,令牌生命周期是通过 VaultAgent 管理的。我希望 VaultSharp 将消除使用 VaultAgent 的需要。

0 投票
1 回答
2025 浏览

asp.net-core - Hashicorp Vaultsharp 权限被拒绝错误

错误

System.Exception:保管库配置失败:发生一个或多个错误。({"errors":["1 error occurred:\n\t* permission denied\n\n"]} ) 在 C:\Users\48013\Source\Repos 的 VaultConnection.VaultExtensions.AddVaultKeys.GetValutKeyValuePairs(IConfiguration buildConfig) \sample\Vault1\VaultConnection\VaultExtensions\AddVaultKeys.cs: VaultConnection.Startup.ConfigureServices(IServiceCollection services) 中的第 67 行

概括

使用 AppRoleAuthMethodInfo 方法从 Hashicorp Vault 读取键值会导致我 - 权限被拒绝错误。下面提到的一小段代码用于描述问题。

这是代码片段:

DisplayJson(callingTokenInfo) 输出

这个令牌的输出是 - {"request_id":"e5e71c03-6972-12ff-9e30-d42c8e2f188a","lease_id":"","re​​newable":false,"lease_duration":0,"data":{"accessor" :"FuLTEKwYmJ2IGZyDwvCmJ1Vm","explicit_max_ttl":0,"renewable":true,"creation_time":1591617019,"creation_ttl":2764800,"orphan":true,"ttl":2764799,"type":"service"," id":"s.6GJMAbWxQU82cm1K7ajcSgv5","policies":["default","sqlconnection"],"meta":{"role_name":"sqlconnectionrole"},"path":"auth/approle/login"," display_name":"approle","num_uses":0,"entity_id":"811d33fe-e9e5-ac4e-3fbf-9809c0a85b3d","expire_time":"2020-07-10T17:20:19.2386078+05:30","identity_policies":null,"issue_time":"2020-06-08T17:20: 19.2386078+05:30"},"wrap_info":null,"warnings":null,"auth":null}

除此之外,创建策略和与角色关联的步骤

路径“devkv/*”{ 能力 = [“创建”、“读取”、“更新”、“删除”、“列表”] }

路径“devkv/appId*”{ 能力 = [“创建”、“读取”、“更新”、“删除”、“列表”] }

为步骤 -9 执行的命令的输出

0 投票
2 回答
2367 浏览

c# - 在 C# 中使用 VaultSharp 读取 Vault 机密

VaultSharp 包似乎包含了我想要的所有内容,并且有据可查。我尝试使用 VaultSharp 包从 Vault 服务器读取我们的秘密。但是我生锈的 C# 在Secret<SecretData> kv2Secret = await vaultClient.V1.Secrets.KeyValue.V2.ReadSecretAsync("/secret/my_corp/my_app/dev/db_creds");下面的“”行阻止了我,并显示错误消息:

'await' 运算符只能在异步方法中使用。考虑使用“异步”修饰符标记此方法并将其返回类型更改为“任务”。

代码基本上是从http://rajanadar.github.io/VaultSharp/复制的

0 投票
1 回答
380 浏览

hashicorp-vault - 使用 VaultSharp 进行 Hashicorp Vault Kerberos 身份验证

我很难让 Kerberos Auth 使用 VaultSharp 与 Vault 一起工作。

我无法控制 Vault 服务器,但我被告知它已配置并可以使用。

我正在使用在 IIS 中运行的 .NET,并且我想使用 IIS 运行的服务帐户,这样我就不需要存储其他机密或用户/密码。

这是我正在使用的代码和错误:

我已经设法使用令牌身份验证以及通过 CLI 让它工作,但这并不是我想要的。

authMethod.Credentials.UserName/Domain两者都是空字符串。不知道在这种情况下是否应该填充它们,但文档指出它“默认使用网络凭据”

任何帮助表示赞赏。

0 投票
1 回答
205 浏览

c# - 在 VaultSharp 库中,设置 VAULT_CACERT 环境变量的等价物是什么?

我收到错误使用 C# 中的 VaultSharp 库从 Vault 服务请求机密时发送请求时出错。我可以从命令行获取我需要的访问令牌,因此我知道 Vault 地址和我的个人 Vault 令牌工作。

CLI 依赖于环境变量 VAULT_ADDR、VAULT_TOKEN 和 VAULT_CACERT。我看到 VaultSharpVaultClientSettings使用前两个创建对象:地址和令牌信息——但我可以在 VaultSharp 的哪个位置指定 CA 证书路径?

这是我正在使用的代码,从https://github.com/rajanadar/VaultSharp/blob/master/README.md复制:

正是这最后一条语句ReadSecretAsync引发了错误。

非常感谢您的帮助!

0 投票
1 回答
660 浏览

c# - VaultSharp:尝试列出机密时“权限被拒绝”

我一直试图通过 API 简单地列出我的 KeyValue Vault 中的秘密,并且我使用 AppRole auth 获得“权限被拒绝”。这是我到目前为止所拥有的。

呼叫者

保险柜服务

我已经通过命令验证了密钥确实存在。vault kv list secret/输出:

我还仔细检查了政策:

最后,我使用 Postman 和以下 http 调用验证了 RoleId 和 SecretId(并且传入了正确的):

角色: http: //127.0.0.1
:8200/v1/auth/approle/role/my-role/role-id 秘密: http: //127.0.0.1 :8200/v1/auth/approle/role/my-role /秘密ID

我一直在这里到处乱摸,我什至试着用这个来玩弄``上的参数:

知道我错过了什么吗?

0 投票
1 回答
48 浏览

vaultsharp - 我可以仅使用 LDAP 用户名使用 VaultSharp 进行身份验证吗?

我有一个作为 AD 用户运行的 Windows 服务。我没有该用户的密码(不是没有将其存储在某个文件中)。

VaultSharp LDAP auth 的方法签名都需要用户名和密码,但是有没有其他方法可以使用 UserPrincipal 之类的东西自动授予访问权限?

0 投票
2 回答
1109 浏览

c# - 连接到保管库并使用凭据

我正在尝试设置 hashcorp vault 并获取存储在 vault 中的键值对(数据库凭据)。

我按照以下链接连接到保险库并从保险库获取凭据 https://github.com/rajanadar/VaultSharp

我可以从保险库连接并获取凭据,但我的问题是如何将此凭据传递给我的数据库上下文。我是否需要将这些凭据存储在某个地方,从那里获取然后传递给我的数据库上下文,或者我是否需要每次都初始化这个类。下面是获取凭证的示例代码

如何使用上述类来获取和传递凭据。

下面是我的启动类,其中定义了我的数据库上下文:

下面是我需要使用凭据的 DbAdapterService

0 投票
1 回答
80 浏览

ttl - 如何确定 VaultClient 获取的 Vault 令牌的 TTL

我目前正在处理这样的 TTL 过期:

Secret v2Secret; try { v2Secret = await this.vaultClient.V1.Secrets.KeyValue.V2.ReadSecretAsync(vaultPath).ConfigureAwait(false); } catch (VaultApiException e) { this.vaultClient.V1.Auth.ResetVaultToken(); v2Secret = await this.vaultClient.V1.Secrets.KeyValue.V2.ReadSecretAsync(vaultPath).ConfigureAwait(false); }

在我进行第一次 ReadSecretAsync 调用之前,我有没有办法检查 vaultClient 的 TTL ?