普通應用屬性

各種屬性可以在您的 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。可以設定協議方案、主機和埠。