Mantendo uma chave secreta em segredo com o Amazon Web Services
Estou brincando de usar os serviços da web da amazon em meu projeto pessoal. Peguei o AWS SDK for .NET e estou usando isso, mas estou um pouco confuso.
O acesso ao serviço da Web (neste caso, o SimpleDB, embora eu não ache realmente relevante para a pergunta) é autorizado por meio de um par de chaves públicas / privadas.
A API do AWS SDK para .NET usada para criar um objeto de cliente requer a chave privada:
AWSClientFactory.CreateAmazonSimpleDBClient(publicKey, privateKey);
Este é um aplicativo cliente, portanto, o código estaria sendo executado inteiramente no cliente.
Sugerindo que o cliente precisaria ter acesso à minha chave privada para ter acesso ao SimpleDB. Mas a Amazon afirma repetidamente e enfaticamente que minha chave privada não deve deixar meu controle.
Isso não faz sentido para mim, então acho que devo estar perdendo alguma coisa.
Um aplicativo do lado do cliente é o modelo errado para os serviços da web da amazon em geral, para usar o AWS SDK for .NET, ou estou faltando algo que torne o aplicativo do cliente perfeitamente razoável? Existe uma boa maneira de contornar isso sem criar um serviço de proxy próprio que autentique os clientes e encaminhe suas solicitações ao SimpleDB?