Domanda

Sto giocando intorno con l'utilizzo di servizi web di Amazon nel mio progetto personale. Ho afferrato la loro AWS SDK per .NET e sto usando, ma io sono un po 'confuso.

  1. L'accesso al servizio web (in questo caso, SimpleDB, anche se non credo che sia veramente materiale alla domanda) è autorizzato tramite una coppia di chiavi pubblica / privata.

  2. L'AWS SDK per .NET API utilizzata per creare un oggetto client richiede la chiave privata:

    AWSClientFactory.CreateAmazonSimpleDBClient(publicKey, privateKey);
    
  3. Questa è un'applicazione client, in modo che il codice sarebbe essere in esecuzione interamente sul client.

  4. Suggerendo che il cliente avrebbe bisogno di avere accesso al mio chiave privata per avere accesso al SimpleDB. Ma Amazon afferma ripetutamente e con forza che la mia chiave privata non deve lasciare il mio controllo.

Questo non ha senso per me, così ho dato io devo essere perso qualcosa.

È un'applicazione client-side il modello sbagliato per i servizi web di Amazon, in generale, per l'utilizzo di loro AWS SDK per .NET, o mi sto perdendo qualcosa che rende un'applicazione client perfettamente ragionevole? C'è un buon modo per ovviare a questo senza creare un servizio proxy della mia che l'autenticazione di client e inoltrare le loro richieste al SimpleDB?

È stato utile?

Soluzione

Non è necessario implementare un proxy che fronteggia il Remote Service (AWS). Basta implementare un semplice piccolo servizio,, autenticato che restituisce al cliente la URL e le intestazioni da utilizzare quando si contatta AWS. Il tuo webservice autenticato mantiene il segreto AWS, e fornisce solo l'URL richiesta firmata e intestazioni per la client, che poi va e fa la chiamata lavoro effettivo utilizzare tali informazioni restituite.

In questo modo, si evita l'overhead durante la chiamata AWS di dover passare attraverso i propri server, risparmiando la latenza, la larghezza di banda, legato prese sul server, il fallimento la gestione della complessità, ecc basta prendere una facciata leggera hit per il cliente per ottenere le istruzioni appropriate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top