Utilizzo delle fonti di identità di Amazon Cognito - Autorizzazioni verificate da Amazon

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à.

Utilizzo delle fonti di identità di Amazon Cognito

Verified Permissions lavora a stretto contatto con i pool di utenti di Amazon Cognito. Amazon Cognito JWTs ha una struttura prevedibile. Verified Permissions riconosce questa struttura e trae il massimo vantaggio dalle informazioni in essa contenute. Ad esempio, è possibile implementare un modello di autorizzazione per il controllo degli accessi basato sui ruoli (RBAC) con token ID o token di accesso.

Una nuova fonte di identità per i pool di utenti di Amazon Cognito richiede le seguenti informazioni:

  • Il Regione AWS.

  • L'ID pool di utenti.

  • Il tipo di entità principale che desideri associare alla fonte della tua identità, ad esempioMyCorp::User.

  • Il tipo di entità di gruppo principale che desideri associare alla tua fonte di identità, ad esempioMyCorp::UserGroup.

  • Il client IDs del tuo pool di utenti che desideri autorizzare a effettuare richieste al tuo policy store.

Poiché Verified Permissions funziona solo con i pool di utenti di Amazon Cognito nello Account AWS stesso account, non puoi specificare una fonte di identità in un altro account. Verified Permissions imposta il prefisso dell'entità, l'identificatore dell'identità e della fonte a cui devi fare riferimento nelle politiche che agiscono sui principali del pool di utenti, all'ID del tuo pool di utenti, ad esempio. us-west-2_EXAMPLE In questo caso, faresti riferimento a un utente in quel pool di utenti con ID come a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 us-west-2_EXAMPLE|a1b2c3d4-5678-90ab-cdef-EXAMPLE22222

Le dichiarazioni relative ai token del pool di utenti possono contenere attributi, ambiti, gruppi IDs, client e dati personalizzati. Amazon Cognito JWTs ha la capacità di includere una varietà di informazioni che possono contribuire alle decisioni di autorizzazione nelle autorizzazioni verificate. Ciò include:

  1. Dichiarazioni relative al nome utente e al gruppo con prefisso cognito:

  2. Attributi utente personalizzati con un custom: prefix

  3. Affermazioni personalizzate aggiunte in fase di esecuzione

  4. Dichiarazioni standard OIDC come e sub email

Tratteremo in dettaglio queste affermazioni e come gestirle nelle politiche sulle autorizzazioni verificate, in. Mappatura dei token Amazon Cognito allo schema

Importante

Sebbene sia possibile revocare i token Amazon Cognito prima della scadenza JWTs , sono considerati risorse stateless autonome con firma e validità. I servizi conformi al token Web JSON RFC 7519 dovrebbero convalidare i token in remoto e non sono tenuti a convalidarli con l'emittente. Ciò significa che è possibile che Verified Permissions conceda l'accesso in base a un token revocato o rilasciato a un utente che è stato successivamente eliminato. Per mitigare questo rischio, ti consigliamo di creare i token con la durata di validità più breve possibile e di revocare i token di aggiornamento quando desideri rimuovere l'autorizzazione a continuare la sessione di un utente. Per ulteriori informazioni, consulta Terminare le sessioni utente con revoca dei token

L'esempio seguente mostra come creare una policy che faccia riferimento ad alcune delle dichiarazioni dei pool di utenti di Amazon Cognito associate a un'entità principale.

permit( principal, action, resource == ExampleCo::Photo::"VacationPhoto94.jpg" ) when { principal["cognito:username"]) == "alice" && principal["custom:department"]) == "Finance" };

L'esempio seguente mostra come creare una politica che faccia riferimento a un principale che è un utente in un pool di utenti di Cognito. Nota che l'ID principale assume la forma di"<userpool-id>|<sub>".

permit( principal == ExampleCo::User::"us-east-1_example|a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", action, resource == ExampleCo::Photo::"VacationPhoto94.jpg" );

Le politiche Cedar per le fonti di identità del pool di utenti in Verified Permissions utilizzano una sintassi speciale per i nomi delle rivendicazioni che contengono caratteri diversi da quelli alfanumerici e dal carattere di sottolineatura (). _ Ciò include le dichiarazioni di prefisso del pool di utenti che contengono un carattere, come e. : cognito:username custom:department Per scrivere una condizione politica che faccia riferimento al custom:department claim cognito:username o, scrivila rispettivamente come principal["cognito:username"] eprincipal["custom:department"].

Nota

Se un token contiene un'attestazione con un custom: prefisso cognito: or e un nome di attestazione con valore letterale cognito ocustom, una richiesta di autorizzazione con IsAuthorizedWithTokenun. ValidationException

Per ulteriori informazioni sulla mappatura delle attestazioni, consulta. Mappatura dei token Amazon Cognito allo schema Per ulteriori informazioni sull'autorizzazione per gli utenti di Amazon Cognito, consulta Authorization with Amazon Verified Permissions nella Amazon Cognito Developer Guide.