问题标签 [vault]
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.
java - 弹簧云库
我有一个带有 spring-cloud-starter-vault-config 依赖项的 Spring Boot 应用程序,所以我所有的秘密都被外部化了。我的应用程序使用带有预配置角色的 AWS IAM 身份验证:
此 Vault AWS 身份验证方法配置为在创建后 2 小时内删除令牌:
因此,在应用程序启动 2 小时后,我可以看到 Vault 令牌被删除:
令牌被删除后应用程序仍然有效,但为什么呢?为什么我在应用程序日志中看不到新令牌的创建?
spring-boot - 如何通过spring b使用roleID和secretID从保险库访问凭据?
我正在尝试通过 spring boot 访问保存在保管库位置的凭据,我有 roleID 、 secretID 、 nameSpace 、 vaultPath 和地址给我。凭据保存在特定的保管库路径中。我正在尝试在 application.yml 中配置它,但它失败了,还试图找出指定保管库路径的位置。
hashicorp-vault - 为现有的非容器化 Windows 应用程序使用 Vault 入门
我们有一堆目前处理秘密的 Windows 服务器应用程序,如下所示;我们的应用程序使用 C#。
- 我们将它们存储在代码中的设置文件中
- 我们使用证书加密存储它们
- 服务器拥有带有私钥的证书,因此它们可以解密秘密
我们正在考虑实施 Hashicorp Vault。只需将加密存储解密替换为将密钥存储在 KV 引擎中的 Vault 中,然后在我们的应用程序中获取它,这似乎很容易——这完全消除了该证书。由于我们在本地,我需要弄清楚我们的身份验证方法。
我们有不同的应用程序在不同的机器上运行,并且它有点动态(不像自动缩放场景那样多,但不是永久的 - 所以我们不能一次将服务器分配给角色并依赖于 Kerberos 身份验证)。
我不确定如何让 AppRole 在我们的场景中工作。我们没有“受信任的平台”或“受信任的实体”示例,没有 Nomad、Chef、Terraform 等。我们在域中有 Windows 机器,并且我们有一个可以查询的本土编排器“这个机器名称运行这些应用程序”,所以也许可以在那里做一些事情?
我是否在“编写您自己的身份验证插件”领域,与我们本土的协调器交谈?
编辑 - Reddit 上的某个人建议,如果我们的应用程序都与它们运行的 Windows 域帐户是一对一的,那么这是一个简单的解决方案,因为这样我们就可以使用遏制身份验证。这不是我们目前的架构方式,但我们必须以某种方式解决这个问题,这可能会做得很好。
第二次编辑 - 用“应用程序”替换“服务”,因为我们的大多数服务实际上并没有作为 Windows 服务运行,只是进程。启动器是 Windows 服务,但它启动的各个进程不是。
google-kubernetes-engine - 用于多个项目的具有 GCP-IAM Auth 方法的 Spring Cloud Vault
我有一些问题,找不到任何文档,也许我遗漏了一些东西。
我们将使用这种方法。我在一个项目中在 GKE 中部署了一些服务和 Vault,它运行良好。我使用这篇文章进行配置。因此,我在 Vault 中为每个项目创建了单独的角色,并将其绑定到每个应用程序的工作负载身份服务。另一个项目中的服务角色具有带有项目名称的 bound_projects 变量。
当我尝试登录或尝试在另一个项目中运行应用程序时,它在控制台中显示此类错误: [RequestedSecret [path='secret/ secret_path ', mode=ROTATE]] Lease [leaseId='null', leaseDuration=PT0S,renewable =false] 无法使用 GCP-IAM 登录:找不到服务帐户 'projects/-/serviceAccounts/< service_name >':googleapi:错误 403:需要权限 iam.serviceAccounts.get 才能对服务帐户项目执行此操作/- /serviceAccounts/< service_name >.,禁止;嵌套异常是 org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 Internal Server Error: [{"errors":["could not find service account 'projects/-/serviceAccounts/< service_name>': googleapi: Error 403: Permission iam.serviceAccounts.get is required to perform this operation on service account projects/-/serviceAccounts/< service_name >., disabled"]} ]
当我尝试通过这个 sa 登录控制台时,我得到了这个。我有这个用户和角色附加了这个权限:
$ vault login -method=gcp role="my-iam-role-preprod" service_account="sa_name" project="project_id" jwt_exp="15m" credentials=@cred.json 验证错误:发出 API 请求时出错。
URL:PUT <vault_addr>/v1/auth/gcp/login 代码:500。错误:
- 找不到服务帐户“项目/-/serviceAccounts/sa_name”:googleapi:错误 403:需要权限 iam.serviceAccounts.get 才能对服务帐户项目/-/serviceAccounts/sa_name 执行此操作,禁止
我在另一个项目中将服务帐户令牌创建者角色分配给 SA,并在部署 Vault 的项目中将浏览器//服务帐户密钥管理员角色分配给 Vault 服务帐户。
保险柜版本是保险柜 v1.7.3。GKE 是 1.19.10-gke.1600。
spring - Spring Vault 集成 - 从多个路径读取秘密
是否可以从 Spring Boot 应用程序读取存储在 Vault 中多个路径/上下文下的秘密?
我认为应该使用配置文件,但不确定并且仍然无法配置配置文件。
Approle 身份验证用于从 Spring Boot 应用程序连接 Vault。
Spring Boot 应用配置(bootstrap.yaml
):
例如,如果有以下结构:
先感谢您。
cert-manager - cert-manager Vault Issuer 不支持客户端证书身份验证 (mTLS)
我已将 Vault 配置为仅允许 mTLS,因此客户端需要提供证书才能访问任何 Vault API。
检查了颁发者的证书管理器 API 文档(https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.VaultIssuer),但没有任何字段允许我指定客户端证书和密钥。不确定这是否是 cert-manager 的限制,我应该禁用 mTLS,只禁用服务器端的 TLS。
我当前的issuer-vault.yaml
文件。我认为应该有一些密钥,例如clientCert
和clientKey
under spec.vault
,但在 cert-manager CRD 中找不到它。
terraform - 仅在条件为真时创建策略文档规则 - Terraform Vault
我有一个 Vault 实例,我使用 Terraform 管理其中的策略和机密。在为新入职的团队创建批准身份验证、策略和策略文档时,有几个重复的步骤,因为每个团队都有他们工作的多个应用程序。我想模块化重复的部分(策略文档、策略创建和团队应用程序的批准),尽管每个应用程序的规则集略有不同。有没有办法以仅在布尔设置为 true 时才包含某些规则的方式创建策略文档?
例如:我有一个创建策略和策略文档的模块,如下所示:我将传递一个名为的 bool 变量enable_metadata_rule
,并根据它的值创建或不创建第二条规则:
如果没有这样的事情,是否有合并单独创建的策略文档的选项?
hashicorp-vault - Vault Agent 注入器 Sidecar 是否也进行令牌自省
当您在 k8s 环境中使用 Vault Agent 注入器 Sidecar 对 Vault 进行授权以确保您的微服务中的应用程序容器变得不知道 Vault 时,在这种情况下 Vault Agent Sidecar 是否也执行令牌自省?
或者目标系统(例如:数据库)是否负责进行令牌自省以验证它从应用程序获得的用于连接它的令牌是否有效?
spring-boot - 使用 LDAP 身份验证方法将 Spring Boot 应用程序连接到 VAULT 的最佳方法
我正在尝试将我的 Java 应用程序连接到Enterprise Vault
使用LDAP
身份验证方法。
spring 不会像它提供的那样提供直接的连接方式
TOKEN
和APPROLE
有人可以帮我联系Enterprise Vault
使用LDAP
方法吗