Ich arbeite an Microservice Architektur, aber ich stehe vor einigen Herausforderungen.Server zu Server Kommunikation in Microservices
Lassen Sie mich zunächst einen kurzen Überblick über die Architektur geben.
Der Benutzer meldet sich an und erhält ein signiertes Token, das zum Aufruf aller REST APIS verwendet wird.
Es wird viele API-Server geben, auf denen APIs mithilfe der Spring-Sicherheit und Autorisiert gemäß den Benutzerrollen gesichert werden.
Dienste müssen miteinander interagieren, um Informationen zu erhalten/zu aktualisieren.
Jeder Dienst kann ein Token-Problem durch den Auth-Server überprüfen.
Problem: -
Alles funktioniert gut, wenn Benutzer sich anmeldet und die gleiche Token verwendet wird und für jeden Dienst passsed die across.So validiert, Dienstleistungen Dont vertrauen müssen einander als Das Token wird übergeben.
Jetzt ist das Problem, gibt es einige Dienste, die vom Server selbst aufgerufen werden müssen, ohne sich anzumelden. Sagen wir einen Server zum Serveranruf. Wie wird ein Dienst den Anruf von anderen Diensten authentifizieren und autorisieren?
las ich über den Frühling, aber Microservices Zuul ist auch nicht der Retter hier wie jeder API-Server hat Feder Sicherheit eingebettet und nicht nur der API-Gateway.
Eine Lösung kann sein, dass jeder Dienst seinen eigenen Standardbenutzer mit certaing Rollen hat, der verwendet wird, um sich anzumelden -> Token holen -> anderen Server api mit Token aufrufen.
Können Sie mir bitte einige Hinweise in Server zu Serveraufrufen geben, wo jeder Server mit Federsicherheit authentifiziert und autorisiert ist.
Danke.
Sichern Sie diese Dienste nicht oder erlauben Sie keinem Zugriff von einer bestimmten IP-Adresse aus. Schreiben Sie einfach die richtigen Sicherheitsregeln. –
@ M.Deinum ... diese Dienste müssen gesichert werden, da sie von externen Clients ebenso wie mobiles/REST aufgerufen werden. –
Wie bereits erwähnt, schreibe einfach die richtigen Sicherheitsregeln, wenn interne (oder bestimmte IP-Bereiche) Zugriff erlauben, sonst wird ein Token benötigt. Es kommt also auf die richtigen Sicherheitsregeln an, anstatt zu versuchen, sie zu umgehen. –