アノテーションインターフェース 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
関連事項:
  • ネストされたクラスの概要

    ネストされたクラス
    修飾子と型
    クラス
    説明
    static enum
  • 必須定数のサマリー

    必須要素
    修飾子と型
    必須要素
    説明
    取得するシークレットの Vault パスを示します。
  • オプション要素の概要

    オプション要素
    修飾子と型
    オプションの要素
    説明
    boolean
    secrets が見つからないことを無視するかどうかを示します。
    Vault から取得したプロパティのプロパティ名プレフィックス。
    リースの更新 / ローテーションを構成します。
    プロパティソースで使用する VaultTemplate Bean の名前を設定します。
  • 要素の詳細

    • value

      StringSE[] value
      取得するシークレットの Vault パスを示します。例: "secret/myapp" または "secret/my-application/profile"

      各場所は、独自のプロパティソースとして、宣言された順序で、包含 Environment に追加されます。

    • propertyNamePrefix

      StringSE propertyNamePrefix
      Vault から取得したプロパティのプロパティ名プレフィックス。すべてのプロパティには propertyNamePrefix という接頭辞が付きます。
      デフォルト:
      ""
    • ignoreSecretNotFound

      boolean ignoreSecretNotFound
      secrets が見つからないことを無視するかどうかを示します。

      シークレットが完全にオプションの場合は true が適切です。デフォルトは真です。

      導入:
      2.2.
      デフォルト:
      true
    • vaultTemplateRef

      StringSE vaultTemplateRef
      プロパティソースで使用する VaultTemplate Bean の名前を設定します。
      デフォルト:
      "vaultTemplate"
    • renewal

      リースの更新 / ローテーションを構成します。
      デフォルト:
      OFF