Pregunta

Estoy jugando un poco con el uso de los servicios web de Amazon en mi proyecto personal. He agarró su AWS SDK para .NET y estoy usando eso, pero estoy un poco confundido.

  1. El acceso al servicio web (en este caso, SimpleDB, aunque no creo que eso es muy importante a la pregunta) está autorizado a través de un par de claves privada / pública.

  2. El AWS SDK para .NET API se utiliza para crear un objeto de cliente requiere la clave privada:

    AWSClientFactory.CreateAmazonSimpleDBClient(publicKey, privateKey);
    
  3. Esta es una aplicación cliente, por lo que el código se ejecuta por completo en el cliente.

  4. Lo que sugiere que el cliente tendría que tener acceso a mi clave privada para tener acceso a la SimpleDB. Sin embargo, Amazon repetida y enfáticamente que mi clave privada no debe salir de mi control.

Esto no tiene sentido para mí, por lo que figura Debo estar perdiendo algo.

Es una aplicación del lado del cliente el modelo equivocado para los servicios web de Amazon en general, por usar su AWS SDK para .NET, o me estoy perdiendo algo que hace que una aplicación cliente perfectamente razonable? ¿Hay una buena manera de evitar esto sin la creación de un servicio de proxy de mi propia que autenticar a los clientes y enviar sus solicitudes a la SimpleDB?

¿Fue útil?

Solución

No es necesario implementar un proxy que frentes el servicio remoto (AWS). Sólo implementar un servicio simple, pequeño, autenticado que devuelve al cliente la URL y las cabeceras de usar cuando se comunique con AWS. Su servicio web autenticado guarda el secreto de AWS, y sólo proporciona la URL y encabezados de solicitud firmada a la cliente, que luego va y realiza la llamada utilizando el trabajo real que la información devuelta.

De esta manera, se evita la sobrecarga durante la llamada AWS de tener que ir a través de sus propios servidores, ahorrando latencia, ancho de banda, atado zócalos en su servidor, insuficiencia complejidad manipulación, etc Usted acaba de tomar un ligero golpe en la delantera para el cliente para obtener las instrucciones adecuadas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top