External ID e il confused deputy
Impedisca a terze parti di essere indotte a usare impropriamente l'accesso.
External ID e il confused deputy è una lezione AWS Security Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AWS Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AWS Security Academy include 4 lezioni in totale.
Un problema di attendibilità insidioso
Quando consente a una terza parte di assumere un ruolo nel Suo account, può verificarsi un rischio di sicurezza noto come problema del confused deputy. L'external ID è il controllo semplice ma fondamentale che lo impedisce. Questo modello ricorre nell'esame ogni volta che un fornitore SaaS necessita di accedere al Suo account AWS.
Che cos'è un confused deputy
Un confused deputy è un'entità attendibile (il deputy) che viene indotta a utilizzare la propria autorità per conto di un aggressore. In AWS, un servizio di terze parti ha l'autorizzazione ad assumere ruoli in molti account dei clienti; se nulla collega la richiesta al rapporto legittimo con il cliente, un aggressore potrebbe indurlo ad assumere il Suo ruolo.
Lo scenario del fornitore
Immagini un servizio SaaS di monitoraggio che assume un ruolo in ogni account cliente. Il servizio SaaS utilizza un'unica identità AWS per tutti. Se un aggressore che è anche un cliente indovina l'ARN del Suo ruolo, potrebbe convincere il servizio SaaS ad assumere il Suo ruolo, poiché il servizio SaaS è il principal attendibile. Il solo ID dell'account non basta a impedirlo.
Inserire l'external ID
L'external ID è un valore univoco e segreto che il fornitore assegna al rapporto con Lei. Lo inserisce nella policy di attendibilità del ruolo come condizione e il fornitore deve fornire esattamente lo stesso valore quando chiama AssumeRole. Poiché l'aggressore non conosce il Suo external ID, non può indurre il fornitore ad assumere il Suo ruolo.
Policy di attendibilità con external ID
Questa policy di attendibilità richiede l'external ID corrispondente. AssumeRole ha esito positivo solo quando il fornitore passa il valore identico, impedendo l'attacco del confused deputy.
"Condition": {
"StringEquals": {
"sts:ExternalId": "unique-customer-12345"
}
}Chi imposta l'external ID
È fondamentale che sia il fornitore a generare e controllare l'external ID, non il cliente. In questo modo si impedisce ai clienti di accordarsi per riutilizzare lo stesso valore. Le linee guida AWS sono esplicite: in qualità di terza parte, deve assegnare a ogni cliente un external ID univoco e richiederlo a ogni assunzione.
Non è una password segreta
L'external ID non deve essere segreto come una password; può comparire nelle istruzioni di configurazione. Il suo valore per la sicurezza deriva dal fatto di essere univoco per cliente e controllato dal fornitore, così un aggressore non può indurre il deputy a utilizzare il valore del cliente sbagliato. Lo consideri un token anti-impersonificazione, non una credenziale.
Abbinarlo al privilegio minimo
L'external ID controlla chi può assumere il ruolo, ma è comunque necessario definire che cosa il ruolo può fare mediante policy di autorizzazione restrittive. Anche un fornitore correttamente autorizzato deve ricevere solo le autorizzazioni minime necessarie. Combini external ID, un principal specifico e autorizzazioni con privilegi minimi per un accesso sicuro da parte di terze parti.
Oltre i fornitori
Il modello del confused deputy si applica anche ai servizi AWS che agiscono per Suo conto. L'attendibilità tra servizi utilizza spesso chiavi di condizione come aws:SourceArn e aws:SourceAccount nelle policy delle risorse, per garantire che il servizio chiamante agisca per la Sua risorsa: la stessa idea difensiva in una forma diversa.
Riconoscere l'indizio d'esame
Quando una domanda descrive una terza parte o un servizio SaaS che assume un ruolo tra account diversi, la risposta sicura prevede quasi sempre un external ID nella policy di attendibilità. Se lo scenario riguarda la comunicazione tra servizi, cerchi invece le condizioni aws:SourceArn/aws:SourceAccount. Riconoscere l'indizio conduce direttamente al controllo corretto.
Mettere insieme i concetti
Il problema del confused deputy consente a un aggressore di indurre una terza parte attendibile a utilizzare impropriamente il proprio accesso. L'external ID, univoco per cliente e controllato dal fornitore, lo impedisce richiedendo un valore corrispondente in AssumeRole. Per i servizi AWS, utilizzi aws:SourceArn e aws:SourceAccount. Abbini sempre questi controlli ad autorizzazioni con privilegi minimi.
Verifica rapida
Verifichi le Sue conoscenze sul concetto di confused deputy.
Riepilogo
Il problema del confused deputy si verifica quando una terza parte attendibile viene indotta a utilizzare impropriamente il proprio accesso tra account. L'external ID, univoco per cliente e controllato dal fornitore, lo impedisce tramite una condizione nella policy di attendibilità basata su sts:ExternalId. Per l'attendibilità tra servizi AWS, utilizzi aws:SourceArn e aws:SourceAccount, sempre applicando il principio del privilegio minimo.
Domande Frequenti
La lezione «External ID e il confused deputy» è gratuita?
Sì — il testo completo di «External ID e il confused deputy» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AWS Security Academy, passa a CoddyKit PRO. Il corso AWS Security Academy include 4 lezioni in totale.
Cosa imparerò in «External ID e il confused deputy»?
Impedisca a terze parti di essere indotte a usare impropriamente l'accesso. Eserciti AWS Security Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare AWS Security Academy?
Non è richiesta alcuna esperienza precedente. AWS Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «External ID e il confused deputy»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione AWS Security Academy?
Sì. Ogni lezione AWS Security Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Come STS rilascia credenziali temporanee
- AssumeRole e durata della sessione
- External ID e il confused deputy
- Policy di sessione e ambito basato sui tag