常用应用程序属性

各种属性可以在你的 `application.properties` 文件、`application.yml` 文件中指定,或者作为命令行开关。本附录提供了 Spring Cloud Vault 常用属性的列表以及使用它们的底层类的引用。

属性贡献可以来自类路径上的其他 jar 文件,因此你不应将此视为详尽的列表。此外,你还可以定义自己的属性。
名称 默认值 描述

spring.cloud.vault.app-id.app-id-path

app-id

AppId 身份验证后端的挂载路径。

spring.cloud.vault.app-id.network-interface

“MAC_ADDRESS” 用户 ID 机制的网络接口提示。

spring.cloud.vault.app-id.user-id

MAC_ADDRESS

用户 ID 机制。可以是“MAC_ADDRESS”、“IP_ADDRESS”、字符串或类名。

spring.cloud.vault.app-role.app-role-path

approle

AppRole 身份验证后端的挂载路径。

spring.cloud.vault.app-role.role

角色名称,可选,用于拉取模式。

spring.cloud.vault.app-role.role-id

RoleId。

spring.cloud.vault.app-role.secret-id

SecretId。

spring.cloud.vault.application-name

application

AppId 身份验证的应用程序名称。

spring.cloud.vault.authentication

spring.cloud.vault.aws-ec2.aws-ec2-path

aws-ec2

AWS-EC2 身份验证后端的挂载路径。

spring.cloud.vault.aws-ec2.identity-document

http://169.254.169.254/latest/dynamic/instance-identity/pkcs7

AWS-EC2 PKCS7 身份文档的 URL。

spring.cloud.vault.aws-ec2.nonce

用于 AWS-EC2 身份验证的随机数。空随机数默认为随机数生成。

spring.cloud.vault.aws-ec2.role

角色名称,可选。

spring.cloud.vault.aws-iam.aws-path

aws

AWS 身份验证后端的挂载路径。

spring.cloud.vault.aws-iam.endpoint-uri

STS 服务器 URI。@since 2.2

spring.cloud.vault.aws-iam.region

区域名称,可选。如果未设置,则由 AWS 默认值推断。@since 4.0.1

spring.cloud.vault.aws-iam.role

角色名称,可选。如果未设置,则默认为友好的 IAM 名称。

spring.cloud.vault.aws-iam.server-name

用于在登录请求的标头中设置 {@code X-Vault-AWS-IAM-Server-ID} 标头的服务器名称。

spring.cloud.vault.aws.access-key-property

cloud.aws.credentials.accessKey

获取的访问密钥的目标属性。

spring.cloud.vault.aws.backend

aws

aws 后端路径。

spring.cloud.vault.aws.credential-type

aws 凭证类型

spring.cloud.vault.aws.enabled

false

启用 aws 后端使用。

spring.cloud.vault.aws.role

凭证的角色名称。

spring.cloud.vault.aws.role-arn

如果我们有多个与 vault 角色关联的角色,则为 assumed_role 的角色 ARN。@since 3.0.2

spring.cloud.vault.aws.secret-key-property

cloud.aws.credentials.secretKey

获取的密钥的目标属性。

spring.cloud.vault.aws.session-token-key-property

cloud.aws.credentials.sessionToken

获取的密钥的目标属性。

spring.cloud.vault.aws.ttl

0

sts 令牌的 TTL。默认为 vault 角色可能具有的最大值。也限制为 AWS 支持的 STS 最大值。@since 3.0.2

spring.cloud.vault.azure-msi.azure-path

azure

Azure MSI 身份验证后端的挂载路径。

spring.cloud.vault.azure-msi.identity-token-service

身份令牌服务 URI。@since 3.0

spring.cloud.vault.azure-msi.metadata-service

实例元数据服务 URI。@since 3.0

spring.cloud.vault.azure-msi.role

角色名称。

spring.cloud.vault.cassandra.backend

cassandra

Cassandra 后端路径。

spring.cloud.vault.cassandra.enabled

false

启用 cassandra 后端使用。

spring.cloud.vault.cassandra.password-property

spring.data.cassandra.password

获取的密码的目标属性。

spring.cloud.vault.cassandra.role

凭证的角色名称。

spring.cloud.vault.cassandra.static-role

false

启用静态角色使用。@since 2.2

spring.cloud.vault.cassandra.username-property

spring.data.cassandra.username

获取的用户名目标属性。

spring.cloud.vault.config.lifecycle.enabled

true

启用生命周期管理。

spring.cloud.vault.config.lifecycle.expiry-threshold

过期阈值。在 {@link Lease} 到期之前,将更新给定的 {@link Duration}。@since 2.2

spring.cloud.vault.config.lifecycle.lease-endpoints

