spring boot-management-Endpunkte die grundlegenden Sicherheits -
Wie verwende ich grundlegende Sicherheit für das management Ende Punkte wie /env, /health, /metrics
?
Ich will verwenden Sie unterschiedliche Zugangsdaten für den oben genannten Endpunkten im Vergleich zu den anderen Anwendungs-controller-Endpunkt-Sicherheit.
In meiner Anwendung.properties-Datei, die ich unten angegeben für die Anwendung controller security
Sicherheit.Benutzer.name=user Sicherheit.Benutzer.Passwort=Passwort
Aber ich möchte verschiedene Benutzernamen/Kennwort für die management-Endpunkte. Konnte nicht gefunden management.security.user.name
Eigenschaft.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zu implementieren, die end-Punkte Grundsicherung müssen Sie folgenden code verwenden,
und in der Konfigurationsdatei sollte wie unter einem
immer noch nicht funktioniert, dann hoffe, dass diese Arbeit
Basic-Authentifizierung
Spring security hat eine "Globale"
AuthenticationManager
konfiguriert@Bean
Instanzen des TypsGlobalAuthenticationConfigurerAdapter
. DieseAuthenticationManager
ist die, die so konfiguriert ist, dass durch diesecurity.user.*
Eigenschaften, es sei denn, Siesecurity.basic.enabled=false
. Die GlobaleAM
ist auch an der management-Endpunkte standardmäßig, und es ist der Elternteil, der keine "Lokalen"AuthenticationManagers
definiert inWebSecurityConfigurationAdapters
(Sie sind alleProviderManagers
).So, wenn Sie möchten, dass andere Benutzer-accounts für die Verwaltung von Endpunkten und application endpoints, Sie haben (mindestens) zwei Möglichkeiten:
Definieren Sie eine lokale
AM
für Ihre Anwendung Endpunkte in einerWebSecurityConfigurationAdapter
und sicherstellen, dass das management-Endpunkte werden nicht abgedeckt durch diesen filter. Dies ist einfach, da es ist, was Sie bekommen, ohne zu denken, sehr viel und nur das hinzufügen einerAuthenticationManagerBuilder
zu IhremWebSecurityConfigurationAdapter
(so lange, wie es bestellt ist sorgfältig in Bezug auf die filter, schützt die management-Endpunkte).Verwenden Sie die Globale
AM
(oder in einem anderen lokal) für die Anwendung Endpunkte und konfigurieren die Sicherheit für die Verwaltung von Endpunkten (z.B.security.basic.enabled=false
und fügen Sie Ihre eigenenWebSecurityConfigurerAdapter
Deckung der management-Endpunkte). Das könnte mehr Arbeit, und Duplikate, einige der Boot-defaults, aber zumindest werden Sie wissen, was Sie bekommen.Dave schon gut erklärt, aber hier einige komplette Beispiel mit WebSecurityConfigurerAdapter und der Datenbank auth Quelle.
SecurityConfig.java
- Und das ist meine Anwendung.Eigenschaften
Anwendung.Eigenschaften
Können Sie überprüfen, weitere Endpunkte Eigenschaften von spring-Anwendung-Eigenschaften
- Management-Anforderung Beispiel
Gibt es ADMIN-Rolle Benutzer - (Benutzername: admin, Passwort: password), die bereits Hinzugefügt, auf die Datenbank.
Beispiel management-Anforderung für das Herunterfahren
Beispiel management-Anforderung für die Prüfung HeapMemoryUsage und ThreadCount via jolokia
Beispiel management-Anforderung, die für die überprüfung der Gesundheit