문제

저는 개인 프로젝트에서 Amazon Web Services를 사용하여 놀고 있습니다. 나는 .NET를 위해 그들의 AWS SDK를 잡고 그것을 사용하고 있지만 조금 혼란 스럽습니다.

  1. 웹 서비스에 대한 액세스 (이 경우 SimpleDB, 실제로 질문에 대한 중요성은 없다고 생각합니다)는 개인/공개 키 쌍을 통해 승인됩니다.

  2. 클라이언트 객체를 작성하는 데 사용되는 .NET API 용 AWS SDK에는 개인 키가 필요합니다.

    AWSClientFactory.CreateAmazonSimpleDBClient(publicKey, privateKey);
    
  3. 이것은 클라이언트 응용 프로그램이므로 코드는 전적으로 클라이언트에서 실행됩니다.

  4. 고객이 단순에 액세스하려면 내 개인 키에 액세스해야한다고 제안합니다. 그러나 아마존은 반복적으로 그리고 강조 적으로 내 개인 키가 내 통제를 남기지 않아야한다고 말합니다.

이것은 나에게 의미가 없기 때문에 무언가를 놓치고 있다고 생각합니다.

클라이언트 측 응용 프로그램은 일반적으로 Amazon Web Services의 잘못된 모델, .NET에 AWS SDK를 사용하거나 클라이언트 애플리케이션을 완벽하게 합리적으로 만드는 무언가를 놓치고 있습니까? 내 자신의 프록시 서비스를 만들지 않고 고객을 인증하고 그들의 요청을 SimpleDB에 전달할 수있는 좋은 방법이 있습니까?

도움이 되었습니까?

해결책

AWS (Remote) 서비스를 앞선 프록시를 구현할 필요는 없습니다. 고객에게 반환하는 간단하고 작고 인증 된 서비스를 구현합니다. AWS에 연락 할 때 사용할 URL 및 헤더. 인증 된 웹 서비스는 AWS를 비밀로 유지하고 서명 된 요청 URL 및 헤더 만 클라이언트에만 제공 한 다음 리턴 된 정보를 사용하여 실제 작업을 호출합니다.

이렇게하면 AWS가 자신의 서버를 통과 해야하는 AWS 호출 중에 오버 헤드를 피하거나, 대기 시간, 대역폭, 서버에 소켓을 묶고, 복잡성을 취급하는 것 등. 적절한 지침을 얻으십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top