0

spring-vaultを使用したアプリケーションがあります。AppRole を使用して Vault に対して認証します。その操作から取得したトークンを使用して、シークレットを読み書きします。VaultEndpointおよびの構成AppRoleAuthenticationは、プロパティ ファイルから自動構成されます。

コードは次のようになります。

@Autowired
private ApplicationContext context;

@Autowired
private VaultOperations vault;

private Logger logger = LoggerFactory.getLogger(VaultFacade.class);

public VaultFacadeImpl() {
    logger.debug("Creating VaultFacade with autowired context");
    context = new AnnotationConfigApplicationContext(VaultConfig.class);

    vault = context.getBean(VaultTemplate.class);
    //vault variable ready to use with vault.read or vault.write 
    //in our VaultFacadeImpl
}

autowire 機能を維持したいのですが、他の 2 つの ClientAuthentication 実装もサポートしています。

  • 既存のTokenAuthentication
  • カスタムClientAuthentication実装 (LDAP 認証バックエンド)

最終的には、2 つの認証メカニズムを同時に使用できるようになります。アプリケーションの資格情報 (Vault 内の AppRole) を使用して実行される操作もあれば、ユーザーの資格情報 (Vault 内の LDAP) を使用する操作もあります。

それぞれが異なる派生物AbstractVaultConfigurationを返す複数のクラスを作成できると思います。ClientAuthenticationしかし、構成クラスの VaultTemplate を作成するにはどうすればよいですか?

4

1 に答える 1