常用应用属性
你可以在 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" 用户标识机制的网络接口提示。 | |
| 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 | 角色名称,可选,用于拉取模式。 | |
| 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 | 当保管库角色关联多个角色时,用于 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 角色可能设置的 Max 值。同时受限于 AWS 支持的 STS 最大 TTL。@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 | OAuth2 账户私钥的 JSON 格式内容的 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.github.github-path | github | GitHub 认证后端的挂载路径。 |
| spring.cloud.vault.github.token | GitHub 个人访问令牌。 | |
| 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 | 键值存储后端版本。目前支持的版本有:
|
| 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.role | 正在尝试登录的角色名称。@since 5.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 | 静态保险库令牌。如果 {@link #authentication} 为 {@code TOKEN},则必须提供。 | |
| spring.cloud.vault.uri | Vault URI。可以设置协议、主机和端口。 |