6

Java, .NET, Python, Perl 및 향후 더 많은 경우와 같은 다양한 기술이 사용되는 다양한 웹 서비스가 여러 조직에 속하며 액세스 해당 웹 서비스에 대한 액세스가 제한되어야합니다.여러 웹 서비스에 대한 중앙 집중식 인증 및 권한 부여

아이디어는 중앙 인증 및 권한 부여 서버를 가지며 각 WS에 액세스 권한을 부여하는 것입니다.

사용자가 인증 서버로 한 번만 인증되고 제한된 시간 동안 웹 서비스에 대한 액세스 권한이 부여되는 싱글 사인온 (SSO) 시스템을 찾고 있습니다.

보안 요구 사항이 높기 때문에 사용자 이름/암호 세트로 충분하지 않습니다.

빠른 검색에서 문제에 대한 여러 가지 해결책과 접근 방식을 찾았지만 기술 독립적이고 안전하며 신뢰할 수있는 솔루션 인이 사례에 대해 가장 잘 모릅니다.

답변

0

정확히 OpenID가 아닌가요?

내가 틀렸다면 꼭 맞는 말을하십시오.

+0

아니요, 아니요, OpenID가 이에 적합하지 않습니다. OpenID는 "개방적이고 분산 된 ID 시스템"입니다. 우리는 이미 시스템의 인증 부분을 위해 OpenID를 사용하는 것을 고려했지만, 우리는 또한 ACL의 권한을 관리해야하며 OpenID가 도움이되지 않는다. 또한 누구나 OpenID를 가질 수 있습니다 (예 : 이미 가지고있는 Gmail 계정이있는 경우) - 시스템에 액세스 할 수있는 사람을 제어해야합니다. – tsbnunes

+0

오픈 소스이지만 사적인 포크를 만들어서 거기서 갈 수는 없습니까? 나는 그들의 서버를 사용하는 것에 대해 이야기하는 것이 아니라, 그들의 코드를 사용하는 것에 대해 이야기하고 있었다. – Sneakyness

+0

인증 시스템으로 OpenID를 사용하고 인증 로직 만 구현하는 방법에 대해서는 이미 알고 있습니다. 하지만 내 의견으로는 OpenID를 해킹 할 필요가 없습니다. 이 기능을 사용하면 다른 모듈로 구현할 수 있으므로 인증 로직을 내부에 채울 필요가 없습니다. – tsbnunes

2

우리는 주제에 대해 많은 연구를했고 적절한 해결책을 찾지 못했습니다. (하나의 거의 좋은 해결책이지만 웹 서비스에는 그다지 많지 않습니다.)

우리는 WS 응용 프로그램 (타사 응용 프로그램도 포함)을 위해 sso 및 중앙 사용자 관리 시스템을 개발했으나 판매용이 아닙니다.

솔루션을 테스트하는 경우 부하가 걸린 시스템의 성능을 검사해야합니다. 처음에는 시스템이 30 배 느려졌습니다. 일반적으로 xml 구문 분석 속도와 수행해야하는 요청 수를 느리게 계산할 수 있습니다 (일반적으로 앞으로 한 번 요청할 경우 4 개 이상 있어야 함). (우리는 그것을 테스트하기 위해 jmeter를 사용합니다.) 그리고 sso를 사용하여 단일 포인트 오류를 ​​생성하기 때문에 시스템을 페일 오버하도록 설정해야합니다.

2

이 문제는 적어도 SOAP 기반 웹 서비스의 경우 WS-Trust에 의해 크게 해결되었습니다. WS-Trust는 "인증 토큰"의 유효성을 검사하고 교환하기위한 잘 정의 된 프로토콜로, WS-Federation과 같은 프로토콜을 사용하여 엔터프라이즈 간 시나리오에서 사용할 수 있습니다.

예를 들어 클라이언트가 WS-Trust 서버에서 토큰을 요청한 다음 해당 토큰을 SOAP 헤더의 웹 서비스 호스트에 포함시키는 시나리오가 있습니다. 플립 측면은 호스트에 대한 요청에 UsernameToken >과 같은 단순한 내용을 포함하고 WS-Trust 서버에 대한 서버 측 위임 인증을 갖는 것입니다.

WS-Trust에 대한 클라이언트 지원이 매우 훌륭합니다. WCF는 즉시 지원을 제공하며, 다양한 벤더는 JAX-RPC 및 JAX-WS 웹 서비스에 J2EE 인터셉터를 사용합니다.

WS-Trust는 인증에 중점을두고 있지만 수신 된 토큰을 발급하거나 유효성을 검사 할시기에 대한 논리를 사용하여 대단위 인증을 수행 할 수 있습니다. 토큰을 발급/검증하지 마십시오. 액세스가 효과적으로 거부됩니다. 웹 서비스에 대한 세분화 된 권한 부여에는 일반적으로 공급 업체별 맞춤 인터셉터가 필요합니다.

IBM Tivoli Security에서 작동하며이 공간에는 몇 가지 제품이 있습니다. 첫 x 째는 TFIM (Tivoli Federated Identity Manager)입니다. 동료와 나 자신이 TFIM을 WSE 기반 웹 서비스와 통합하는 데 this article을 작성했으며 WS-Trust 프로토콜 자체의 개요를 포함합니다.두 번째 제품은 웹 서비스에 대한 세분화 된 권한을 구현하는 TSPM (Tivoli Security Policy Manager)입니다.

표준 기반 솔루션을 사용할 때의 장점은 동일한 프로토콜에 대한 오픈 소스 구현입니다. JBoss와 WSO에는 유용한 구현이 있다고 생각합니다.

관련 문제