2

スプリング クラウド ゲートウェイ HoxtonSR8、スプリング ブート 2.3.4、スプリング アクチュエーターを使用しています。

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

認証されたユーザーのみがそれらを呼び出すことができるように、健康と情報を含むすべてのアクチュエータ エンドポイントにパスワードを設定したいと考えています。しかし、私の知る限り、Spring Security を使用してのみ実行できますが、このフレームワークはゲートウェイと互換性がありません。

クラウド ゲートウェイのアクチュエータにパスワードを設定するにはどうすればよいですか?

4

1 に答える 1

0

アクチュエータ エンドポイントは、アプリケーションに関する機密情報を明らかにします。

アクチュエータのエンドポイントをパスワードで保護するには、次の手順に従います。

ステップ 1spring-boot-starter-security : に依存関係を追加しpom.xmlます。

   <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
   </dependency>

に感謝しSpringBoot Auto Configurationます。セキュリティ関連のすべてのコンポーネントを自動的に初期化します。

ステップ 2 : プロパティ/yaml ファイルでユーザー名とパスワードを定義します。

以下の構成を参照してください。

spring:
  security:
    user:
      name: admin
      password: ********

ステップ 3 : アプリケーションを再起動し、セキュア エンドポイントへのアクセスを試みます。

「401 Unauthorized」という応答が返ってくるはずです。

ステップ 4 : ブラウザでアクチュエータ エンドポイントを開くと、ユーザー名/パスワードの入力を求めるプロンプトが表示されます。

アクチュエータのエンドポイントを保護するだけの場合は、構成の下に追加します。

server:
  port: 8080
  context-path: /MyApplication

security:
   user:
       name: admin
       password: secret
   basic:
       enabled: false

management:
   context-path: /actuator
   security:
             enabled: true

これにより、アプリケーションのセキュリティは無効になりますが、アクチュエータ エンドポイントに対しては有効になります。

注:管理セキュリティの下でユーザー名/パスワードを構成しないでください。構成しないと機能しません。

于 2020-11-05T09:46:46.183 に答える