我正在使用带有 spring boot maven 的 hashicorp 保险库来存储我的数据库凭据。尝试访问保管库时获得 403 权限被拒绝

I am using hashicorp vault with springboot maven to store my databse credentials. Getting 403 Permission denied while trying to access the vault

注意:Vault 由我项目中的不同团队管理。 下面是我的 boorstrap.yml 配置

spring:
    application:
       name: MongoSecrets

profiles:
   active: dev
cloud:
   vault:
      enabled: true
      uri: https://vaulturl:443
      scheme: https
       token: "LDAP token"
       kv:
          enaled: true
           backend: MySecrets
       ssl:
           trust-store: cacerts

使用的依赖项 - spring-cloud-starter-vault-config,spring-cloud-dependencies

已从 Vault 团队获得对 MySecrets 文件夹的访问权限。以下是为文件夹设置的策略

path "MySecrets/*" {capabilities= ["create","read","update","delete","list"]}

下面是我得到的异常:

org.springframework.vault.authentication.LifecycleAwareSessionManager : Scheduling Token renewal
  org.springframework.vault.core.lease.SecretLeaseEventPublisher$LoggingErrorListener : [RequestedSecret [path='secret/MySecrets/dev', mode=ROTATE]] Lease [leaseId='null', leaseDuration=PT0S, renewable=false] Status 403 FORBIDDEN secrets/MySecrets/dev: 1 error occurred:
  | * permission denied
  |  
  |  
  | org.springframework.vault.VaultException: Status 403 FORBIDDEN secret/MySecrets/dev: 1 error occurred:
  | * permission denied

你的bootstrap.yml错了,有一个缩进问题,你拼错了一个属性。

   kv:
      enaled: true
       backend: MySecrets

应该是:

   kv:
      enabled: true
      backend: MySecrets

但是 spring 仍会记录一些错误,因为它会在启动期间尝试不同的配置文件、应用程序和后端组合。

generic:  
  enabled: false    
kv:  
 enabled: true

将 bootstrap 更改为以上对我有用。我的客户设置 Vault 策略的方式似乎存在一些问题。默认启用通用后端。