web-dev-qa-db-ja.com

春のブート管理者に許可されていません

Eurekaサーバーで実行されているマイクロサービスを制御したかった。私はこれにspring-boot-adminを使用しましたが、トレース、ログなどに関する情報にアクセスする際にエラーが発生しています...

私が得ているエラーは

エラー:{"timestamp":1489052472862、 "status":401、 "error": "Unauthorized"、 "message": "このリソースにアクセスするには完全な認証が必要です。"、 "path": "/ metrics"}

私の依存関係は

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-server</artifactId>
        <version>1.4.3</version>
    </dependency>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-server-ui</artifactId>
        <version>1.4.3</version>
    </dependency>

そして、以下のプロパティはどれも機能しませんでした

endpoints.info.id=information
endpoints.info.sensitive=false
endpoints.info.enabled=true
information.app.name=Actuator Example
information.app.description=Actuator Example
information.app.version=1.0.0

マッピング、env、すべてがヘルスを受け入れるなどのすべてのエンドポイントで同じことが起こります

12
Gireesh Bhat

設定management.security.enabled=false の中に application.propertiesは、エンドポイントのセキュリティを無効にします。

39
joshiste

同様の問題がありました。私のスプリングブートアプリケーションには、Http Headリクエストをブロックするcorsフィルターがありました。そのため、ヘッドリクエストは受け付けられません。

  • Javascriptコンソールログとアプリケーションログを確認します。

  • Application.propertiesでmanagement.security.enabled = falseを設定することも必要です。

0

私は、すべての機密性の高いエンドポイントのセキュリティを無効にすることは、進むべき道ではないと考えています。

/metricsおよび 明らかに にアクセスしているときにこの問題が発生し、spring-boot-starter-security依存関係が欠落していました。

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

pom.xmlに依存関係を追加し、application.ymlに次のものがあると仮定した後

...
security:
    user:
        name: myActuatorUser
        password: myActuatorPwd
...

/metricsエンドポイントにアクセスできました。

0
aribeiro

ここにリストされているほとんどのエンドポイントでは、クレデンシャルusernameおよびpasswordによってセキュリティを設定することをお勧めします。 https://docs.spring.io/spring-boot/docs/current/reference /html/production-ready-endpoints.html

ルールからの例外は、healthおよびinfoエンドポイントであり、これらは資格情報によって保護されません。

application.propertiesusernamepasswordを次のように設定できます。

security.user.name=admin
security.user.password=secret
0
yami