アノテーションインターフェース VaultPropertySource
@TargetSE(TYPESE)
@RetentionSE(RUNTIMESE)
@DocumentedSE
@RepeatableSE(VaultPropertySources.class)
@Import(org.springframework.vault.annotation.VaultPropertySourceRegistrar.class)
public @interface VaultPropertySource
VaultPropertySource を Spring の Environment に追加するための便利な宣言的メカニズムを提供するアノテーション。@Configuration クラスと組み合わせて使用します。使用例
構成データペア database.password=mysecretpassword を含む Vault パス secret/my-application を指定すると、次の @Configuration クラスは @VaultPropertySource を使用して、secret/my-application を Environment の PropertySources のセットに提供します。
@Configuration
@VaultPropertySource("secret/my-application")
public class AppConfig {
@Autowired
Environment env;
@Bean
public TestBean testBean() {
TestBean testBean = new TestBean();
testBean.setPassword(env.getProperty("database.password"));
return testBean;
}
}
Environment オブジェクトは構成クラスへの @Autowired であり、TestBean オブジェクトを取り込むときに使用されることに注意してください。上記の構成では、testBean.getPassword() を呼び出すと "mysecretpassword" が返されます。 特定の状況では、@VaultPropertySource アノテーションを使用する場合、プロパティソースの順序を厳密に制御することが不可能または実用的でない場合があります。例: 上記の @Configuration クラスがコンポーネントスキャンを介して登録された場合、順序を予測することは困難です。このような場合、およびオーバーライドが重要な場合、ユーザーはプログラムによる PropertySource API の使用にフォールバックすることをお勧めします。詳細については、ConfigurableEnvironment および MutablePropertySources javadoc を参照してください。
- 作成者:
- Mark Paluch
- 関連事項:
ネストされたクラスの概要
ネストされたクラス必須定数のサマリー
必須要素オプション要素の概要
オプション要素修飾子と型オプションの要素説明booleansecretsが見つからないことを無視するかどうかを示します。Vault から取得したプロパティのプロパティ名プレフィックス。リースの更新 / ローテーションを構成します。プロパティソースで使用するVaultTemplateBean の名前を設定します。
要素の詳細
value
StringSE[] value取得するシークレットの Vault パスを示します。例:"secret/myapp"または"secret/my-application/profile"。各場所は、独自のプロパティソースとして、宣言された順序で、包含
Environmentに追加されます。
propertyNamePrefix
StringSE propertyNamePrefixVault から取得したプロパティのプロパティ名プレフィックス。すべてのプロパティにはpropertyNamePrefixという接頭辞が付きます。- デフォルト:
- ""
ignoreSecretNotFound
boolean ignoreSecretNotFoundsecretsが見つからないことを無視するかどうかを示します。シークレットが完全にオプションの場合は true が適切です。デフォルトは真です。
- 導入:
- 2.2.
- デフォルト:
- true
vaultTemplateRef
StringSE vaultTemplateRefプロパティソースで使用するVaultTemplateBean の名前を設定します。- デフォルト:
- "vaultTemplate"
renewal
VaultPropertySource.Renewal renewalリースの更新 / ローテーションを構成します。- デフォルト:
- OFF