Quando si progetta un iOS
app che interagirà con AWS
(ad esempio S3
, CloudFront
, ecc), quali sono i pro ei contro di gestione l'accesso a questi servizi sul client vs sul server?Gestione dell'accesso ai servizi AWS su iOS client vs sul server di backend
Con "gestione dell'accesso", intendo cose come caricare contenuti privati su S3, scaricare contenuti privati tramite Cloudfront.
Ovviamente, qualsiasi lato che gestisca l'accesso dovrà memorizzare la chiave di accesso AWS
e l'accesso segreto. La sicurezza è una delle preoccupazioni.
Sono ugualmente interessato all'impatto di questa scelta di progettazione sulle prestazioni e sulla flessibilità di entrambe le implementazioni.
Infine, c'è un argomento per l'implementazione di un approccio ibrido in cui sia client che server interagiscono direttamente con AWS
oppure l'implementazione di solito va con uno o l'altro, ma non con entrambi?
Informazioni sul server che fornisce URL/cookie firmati e il client li utilizza per caricare su S3 o scaricare da Cloudfront. Il client interagisce ancora direttamente con AWS ma richiede le autorizzazioni controllate dal server. Puoi commentare questa strategia? – skyork
@skyork Non penso che sarà molto efficace, controlla le modifiche. –
Non sono sicuro che la modifica relativa agli URL firmati sia corretta. Gli URL firmati non devono necessariamente essere non firmati dal client in questo caso, il client utilizza semplicemente questi URL come dati a 'PUT' o' GET' dalle risorse AWS. E puoi impostare un tempo di scadenza su questi URL in modo che il cliente non possa accedere alla risorsa AWS dopo la scadenza. Apprezzo i tuoi altri punti. – skyork