设置要委托续订/撤销调用的 {@link LeaseEndpoints}。{@link LeaseEndpoints} 封装了影响续订/撤销端点位置的不同 Vault 版本。对于 Vault 0.8 或更高版本,可以是 {@link LeaseEndpoints#SysLeases},或者对于较旧版本,可以是 {@link LeaseEndpoints#Legacy}(默认为此值)。@since 2.2

spring.cloud.vault.config.lifecycle.lease-strategy

设置要与 {@link org.springframework.vault.core.lease.SecretLeaseContainer#setLeaseStrategy(LeaseStrategy)} 一起使用的 {@link LeaseStrategy},以便在续订错误时保留或删除令牌。@since 4.1

spring.cloud.vault.config.lifecycle.min-renewal

在续订租约之前至少需要的时间段。@since 2.2

spring.cloud.vault.config.order

0

用于设置 {@link org.springframework.core.env.PropertySource} 优先级。这对于使用 Vault 覆盖其他属性源非常有用。@see org.springframework.core.PriorityOrdered

spring.cloud.vault.connection-timeout

5000

连接超时。

spring.cloud.vault.consul.backend

consul

Consul 后端路径。

spring.cloud.vault.consul.enabled

false

启用 consul 后端使用。

spring.cloud.vault.consul.role

凭证的角色名称。

spring.cloud.vault.consul.token-property

spring.cloud.consul.token

获取的令牌的目标属性。

spring.cloud.vault.couchbase.backend

database

Couchbase 后端路径。

spring.cloud.vault.couchbase.enabled

false

启用 couchbase 后端使用。

spring.cloud.vault.couchbase.password-property

spring.couchbase.password

获取的密码的目标属性。

spring.cloud.vault.couchbase.role

凭证的角色名称。

spring.cloud.vault.couchbase.static-role

false

启用静态角色使用。

spring.cloud.vault.couchbase.username-property

spring.couchbase.username

获取的用户名目标属性。

spring.cloud.vault.database.backend

database

数据库后端路径。

spring.cloud.vault.database.enabled

false

启用数据库后端使用。

spring.cloud.vault.database.password-property

spring.datasource.password

获取的密码的目标属性。

spring.cloud.vault.database.role

凭证的角色名称。

spring.cloud.vault.database.static-role

false

启用静态角色使用。

spring.cloud.vault.database.username-property

spring.datasource.username

获取的用户名目标属性。

spring.cloud.vault.databases

spring.cloud.vault.discovery.enabled

false

标志,指示是否启用了 Vault 服务器发现(将通过发现查找 Vault 服务器 URL)。

spring.cloud.vault.discovery.service-id

vault

用于定位 Vault 的服务 ID。

spring.cloud.vault.elasticsearch.backend

database

数据库后端路径。

spring.cloud.vault.elasticsearch.enabled

false

启用 elasticsearch 后端使用。

spring.cloud.vault.elasticsearch.password-property

spring.elasticsearch.rest.password

获取的密码的目标属性。

spring.cloud.vault.elasticsearch.role

凭证的角色名称。

spring.cloud.vault.elasticsearch.static-role

false

启用静态角色使用。

spring.cloud.vault.elasticsearch.username-property

spring.elasticsearch.rest.username

获取的用户名目标属性。

spring.cloud.vault.enabled

true

启用 Vault 配置服务器。

spring.cloud.vault.fail-fast

false

如果无法从 Vault 获取数据,则快速失败。

spring.cloud.vault.gcp-gce.gcp-path

gcp

Kubernetes 认证后端的挂载路径。

spring.cloud.vault.gcp-gce.role

尝试登录所使用的角色名称。

spring.cloud.vault.gcp-gce.service-account

可选的服务帐户 ID。如果未配置,则使用默认 ID。

spring.cloud.vault.gcp-iam.credentials.encoded-key

以 JSON 格式编码的 OAuth2 帐户私钥的 Base64 编码内容。

spring.cloud.vault.gcp-iam.credentials.location

OAuth2 凭据私钥的位置。

由于这是一个资源,私钥可以位于多种位置,例如本地文件系统、类路径、URL 等。

spring.cloud.vault.gcp-iam.gcp-path

gcp

Kubernetes 认证后端的挂载路径。

spring.cloud.vault.gcp-iam.jwt-validity

15m

JWT 令牌的有效期。

spring.cloud.vault.gcp-iam.project-id

覆盖 GCP 项目 ID。

spring.cloud.vault.gcp-iam.role

尝试登录所使用的角色名称。

spring.cloud.vault.gcp-iam.service-account-id

覆盖 GCP 服务帐户 ID。

spring.cloud.vault.host

localhost

Vault 服务器主机。

spring.cloud.vault.kubernetes.kubernetes-path

kubernetes

Kubernetes 认证后端的挂载路径。

spring.cloud.vault.kubernetes.role

尝试登录所使用的角色名称。

spring.cloud.vault.kubernetes.service-account-token-file

/var/run/secrets/kubernetes.io/serviceaccount/token

服务帐户令牌文件的路径。

spring.cloud.vault.kv.application-name

application

用于上下文的应用程序名称。

spring.cloud.vault.kv.backend

secret

默认后端的名称。

spring.cloud.vault.kv.backend-version

2

键值后端版本。当前支持的版本为:

  • 版本 1(未版本化的键值后端)。
  • 版本 2(版本化的键值后端)。

spring.cloud.vault.kv.default-context

application

默认上下文的名称。

spring.cloud.vault.kv.enabled

true

启用键值后端。

spring.cloud.vault.kv.profile-separator

/

组合应用程序名称和配置文件的配置文件分隔符。

spring.cloud.vault.kv.profiles

活动配置文件列表。@since 3.0

spring.cloud.vault.mongodb.backend

mongodb

MongoDB 后端路径。

spring.cloud.vault.mongodb.enabled

false

启用 mongodb 后端使用。

spring.cloud.vault.mongodb.password-property

spring.data.mongodb.password

获取的密码的目标属性。

spring.cloud.vault.mongodb.role

凭证的角色名称。

spring.cloud.vault.mongodb.static-role

false

启用静态角色使用。@since 2.2

spring.cloud.vault.mongodb.username-property

spring.data.mongodb.username

获取的用户名目标属性。

spring.cloud.vault.mysql.backend

mysql

mysql 后端路径。

spring.cloud.vault.mysql.enabled

false

启用 mysql 后端使用。

spring.cloud.vault.mysql.password-property

spring.datasource.password

获取的用户名目标属性。

spring.cloud.vault.mysql.role

凭证的角色名称。

spring.cloud.vault.mysql.username-property

spring.datasource.username

获取的用户名目标属性。

spring.cloud.vault.namespace

Vault 命名空间(需要 Vault Enterprise)。

spring.cloud.vault.pcf.instance-certificate

实例证书 (PEM) 的路径。默认为 {@code CF_INSTANCE_CERT} 环境变量。

spring.cloud.vault.pcf.instance-key

实例密钥 (PEM) 的路径。默认为 {@code CF_INSTANCE_KEY} 环境变量。

spring.cloud.vault.pcf.pcf-path

pcf

Kubernetes 认证后端的挂载路径。

spring.cloud.vault.pcf.role

尝试登录所使用的角色名称。

spring.cloud.vault.port

8200

Vault 服务器端口。

spring.cloud.vault.postgresql.backend

postgresql

postgresql 后端路径。

spring.cloud.vault.postgresql.enabled

false

启用 postgresql 后端使用。

spring.cloud.vault.postgresql.password-property

spring.datasource.password

获取的用户名目标属性。

spring.cloud.vault.postgresql.role

凭证的角色名称。

spring.cloud.vault.postgresql.username-property

spring.datasource.username

获取的用户名目标属性。

spring.cloud.vault.rabbitmq.backend

rabbitmq

rabbitmq 后端路径。

spring.cloud.vault.rabbitmq.enabled

false

启用 rabbitmq 后端使用。

spring.cloud.vault.rabbitmq.password-property

spring.rabbitmq.password

获取的密码的目标属性。

spring.cloud.vault.rabbitmq.role

凭证的角色名称。

spring.cloud.vault.rabbitmq.username-property

spring.rabbitmq.username

获取的用户名目标属性。

spring.cloud.vault.reactive.enabled

true

指示启用反应式发现的标志。

spring.cloud.vault.read-timeout

15000

读取超时。

spring.cloud.vault.scheme

https

协议方案。可以是“http”或“https”。

spring.cloud.vault.session.lifecycle.enabled

true

启用会话生命周期管理。

spring.cloud.vault.session.lifecycle.expiry-threshold

7s

用于 {@link LoginToken} 的过期阈值。该阈值表示将登录令牌视为有效的最小 TTL 时长。TTL 更短的令牌被视为已过期,不再使用。应大于 {@code refreshBeforeExpiry} 以防止令牌过期。

spring.cloud.vault.session.lifecycle.refresh-before-expiry

5s

在续订 {@link LoginToken} 之前至少需要的时间段。

spring.cloud.vault.ssl.cert-auth-path

cert

TLS 证书认证后端的挂载路径。

spring.cloud.vault.ssl.enabled-cipher-suites

已启用的 SSL/TLS 密码套件列表。@since 3.0.2

spring.cloud.vault.ssl.enabled-protocols

已启用的 SSL/TLS 协议列表。@since 3.0.2

spring.cloud.vault.ssl.key-store

保存证书和私钥的密钥库。

spring.cloud.vault.ssl.key-store-password

用于访问密钥库的密码。

spring.cloud.vault.ssl.key-store-type

密钥库的类型。@since 3.0

spring.cloud.vault.ssl.trust-store

保存 SSL 证书的信任库。

spring.cloud.vault.ssl.trust-store-password

用于访问信任库的密码。

spring.cloud.vault.ssl.trust-store-type

信任库的类型。@since 3.0

spring.cloud.vault.token

静态 Vault 令牌。如果 {@link #authentication} 为 {@code TOKEN},则需要此令牌。

spring.cloud.vault.uri

Vault URI。可以使用方案、主机和端口设置。