0

注意:保险柜由我项目中的不同团队管理。下面是我的 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
4

2 回答 2

0

您的 bootstrap.yml 错误,存在缩进问题并且您拼错了一个属性。

   kv:
      enaled: true
       backend: MySecrets

应该:

   kv:
      enabled: true
      backend: MySecrets

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

于 2020-10-19T10:45:09.777 回答
0
generic:  
  enabled: false    
kv:  
 enabled: true

将引导程序更改为以上对我有用。我的客户设置保险柜政策的方式似乎存在一些问题。默认情况下启用通用后端。

于 2021-01-29T18:21:35.653 回答