Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
spring-cloud__spring-cloud-config_CVE-2020-5410_2-1-8-RELEASE — 分散システム用の集中設定サーバー。HTTP API、Gitバックアップストレージ、プロパティ暗号化/復号化、Vault、JDBC、ローカルファイルシステムとの統合を備えています。 | Kitploit
ツール/GitHubGitHub/shoucheng3/spring-cloud__spring-cloud-config_cve-2020-5410_2-1-8-release
認証と認可暗号化/復号化ツール構成監査クラウドセキュリティDevSecOpsAPIセキュリティ
GitHubshoucheng3/spring-cloud__spring-cloud-config_cve-2020-5410_2-1-8-release

spring-cloud__spring-cloud-config_CVE-2020-5410_2-1-8-RELEASE

分散システム用の集中設定サーバー。HTTP API、Gitバックアップストレージ、プロパティ暗号化/復号化、Vault、JDBC、ローカルファイルシステムとの統合を備えています。

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る
181年前未レビュー

//// このファイルを編集しないでください。生成されたファイルです。 このファイルへの手動による変更は、再生成時に失われます。 代わりに src/main/asciidoc/ ディレクトリ内のファイルを編集してください。 ////

image::https://circleci.com/gh/spring-cloud/spring-cloud-config/tree/master.svg?style=svg["CircleCI", link="https://circleci.com/gh/spring-cloud/spring-cloud-config/tree/master"] image::https://codecov.io/gh/spring-cloud/spring-cloud-config/branch/master/graph/badge.svg["Codecov", link="https://codecov.io/gh/spring-cloud/spring-cloud-config/branch/master"] image::https://api.codacy.com/project/badge/Grade/f064024a072c477e97dca6ed5a70fccd?branch=master["Codacy code quality", link="https://www.codacy.com/app/Spring-Cloud/spring-cloud-config?branch=master&utm_source=github.com&utm_medium=referral&utm_content=spring-cloud/spring-cloud-config&utm_campaign=Badge_Grade"]

Spring Cloud Config は、分散システムにおける外部化構成のためのサーバー側およびクライアント側のサポートを提供します。Config Server を使用すると、すべての環境にわたるアプリケーションの外部プロパティを管理する中心的な場所が得られます。 クライアントとサーバーの両方の概念は、Spring の Environment および PropertySource の抽象化と正確に対応しているため、Spring アプリケーションに非常に適していますが、任意の言語で実行されている任意のアプリケーションで使用できます。 アプリケーションが開発からテスト、そして本番へとデプロイメントパイプラインを進むにつれて、それらの環境間で構成を管理し、移行時にアプリケーションが必要なものをすべて備えていることを確信できます。 サーバーストレージバックエンドのデフォルト実装は git を使用するため、構成環境のラベル付きバージョンを簡単にサポートし、コンテンツを管理するための幅広いツールからアクセスできます。 代替実装を追加し、Spring 構成でプラグインするのは簡単です。

== Features

=== Spring Cloud Config Server

Spring Cloud Config Server には、次の利点があります。

  • 外部構成のための HTTP リソースベース API(名前と値のペア、または同等の YAML コンテンツ)
  • プロパティ値の暗号化と復号化(対称または非対称)
  • @EnableConfigServer を使用して Spring Boot アプリケーションに簡単に組み込み可能

=== Spring Cloud Config Client

特に Spring アプリケーション向けに、Spring Cloud Config Client では次のことができます。

  • Config Server にバインドし、リモートプロパティソースで Spring Environment を初期化します。
  • プロパティ値の暗号化と復号化(対称または非対称)。
  • 構成が変更されたときに再初期化が必要な Spring @Beans のための @RefreshScope。
  • 管理エンドポイントの使用: ** /env: Environment の更新と @ConfigurationProperties およびログレベルの再バインド用。 ** /refresh: @RefreshScope ビーンをリフレッシュするため。 ** /restart: Spring コンテキストを再起動するため(デフォルトでは無効)。 ** /pause と /resume: ApplicationContext の Lifecycle メソッド(stop() と start())を呼び出すため。
  • ブートストラップアプリケーションコンテキスト: メインアプリケーションの親コンテキストで、任意の動作を訓練できます(デフォルトでは、Config Server にバインドしてプロパティ値を復号化します)。

== Quick Start

このクイックスタートでは、Spring Cloud Config Server のサーバーとクライアントの両方の使用方法を説明します。

まず、次のようにサーバーを起動します。


$ cd spring-cloud-config-server $ ../mvnw spring-boot:run

サーバーは Spring Boot アプリケーションなので、必要に応じて IDE から実行することもできます(メインクラスは ConfigServerApplication です)。

次に、次のようにクライアントを試します。


$ curl localhost:8888/foo/development {"name":"foo","label":"master","propertySources":[ {"name":"https://github.com/scratches/config-repo/foo-development.properties","source":{"bar":"spam"}}, {"name":"https://github.com/scratches/config-repo/foo.properties","source":{"foo":"bar"}} ]}

プロパティソースを特定するデフォルトの戦略は、git リポジトリ(spring.cloud.config.server.git.uri)をクローンし、それを使用してミニ SpringApplication を初期化することです。ミニアプリケーションの Environment を使用してプロパティソースを列挙し、それらを JSON エンドポイントで公開します。

HTTP サービスには、次の形式のリソースがあります。


