先にジャンプ
VMware は、あなたの進歩を加速させるトレーニングと認定を提供します。
さらに学習したい方に (英語)Vault からシークレットを取得し、リモートプロパティソースを使用して Spring 環境を初期化します。
SSL で保護されたシークレット (英語) を取得します。
MySQL、PostgreSQL、Apache Cassandra、MongoDB、Consul、AWS、RabbitMQ の資格を生成します。
トークン、AppId、AppRole、クライアント証明書、Cubbyhole、AWS EC2 と IAM、Kubernetes 認証。
ブートストラップアプリケーションコンテキスト: 何でもできるようにトレーニングできるメインアプリケーションの親コンテキスト。
HashiCorp の Vault サービスブローカー [GitHub] (英語) から Spring Cloud Vault コネクター [GitHub] (英語) を使用した Cloud Foundry 統合。
Spring Cloud Vault の使用を開始するには、ビルドの依存関係を含めるだけです。
例: 典型的な POM の依存関係は次のようになります:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-vault-config</artifactId>
</dependency>
次に、Vault エンドポイントと認証を構成します
トークンベースの認証のための bootstrap.yml
spring.application.name: my-application
spring.cloud.vault:
host: localhost
port: 8200
scheme: https
authentication: TOKEN
token: …
AWS-EC2 認証用の bootstrap.yml
spring.application.name: my-application
spring.cloud.vault:
host: localhost
port: 8200
scheme: https
authentication: AWS_EC2
最後に、アプリケーションで Vault 内に格納されているプロパティを使用します
@Configuration
@RestController
public class Application {
@Value("${config.name}")
String name = "World";
@RequestMapping("/")
public String home() {
return "Hello " + name;
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Spring Cloud Vault Config は、アプリケーション名とアクティブなプロファイルを使用して、Vault から構成プロパティを読み取ります。
/secret/{application}/{profile}
/secret/{application}
/secret/{default-context}/{profile}
/secret/{default-context}
Spring Cloud Vault Config には、さまざまな統合をサポートする複数のモジュールが付属しています。適切なバージョンで依存関係を取得するには、依存関係管理に BOM(部品表)を含めることができます。例: 一般的な POM 依存関係管理は次のようになります。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>>org.springframework.cloud</groupId>
<artifactId>spring-cloud-vault-dependencies</artifactId>
<version>x.y.z</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-vault-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-vault-config-consul</artifactId>
</dependency>
</dependencies>
Spring Initializr でプロジェクトのひな形を生成します。