IIS의 asp.net 응용 프로그램에서 호스팅되는 몇 가지 WCF 서비스가 있습니다. 우리는 내부 통신 (클라이언트가 동일한 서버 또는 다른 서버에 위치 할 수있는 자체 시스템 간)에 점점 더 많은 서비스를 사용하고 있습니다. 이제 우리는 이러한 수단을 통해 어떤 서비스를 확보해야합니다.내부 WCF 서비스에 대한 액세스 제한
간단히 말해서 : 목적은 다른 사람들이 우리 서비스를 호출하는 것을 중지하는 것입니다. 우리가 통제하는 응용 프로그램 만이 이러한 서비스와 통신 할 수 있어야합니다.
현재 생각 : 우리는 이미 SSL을 사용할 수 있으며 서버에 대한 공개 인증서가 있습니다. 우리의 현재 계획은 다음을 사용하여 보안을 가능하게하는 것입니다 : clientCredentialType = "UserName"우리가 정의한 사용자 이름/암호 (API 키처럼)를 단순히 검사하는 사용자 정의 유효성 검사기가 있습니다.
질문 1 : 더 좋은 방법이 있습니까? 시나리오는 간단하게 들리 겠지만 몇 가지 분명한 해결책이 누락되었습니다.
질문 # 2 : 이렇게하면 SSL 인증서가 이미 충분하거나 다른 인증서를 만들어야합니까?
일부 컨텍스트 : .net 4, IIS 7, 우리는 서버에 액세스 할 수 있습니다. 클라이언트/서비스는 다른 서버에있을 수 있습니다.
업데이트 1 : 클라이언트가 완전히 다른 네트워크에있을 수 있습니다. 우리는이 서비스를 호출 할 수 있어야하는 다른 곳에서 호스팅되는 다른 시스템을 가지고 있습니다.
+1 좋은 답변입니다. 불행히도 나는 내 질문에 약간 명확하지 않았다. 일부 클라이언트는 다른 네트워크에있을 수 있습니다. 어쩌면 나는 그것을 "내부적"이라고 부르지 않았지만 나는 더 나은 단어를 찾을 수 없었다. 이 정보로 질문을 업데이트했습니다. –
그런 경우'UserName'이 필요하며 사용자 정의 권한 관리자 또는 역할 공급자와 결합 할 수 있습니다. –
다른 네트워크의 클라이언트도 Windows 계정으로 인증 할 수 있지만 기본 인증을 사용해야합니다. –