Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Accesso agli Account AWS di proprietà di terze parti
Quando terze parti richiedono l'accesso alle risorse AWS della tua organizzazione, puoi usare i ruoli per delegare l'accesso. Ad esempio, una terza parte potrebbe fornire un servizio per la gestione delle risorse AWS. Con i ruoli IAM, puoi concedere a queste terze parti l'accesso alle tue risorse AWS senza condividere le credenziali di sicurezza AWS. La terza parte può accedere alle risorse AWS assumendo un ruolo creato da te nel tuo Account AWS. Per capire se i principali negli account esterni alla zona di attendibilità (organizzazione o account attendibile) dispongono dell'accesso per assumere i ruoli, consulta Cos'è IAM Access Analyzer?.
Le terze parti devono fornirti le informazioni seguenti per permetterti di creare un ruolo che possa essere da loro assunto:
-
L'ID dell'Account AWS della terza parte. Puoi specificare il loro ID dell'Account AWS come entità principale quando definisci la policy di affidabilità per il ruolo.
-
Un ID esterno da associare in modo univoco con il ruolo. L'ID esterno può essere qualsiasi identificatore noto a te e alla terza parte. Puoi ad esempio usare un ID di fattura tra te e la terza parte, ma non devi usare qualcosa che sia possibile indovinare, ad esempio il nome o il numero di telefono della terza parte. Devi specificare questo ID quando definisci la policy di affidabilità per il ruolo. La terza parte deve fornire questo ID quando assume il ruolo.
-
Le autorizzazioni di cui la terza parte necessita per usare le risorse AWS Devi specificare queste autorizzazioni quando definisci la policy di autorizzazione del ruolo. Questa policy definisce le operazioni consentite e le risorse a cui è possibile accedere.
Dopo aver creato il ruolo, devi fornire l'Amazon Resource Name (ARN) del ruolo alla terza parte. L'ARN del ruolo è necessario per assumere il ruolo.
Importante
Quando concedi l'accesso alle tue risorse AWS a terze parti, queste possono accedere a qualsiasi risorsa specificata nella policy. Le risorse usate dalla terza parte vengono fatturate a te. Assicurati di limitare l'uso delle risorse in modo appropriato.
ID esterni per l'accesso di terze parti
Un ID esterno consente all'utente che sta assumendo il ruolo di dichiarare le circostanze in cui sta operando. Fornisce inoltre un modo per il proprietario dell'account di consentire che il ruolo venga assunto solo in circostanze specifiche. La funzione principale dell'ID esterno è quella di risolvere e prevenire il Problema del "confused deputy".
Importante
AWS non considera l'ID esterno come segreto. Dopo aver creato come segrete una coppia di chiavi di accesso o una password in AWS, non è possibile visualizzarle di nuovo. L'ID esterno per un ruolo può essere visualizzato da tutti gli utenti che dispongono dell'autorizzazione per visualizzare il ruolo.
Quando si deve usare l'ID esterno?
Utilizzare un ID esterno nelle seguenti situazioni:
-
Sei il proprietario di un Account AWS e hai configurato un ruolo per una terza parte che accede ad altri Account AWS oltre ai tuoi. È opportuno chiedere alla terza parte un ID esterno da includere quando assume il ruolo fornito alla terza parte. Quindi verificare l'ID esterno tramite la policy di affidabilità del ruolo fornito alla terza parte. Ciò garantisce che la parte esterna possa assumere il tuo ruolo solo quando agisce per conto del proprietario.
-
Ci si trova in una posizione che comporta l'assunzione di ruoli per conto di diversi clienti in modo analogo a Example Corp nello scenario precedente. È opportuno assegnare un ID esterno univoco a ciascun cliente e fornire indicazioni per aggiungere l'ID esterno alla policy di affidabilità creata per il ruolo da fornire. È quindi necessario assicurarsi di includere sempre l'ID esterno corretto nelle richieste di assunzione dei ruoli.
Probabilmente si dispone già di un identificativo univoco per ogni cliente e questo ID univoco è sufficiente per l'utilizzo come ID esterno. L'ID esterno non è un valore speciale da creare in modo esplicito o monitorare separatamente, solo per questo scopo.
Si deve sempre specificare l'ID esterno nelle chiamate API
AssumeRole
. Inoltre, quando un cliente assegna un ARN del ruolo, verificare se è possibile assumere il ruolo con e senza l'ID esterno corretto. Se è possibile assumere il ruolo senza l'ID esterno corretto, non memorizzare l'ARN del ruolo del cliente nel sistema. Attendere fino a quando il cliente non ha aggiornato la policy di affidabilità del ruolo per richiedere l'ID esterno corretto. In questo modo è possibile aiutare i clienti a operare nel modo corretto e pertanto a garantire la sicurezza di entrambi rispetto al problema "confused deputy".
Scenario di esempio che utilizza un ID esterno
Ad esempio, si supponga di decidere di assumere una società di terze parti chiamata Example Corp per monitorare l'Account AWS e consentire di ottimizzare i costi. Per monitorare le spese quotidiane, Example Corp deve accedere alle risorse AWS dell'Utente A. Example Corp controlla anche molti altri account AWS per altri clienti.
Non fornire l'accesso a Example Corp a un utente IAM e le relative credenziali a lungo termine nell'account AWS. Utilizza invece un ruolo IAM e le credenziali di sicurezza temporanee. Un ruolo IAM fornisce un meccanismo per permettere a una terza parte di accedere alle tue risorse AWS senza dover condividere le credenziali a lungo termine (ad esempio la chiave di accesso dell'utente IAM).
Puoi utilizzare un ruolo IAM per stabilire una relazione di attendibilità tra il tuo Account AWS e l'account di Example Corp. Dopo aver stabilito questa relazione, un membro dell'account di Example Corp può richiamare l'API AssumeRole AWS Security Token Service per ottenere le credenziali di sicurezza temporanee. I membri di Example Corp possono quindi utilizzare le credenziali per accedere alle risorse AWS nell'account dell'Utente A.
Nota
Per ulteriori informazioni su AssumeRole e altre operazioni API AWS che puoi richiamare per ottenere le credenziali di sicurezza provvisorie, consulta Confronta le credenziali AWS STS.
Di seguito è illustrata un'analisi più dettagliata di questo scenario.
-
L'Utente A affida un incarico a Example Corp, che crea un identificatore univoco per l'Utente A. Viene fornito questo ID cliente univoco e il relativo numero di Account AWS. Queste informazioni sono necessarie per creare un ruolo IAM nella fase successiva.
Nota
Example Corp può utilizzare qualsiasi valore stringa desiderato per ExternalId, purché sia un valore univoco per ciascun cliente. È possibile che si tratti di un numero di account cliente o addirittura di una stringa di caratteri casuale, purché non esistano due clienti con lo stesso valore. Non si tratta di un "segreto". Example Corp deve fornire il valore ExternalId a ciascun cliente. L'aspetto cruciale è che l'ID deve essere generato da Example Corp e non dai clienti affinché ogni ID esterno sia univoco.
-
Accedi a AWS e crea un ruolo IAM che consente a Example Corp di accedere alle tue risorse. Come per qualsiasi ruolo IAM, il ruolo dispone di due tipi di policy: una policy di autorizzazione e una policy di attendibilità. La policy di affidabilità del ruolo specifica chi può assumere il ruolo. In questo scenario di esempio, la policy specifica il numero dell'Account AWS di Example Corp come entità
Principal
. Ciò consente alle identità di tale account di assumere il ruolo. Inoltre, viene aggiunto un elementoCondition
alla policy di attendibilità. Questo elementoCondition
verifica la chiave di contestoExternalId
per assicurarsi che corrisponda all'ID cliente univoco di Example Corp. Ad esempio:"Principal": {"AWS": "
Example Corp's Account AWS ID
"}, "Condition": {"StringEquals": {"sts:ExternalId": "Unique ID Assigned by Example Corp
"}} -
La policy di autorizzazione per il ruolo specifica le operazioni che il ruolo consente di effettuare a un utente. Ad esempio, puoi specificare che il ruolo deve permettere agli utenti di gestire solo le risorse Amazon RDS e Amazon EC2, ma non gli utenti o i gruppi IAM. In questo scenario di esempio, si utilizza la policy di autorizzazione per fornire l'accesso in sola lettura per Example Corp a tutte le risorse nell'account dell'Utente A.
-
Dopo aver creato il ruolo, è necessario fornire l'Amazon Resource Name (ARN) del ruolo a Example Corp.
-
Quando Example Corp dovrà accedere alle tue risorse AWS, una persona dell'azienda richiamerà l'API AWS
sts:AssumeRole
. La chiamata include l'ARN del ruolo da assumere e il parametro ExternalId che corrisponde all'ID cliente.
Se la richiesta proviene da una persona che utilizza l'Account AWS di Example Corp e se il ruolo ARN e l'ID esterno sono corretti, la richiesta ha esito positivo. Vengono inoltre fornite le credenziali di sicurezza temporanee che Example Corp può utilizzare per accedere alle risorse AWS dell'Utente A che il ruolo consente.
In altre parole, quando una policy di ruolo include un ID esterno, chiunque desideri assumere il ruolo deve essere un entità principale nel ruolo e deve includere l'ID esterno corretto.
Punti chiave per gli ID esterni
-
In un ambiente multi-tenant in cui si supportano più clienti con account AWS diversi, è consigliabile utilizzare un ID esterno per ogni Account AWS. Questo ID dovrebbe essere una stringa casuale generata dalla terza parte.
-
Per richiedere che la terza parte fornisca un ID esterno quando si assume un ruolo, aggiorna la policy di attendibilità del ruolo con l'ID esterno scelto.
-
Per fornire un ID esterno quando si assume un ruolo, utilizza l'API AWS o l'AWS CLI per assumere tale ruolo. Per ulteriori informazioni, consulta l'operazione API AssumeRole STS o l'operazione CLI assume-role STS.
Risorse aggiuntive
Le risorse seguenti possono rivelarsi utili per fornire l'accesso a Account AWS di proprietà di terze parti.
-
Per informazioni su come consentire ad altri di eseguire azioni nel tuo Account AWS, consulta Creare un ruolo utilizzando policy di attendibilità personalizzate .
-
Per informazioni su come concedere l'autorizzazione per passare a un ruolo, consulta Concedere le autorizzazioni agli utenti per cambiare ruoli
-
Per informazioni su come creare e fornire a utenti attendibili credenziali di sicurezza temporanee, Autorizzazioni per le credenziali di sicurezza temporanee.