普通应用属性

各种属性可以在您的 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" UserId 机制的网络接口提示。

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

MAC_ADDRESS

UserId 机制。可以是 "MAC_ADDRESS"、"IP_ADDRESS"、字符串或类名。

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

approle

AppRole 认证后端的挂载路径。

spring.cloud.vault.app-role.role

角色的名称,可选,用于 pull 模式。

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

token

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 认证的 Nonce。空 Nonce 默认为生成 Nonce。

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

iam-user

aws 凭据类型。

spring.cloud.vault.aws.enabled

false

启用 aws 后端使用。

spring.cloud.vault.aws.role

凭据的角色名称。

spring.cloud.vault.aws.role-arn

如果与 vault 角色关联了多个角色,则为 assumed_role 的 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 Role 可能设置的最大值。也受限于 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 Duration} 内续订 {@link Lease}。@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

OAuth2 账号私钥的 base64 编码内容,格式为 JSON。

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

OAuth2 凭据私钥的位置。<p> 由于这是 Resource,私钥可以位于多种位置,例如本地文件系统、类路径、URL 等。

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

gcp

Kubernetes 认证后端的挂载路径。

gcp

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

Key-Value 后端版本。当前支持的版本有:<ul> <li>版本 1(未版本化 Key-Value 后端)。</li> <li>版本 2(版本化 Key-Value 后端)。</li> </ul>

spring.cloud.vault.kv.default-context

application

默认上下文的名称。

spring.cloud.vault.kv.enabled

true

启用 Key-Value 后端。

spring.cloud.vault.kv.profile-separator

/

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

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。可以设置协议方案、主机和端口。