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à.
Autorizzazioni per GetFederationToken
L'operazione GetFederationToken
viene chiamata da un utente IAM e restituisce le credenziali temporanee per tale utente. Questa operazione consolida l'utente. Le autorizzazioni assegnate a una sessione utente AWS STS federata sono definite in una delle due posizioni seguenti:
-
Le policy di sessione passate come un parametro della chiamata API
GetFederationToken
. (Questo è più comune). -
Una politica basata sulle risorse che nomina esplicitamente la sessione utente AWS STS federata nell'elemento della politica.
Principal
(Questo è meno comune).
Le policy di sessione sono policy avanzate che vengono passate come parametri quando si crea una sessione temporanea a livello di programma. Quando si crea una sessione utente AWS STS federata e si passano i criteri di sessione, le autorizzazioni della sessione risultanti sono l'intersezione tra la politica basata sull'identità dell'utente e le politiche di sessione. Non puoi utilizzare la policy di sessione per concedere autorizzazioni maggiori rispetto a quelle consentite dalla policy basata su identità dell'utente che viene federato.
Nella maggior parte dei casi, se non si passa una policy con la chiamata API GetFederationToken
, le credenziali di sicurezza temporanee risultanti non dispongono di autorizzazioni. Tuttavia, una policy basata sulle risorse è in grado di fornire ulteriori autorizzazioni per la sessione. Puoi accedere a una risorsa con una policy basata sulle risorse che specifica la sessione come l'entità principale consentita.
Le seguenti immagini mostrano una rappresentazione visiva di come le policy interagiscono per determinare le autorizzazioni per le credenziali di sicurezza provvisorie restituite da una chiamata a GetFederationToken
.

Esempio: assegnazione di autorizzazioni tramite GetFederationToken
È possibile utilizzare l'operazione API GetFederationToken
con diversi tipi di policy. Di seguito sono illustrati alcuni esempi.
Policy collegata all'utente IAM
In questo esempio, disponi di un'applicazione client basata sul browser che si avvale di due servizi Web di backend. Un servizio di backend è il tuo server di autenticazione che utilizza un sistema di identità per autenticare l'applicazione client. L'altro servizio di backend è un servizio AWS che fornisce alcune delle funzionalità dell'applicazione client. L'applicazione client viene autenticata mediante il tuo server, il quale crea o recupera la policy di autorizzazione appropriata. Il server chiama l'API GetFederationToken
per ottenere le credenziali di sicurezza provvisorie e restituisce tali credenziali all'applicazione client. L'applicazione client può quindi effettuare richieste direttamente al AWS servizio con le credenziali di sicurezza temporanee. Questa architettura consente all'applicazione client di effettuare AWS richieste senza incorporare credenziali a lungo termine AWS .
Il tuo server di autenticazione chiama l'API GetFederationToken
con le credenziali di sicurezza a lungo termine di un utente IAM denominato token-app
. Tuttavia, le credenziali utente IAM a lungo termine rimangono nel server e non vengono mai distribuite al client. La seguente policy di esempio è allegata all'utente token-app
IAM e definisce il set più ampio di autorizzazioni di cui avranno bisogno gli utenti AWS STS federati (client). Tieni presente che l'sts:GetFederationToken
autorizzazione è necessaria affinché il servizio di autenticazione ottenga credenziali di sicurezza temporanee per gli utenti federati. AWS STS
Nota
AWS fornisce un'applicazione Java di esempio per questo scopo, che è possibile scaricare qui: Token Vending Machine for Identity Registration - Sample Java
Esempio di policy collegata all'utente IAM token-app
che chiama GetFederationToken
La policy precedente concede diverse autorizzazioni all'utente IAM. Tuttavia, questa politica da sola non concede alcuna autorizzazione all'utente AWS STS federato. Se questo utente IAM chiama GetFederationToken
e non passa una policy come parametro della chiamata API, l'utente AWS STS federato risultante non dispone di autorizzazioni valide.
Policy di sessione passata come parametro
Il modo più comune per garantire che all'utente AWS STS federato venga assegnata l'autorizzazione appropriata consiste nel trasmettere le politiche di sessione nella GetFederationToken
chiamata API. Sulla base dell'esempio precedente, immagina che GetFederationToken
venga chiamato con le credenziali dell'utente IAM token-app
. Quindi, immagina che la policy di sessione seguente venga passata come un parametro della chiamata API. L'utente AWS STS federato risultante è autorizzato a elencare il contenuto del bucket Amazon S3 denominato. productionapp
L'utente non può eseguire le operazioni GetObject
, PutObject
e DeleteObject
di Amazon S3 su elementi nel bucket productionapp
.
All'utente federato vengono assegnate queste autorizzazioni perché le autorizzazioni sono l'intersezione delle policy utente IAM e delle policy di sessione che vengono passate.
L'utente AWS STS federato non poteva eseguire azioni in Amazon SNS, Amazon SQS, Amazon DynamoDB o in nessun bucket S3 tranne. productionapp
Queste operazioni sono rifiutate anche se tali autorizzazioni sono concesse all'utente IAM associato alla chiamata GetFederationToken
.
Esempio di policy di sessione passata come parametro della chiamata API GetFederationToken
.
Policy basate sulle risorse
Alcune AWS risorse supportano politiche basate sulle risorse e queste politiche forniscono un altro meccanismo per concedere le autorizzazioni direttamente a un utente federato. AWS STS Solo alcuni servizi supportano politiche basate sulle risorse AWS . Ad esempio, Amazon S3 ha i bucket, Amazon SNS ha gli argomenti e Amazon SQS ha le code, tutti elementi ai quali è possibile collegare le policy. Per un elenco di tutti i servizi che supportano le policy basate su risorse, consulta AWS servizi che funzionano con IAM e analizza la colonna "Policy basate su risorse" delle tabelle. È possibile utilizzare politiche basate sulle risorse per assegnare le autorizzazioni direttamente a un utente federato. AWS STS A tale scopo, specifica l'Amazon Resource Name (ARN) dell' AWS STS utente federato nell'elemento della policy basata Principal
sulle risorse. Ciò viene illustrato nell'esempio seguente espandendo gli esempi precedenti e utilizzando un bucket S3 denominato productionapp
.
La policy basata sulle risorse riportata di seguito è collegata al bucket. Questa policy sui bucket consente a un utente AWS STS federato di nome Carol di accedere al bucket. Quando la policy di esempio descritta in precedenza viene allegata all'utente token-app
IAM, l'utente AWS STS federato di nome Carol è autorizzato a eseguire le azioni e s3:DeleteObject
le azioni sul s3:GetObject
s3:PutObject
bucket denominato. productionapp
Questo vale anche quando nessuna policy di sessione viene passata come parametro della chiamata API GetFederationToken
. Questo perché in questo caso all'utente AWS STS federato di nome Carol sono state concesse esplicitamente le autorizzazioni dalla seguente politica basata sulle risorse.
Ricorda che a un utente AWS STS federato vengono concesse le autorizzazioni solo quando tali autorizzazioni sono concesse esplicitamente sia all'utente IAM che all'utente federato. AWS STS Possono anche essere concesse (all'interno dell'account) da una policy basata sulle risorse che nomina esplicitamente l'utente AWS STS federato nell'Principal
elemento della policy, come nell'esempio seguente.
Esempio di policy del bucket che consente l'accesso all'utente federato
Per ulteriori informazioni su come vengono valutate le policy, consulta la sezione Logica di valutazione delle policy.