보안을 적용하려는 다중 마이크로 아키텍처가 있습니다.
내 보안 설계보기 : 인증은 LDAP에서 발생하며 사용자가 인증되면 "비밀 키"를 사용하여 JSON 웹 토큰 (JWT)이 생성되고 토큰에 역할이 있습니다. 만료 시간 등. 마이크로 서비스를 호출 할 때마다이 토큰이 헤더에 전달되어 권한 부여됩니다. 내 견해로는 사용자를 인증하고 JWT를 생성하는 하나의 인증 서버 만 있습니다.SpringCloud Microservices JSON Web Token (JWT) 보안
내 의심 : 전화 (헤더의 JWT를 포함)가 항상 인증 서버를 공격합니다 받게됩니다 microservice이 토큰이 이제
을 확인하려면?
그렇다면은 인증 서버를 여러 번 호출하므로 나쁜 방법이 될 수 있습니까?
이없는 경우 클라이언트는 토큰을 어떻게 확인하고 인증 서버의 범위는 무엇입니까?
https://jwt.io/ 감사합니다,이 그것의 대부분에 응답합니다. 따라서 모든 마이크로 서비스에 공통된 공개 키가있는 경우 공개 키를 배포하는 가장 좋은 방법은 무엇입니까? DB를 통해 또는 마이크로 서비스의 경우 구성 서버를 통해? –
이미 실행중인 구성 서버가 있고 PKI 버전을 사용하면이 방법으로 공개 키를 배포하는 데 문제가 없습니다. 이 통신은 반드시 안전해야합니다. 또 다른 방법은 일부 중앙 키 저장소에서 키를 가져 오는 것입니다. 이름을 나열하는 특수한 속성 인 'kid'가 있습니다. 자세한 내용은 jws 부록을 참조하십시오. https://tools.ietf.org/html/rfc7515#appendix-D –