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à.
Per utilizzare la federazione delle identità Web, l'app deve assumere il ruolo IAM da te creato. Da quel punto in poi, l'app applica la policy d'accesso collegata al ruolo.
In fase di runtime, se l'app utilizza la federazione delle identità Web, deve seguire la procedura seguente:
-
Autenticarsi con un provider di identità di terza parte. L'app deve chiamare il provider di identità utilizzando un'interfaccia fornita da quest'ultimo. Il modo esatto in cui si effettua l'autenticazione dell'utente dipende dal provider e dalla piattaforma su cui si esegue l'app. In genere, se l'utente non ha già effettuato l'accesso, il provider di identità si occupa di mostrare una pagina di accesso per tale provider.
Dopo aver autenticato l'utente, il provider di identità restituisce alla tua app un token di identità Web. Il formato di questo token dipende dal provider, ma in genere è una stringa di caratteri molto lunga.
-
Ottieni credenziali AWS di sicurezza temporanee. Per fare ciò, l'app invia una richiesta
AssumeRoleWithWebIdentity
a AWS Security Token Service AWS STS. Questa richiesta contiene i seguenti elementi:-
Il token dell'identità Web ottenuto nella fase precedente;
-
L'ID app fornito dal provider di identità;
-
L'Amazon Resource Name (ARN) del IAM ruolo che hai creato per questo provider di identità per questa app
AWS STS restituisce un set di credenziali di AWS sicurezza che scadono dopo un certo periodo di tempo (3.600 secondi, per impostazione predefinita).
L'esempio seguente mostra una richiesta e la risposta da un'operazione
AssumeRoleWithWebIdentity
in AWS STS. Il token dell'identità Web è stato ottenuto dal provider di identità Login with Amazon.GET / HTTP/1.1 Host: sts.amazonaws.com Content-Type: application/json; charset=utf-8 URL: https://sts.amazonaws.com/?ProviderId=www.amazon.com &DurationSeconds=900&Action=AssumeRoleWithWebIdentity &Version=2011-06-15&RoleSessionName=web-identity-federation &RoleArn=arn:aws:iam::123456789012:role/GameRole &WebIdentityToken=Atza|IQEBLjAsAhQluyKqyBiYZ8-kclvGTYM81e...(remaining characters omitted)
<AssumeRoleWithWebIdentityResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/"> <AssumeRoleWithWebIdentityResult> <SubjectFromWebIdentityToken>amzn1.account.AGJZDKHJKAUUSW6C44CHPEXAMPLE</SubjectFromWebIdentityToken> <Credentials> <SessionToken>AQoDYXdzEMf//////////wEa8AP6nNDwcSLnf+cHupC...(remaining characters omitted)</SessionToken> <SecretAccessKey>8Jhi60+EWUUbbUShTEsjTxqQtM8UKvsM6XAjdA==</SecretAccessKey> <Expiration>2013-10-01T22:14:35Z</Expiration> <AccessKeyId>06198791C436IEXAMPLE</AccessKeyId> </Credentials> <AssumedRoleUser> <Arn>arn:aws:sts::123456789012:assumed-role/GameRole/web-identity-federation</Arn> <AssumedRoleId>AROAJU4SA2VW5SZRF2YMG:web-identity-federation</AssumedRoleId> </AssumedRoleUser> </AssumeRoleWithWebIdentityResult> <ResponseMetadata> <RequestId>c265ac8e-2ae4-11e3-8775-6969323a932d</RequestId> </ResponseMetadata> </AssumeRoleWithWebIdentityResponse>
-
-
Accedere alle risorse. AWS La risposta da AWS STS contiene le informazioni che sono richieste dall'app per poter accedere alle risorse DynamoDB:
-
I campi
AccessKeyID
,SecretAccessKey
eSessionToken
contengono le credenziali di sicurezza valide solo per questo utente e quest'app. -
Il campo
Expiration
indica il limite di tempo dopo il quale queste credenziali non sono più valide. -
Il campo
AssumedRoleId
contiene il nome di un ruolo IAM specifico della sessione che stato assunto dall'app. L'app rispetta i controlli degli accessi nel documento della policy IAM per la durata di questa sessione. -
Il campo
SubjectFromWebIdentityToken
contiene l'ID univoco presente in una variabile di policy IAM per questo provider di identità specifico. Si seguito sono mostrati le variabili di policy IAM per i provider supportati e alcuni valori di esempio relativi:Variabile di policy Valore di esempio ${www.amazon.com:user_id}
amzn1.account.AGJZDKHJKAUUSW6C44CHPEXAMPLE
${graph.facebook.com:id}
123456789
${accounts.google.com:sub}
123456789012345678901
-
Per le policy IAM di esempio in cui vengono utilizzate queste variabili di policy, consulta Policy di esempio: utilizzo di condizioni per il controllo granulare degli accessi.
Per ulteriori informazioni su come AWS STS generare credenziali di accesso temporanee, vedere Richiesta di credenziali di sicurezza temporanee nella IAM Guida per l'utente.