/{application}/{profile}[/{label}] /{application}-{profile}.yml /{label}/{application}-{profile}.yml /{application}-{profile}.properties /{label}/{application}-{profile}.properties

ここで、application は SpringApplication の spring.config.name として注入され(通常の Spring Boot アプリでは通常 application)、profile はアクティブなプロファイル(またはカンマ区切りのプロパティリスト)、label はオプションの git ラベル(デフォルトは master)です。

Spring Cloud Config Server は、さまざまなソースからリモートクライアントの構成を取得します。次の例では、git リポジトリ(提供する必要があります)から構成を取得します。次の例を参照してください。

[source,yaml]

spring: cloud: config: server: git: uri: https://github.com/spring-cloud-samples/config-repo

その他のソースとしては、JDBC 互換データベース、Subversion、Hashicorp Vault、Credhub、ローカルファイルシステムがあります。

=== Client Side Usage

これらの機能をアプリケーションで使用するには、spring-cloud-config-client に依存する Spring Boot アプリケーションとして構築できます(例については、config-client のテストケースまたはサンプルアプリケーションを参照してください)。依存関係を追加する最も便利な方法は、Spring Boot スターター org.springframework.cloud:spring-cloud-starter-config を使用することです。また、Maven ユーザー向けの親 pom と BOM(spring-cloud-starter-parent)、Gradle および Spring CLI ユーザー向けの Spring IO バージョン管理プロパティファイルもあります。次の例は、典型的な Maven 構成を示しています。

[source,xml,indent=0] .pom.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>{spring-boot-docs-version}</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-dependencies</artifactId>
			<version>{spring-cloud-version}</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

<dependencies>
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-config</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-test</artifactId>
		<scope>test</scope>
	</dependency>
</dependencies>

<build>
	<plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
	</plugins>
</build>

<!-- repositories also needed for snapshots and milestones -->

次に、次のような HTTP サーバーなど、標準の Spring Boot アプリケーションを作成できます。


@SpringBootApplication @RestController public class Application {

@RequestMapping("/")
public String home() {
    return "Hello World!";
}

public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
}

}

この HTTP サーバーが実行されると、ポート 8888 のデフォルトのローカル構成サーバー(実行中の場合)から外部構成を取得します。起動時の動作を変更するには、bootstrap.properties(application.properties に似ていますが、アプリケーションコンテキストのブートストラップフェーズ用)を使用して構成サーバーの場所を変更できます。次の例を参照してください。


spring.cloud.config.uri: http://myconfigserver.com

デフォルトでは、アプリケーション名が設定されていない場合、application が使用されます。名前を変更するには、次のプロパティを bootstrap.properties ファイルに追加できます。


spring.application.name: myapp

NOTE: ${spring.application.name} プロパティを設定するときは、正しいプロパティソースの解決に関する問題を防ぐために、アプリ名に予約語 application- をプレフィックスとして付けないでください。

ブートストラッププロパティは、次の例に示すように、高優先度のプロパティソースとして /env エンドポイントに表示されます。


$ curl localhost:8080/env { "profiles":[], "configService:https://github.com/spring-cloud-samples/config-repo/bar.properties":{"foo":"bar"}, "servletContextInitParams":{}, "systemProperties":{...}, ... }

```configService:/というプロパティソースには、値がbarのfoo` プロパティが含まれており、最も高い優先度になります。

NOTE: プロパティソース名の URL は git リポジトリであり、構成サーバーの URL ではありません。

=== Sample Application

サンプルアプリケーションは https://github.com/spring-cloud/spring-cloud-config/tree/master/spring-cloud-config-sample[ここ] にあります。これは Spring Boot アプリケーションなので、通常の方法(たとえば mvn spring-boot:run)で実行できます。実行すると、http://localhost:8888(設定可能なデフォルト)で構成サーバーを探すため、サーバーも実行して全体が連携して動作するのを確認できます。

サンプルには、構成サーバーが同じ JVM 内(別のポート)でも起動されるテストケースがあり、テストは git 構成リポジトリからの環境プロパティが存在することを検証します。

構成サーバーの場所を変更するには、bootstrap.yml(またはシステムプロパティやその他の場所)で spring.cloud.config.uri を設定できます。

テストケースには、同じ方法でサーバーを実行する main() メソッドがあります(ログでポートを確認してください)。そのため、1 つのプロセスでシステム全体を実行して試すことができます(たとえば、IDE で main() メソッドを実行できます)。main() メソッドは git リポジトリの作業ディレクトリとして target/config を使用するため、そこでローカルに変更を加え、実行中のアプリに反映されるのを確認できます。次の例は、テストケースをいじっているセッションを示しています。


$ curl localhost:8080/env/sample mytest $ vi target/config/mytest.properties .. change value of "sample", optionally commit $ curl localhost:8080/refresh ["sample"] $ curl localhost:8080/env/sample sampleValue

refresh エンドポイントは、"sample" プロパティが変更されたことを報告します。

== Building

:jdkversion: 1.7

=== Basic Compile and Test

ソースをビルドするには、JDK {jdkversion} をインストールする必要があります。

Spring Cloud は、ほとんどのビルド関連アクティビティで Maven を使用します。関心のあるプロジェクトをクローンして、次のように入力すると、すぐに開始できるはずです。


$ ./mvnw install

ツールをダウンロード