Un'applicazione di social media utilizza l'AWS SDK for JavaScript nel browser per ottenere le credenziali utente da AWS STS. Le risorse dell'applicazione sono archiviate in un bucket S3 e distribuite tramite una distribuzione CloudFront con il bucket S3 come origine. Attualmente, le credenziali del ruolo che l'applicazione assume sono archiviate in testo in chiaro all'interno di un file JSON nel codice frontend. Lo sviluppatore deve rimuovere le credenziali hardcoded pur consentendo all'applicazione di ottenere le credenziali. Quale approccio soddisfa questo requisito?
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Aggiungere una funzione Lambda@Edge alla distribuzione CloudFront e invocarla sulle richieste del visualizzatore. Concedere al ruolo di esecuzione della funzione l'autorizzazione a chiamare AWS STS. Spostare tutte le chiamate SDK dal frontend nella funzione Lambda@Edge..
Perché questa è la risposta
L'opzione corretta è A perché Lambda@Edge consente di eseguire codice serverless in risposta agli eventi di CloudFront, inclusi gli eventi del visualizzatore. Spostando le chiamate SDK a STS in una funzione Lambda@Edge, le credenziali hardcoded vengono rimosse dal frontend e la funzione può assumere un ruolo con le autorizzazioni necessarie per chiamare STS, mantenendo le credenziali al sicuro. Le opzioni B e D sono errate perché le CloudFront Functions sono leggere e non supportano l'accesso alle risorse di rete esterne o l'assunzione di ruoli IAM, rendendole inadatte per chiamare AWS STS. L'opzione C è errata perché, sebbene utilizzi Lambda@Edge, continua a inserire le credenziali dal file JSON nella funzione, non risolvendo il problema delle credenziali hardcoded.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta