2011-09-19 6 views
4

오늘날 응용 프로그램을 함께 연결하기 위해 내부 용으로 개발 된 웹 서비스가 점점 더 많이 있습니다. 우리는이 웹 서비스를 제어하고 보안 할 수있는 ESB가 없으므로 보안을 유지하는 좋은 방법이 무엇인지 추측합니다.내부 사설망에서 SOAP 웹 서비스를 보호하는 가장 좋은 방법은 무엇입니까

양방향 SSL을 설정하려고했지만 특정 웹 서비스에 대한 인증을 제어 할 수 없습니다.

내 웹 서비스를 호출하는 응용 프로그램을 제어 할 수 있어야하며이 응용 프로그램을 호출 할 권한이 필요합니다.

WS-Trust 및 Ws-Security는 원래 SOAP 메시지를 변경하기 때문에 좋지 않지만 다른 솔루션은 아닌 것으로 보입니다.

아이디어가 있으십니까?

답변

0

내 필요

덕분에 내 웹 서비스를 호출하고 호출 할 수있는 권한이 응용 프로그램이되는 응용 프로그램을 제어 할 수있다.

나는 당신이 원하는 것이 서비스 제공 업체 측의 인증 메커니즘이라고 생각합니다.

비누 메시지에 암호화를 사용하지 않으려면 비누 메시지에 새 매개 변수를 추가하는 것이 좋습니다. 예 : WS에 대한 새로운 매개 변수로 클라이언트가 <applicationId> and <password> (또는 암호화 된 AppId, PassWord 문자열)을 보낸 경우 WS는 WS 공급자 측에서 응용 프로그램에 호출 권한이 있는지 확인합니다.

하지만이 변경 사항은 클라이언트 및 서비스 구현에 적용됩니다.

요청의 클라이언트 IP를 확인하여 어떤 응용 프로그램인지 결정할 수 있습니다. 응용 프로그램에 고정 IP 주소가있는 경우.

1

https를 통한 http 기본 인증을 사용할 수 있습니다. 그것은 백엔드 어플리케이션으로 하여금 사용자를 알게하고 따라서 권한을 부여 할 수있게합니다.

이 링크 [1]은 WSO2 ESB와 비슷한 작업을 수행 한 방법을 보여줍니다. 그러나 스택에 따라 방법이있을 수 있습니다. 메시지 수준의 보안이 밖으로 의미 -

[1] 당신의 질문에 http://wso2.org/library/articles/2011/06/securing-web-service-integration

2

당신은 당신이 현재 SOAP 메시지를 수정하지 않는 언급.

그래서 전송 레벨 보안을 수행해야합니다.

양방향 SSL을 사용하는 경우에도 사용자 인증서의 지문을 기반으로 사용자를 인증 할 수 있습니다. 사용 방법은 사용하는 스택에 따라 다릅니다. 다른 옵션은

..

  1. 기본 인증을 통해 HTTPS
  2. 두 다리 OAuth를

차이가있다 기본적인 인증하지 않는 동안 두 다리의 OAuth는 부인 방지를 지원합니다.

인증에 사용하는 메커니즘과 상관없이 XACML을 사용하여 세분화 된 인증을받을 수 있습니다 ...

관련 문제