Как получить секреты разных версий в хранилище hashicorp из драйвера хранилища java. Или мы можем отключить управление версиями секретов? - PullRequest
1 голос
/ 01 октября 2019

Я недавно сталкивался с версионированием секретов. Но только самый последний написанный секрет может быть получен из драйвера хранилища Java

Я попытался отключить управление версиями, чтобы получить его в обычном режиме, но оно не сработало. Если мы сможем отключить его, все будет хорошо.

Это моя java-программа для извлечения написанных секретов. Как я могу упомянуть версию?

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import com.bettercloud.vault.SslConfig;
import com.bettercloud.vault.Vault;
import com.bettercloud.vault.VaultConfig;
import com.bettercloud.vault.VaultException;
import com.bettercloud.vault.response.AuthResponse;
import com.bettercloud.vault.response.LogicalResponse;
import com.bettercloud.vault.api.Seal;
import com.bettercloud.vault.response.SealResponse;

public class VaultDriver {

    public static void main(String args[]) throws VaultException {

        File sslCertificate = new File("vault.crt");
        final VaultConfig config =
                    new VaultConfig()
                        .address("https://127.0.0.1:8200")
                        .openTimeout(5)
                        .readTimeout(30)
                        .sslConfig(new SslConfig().verify(true).pemFile(sslCertificate).build())
                        .token("XXXXXX");

        //You may choose not to provide a root token initially, if you plan to use
        //the Vault driver to retrieve one programmatically from an auth backend.

        final Vault vault = new Vault(config,1);
        //System.out.println(vault.toString());
        // vault.auth().loginByUserPass("rohit", "rohit");

        /*final Map<String, Object> secrets = new HashMap<String, Object>();
         * secrets.put("value1", "world"); secrets.put("value2", "bar");
         * 
         * // Write operation final LogicalResponse writeResponse =
         * vault.logical().write("kv/name", secrets);
         * 
         * System.out.println(writeResponse.toString());
         */

        // Read operation
        final String value = vault.logical()
                                  .read("kv/name")
                                  .getData()
                                  .get("key");
        System.out.println();
        System.out.println(value);
    }
}
...