先にジャンプ
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>