API-archivi di polizze collegati - 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à.

API-archivi di polizze collegati

Un caso d'uso comune consiste nell'utilizzare Amazon Verified Permissions per autorizzare l'accesso degli utenti all'APIshosting su Amazon API Gateway. Utilizzando una procedura guidata nella AWS console, puoi creare politiche di accesso basate sui ruoli per gli utenti gestiti in Amazon Cognito o in qualsiasi OIDC provider di identità (IdP) e implementare un AWS Lambda Authorizer che richiama Verified Permissions per valutare queste politiche.

Per completare la procedura guidata, scegli Configura con API Gateway e un provider di identità quando crei un nuovo archivio di politiche e segui i passaggi.

Viene creato un archivio delle politiche API collegato che fornisce il modello di autorizzazione e le risorse per le richieste di autorizzazione. Il policy store ha un'origine di identità e un autorizzatore Lambda che collega API Gateway alle autorizzazioni verificate. Una volta creato il policy store, è possibile autorizzare le API richieste in base all'appartenenza ai gruppi degli utenti. Ad esempio, le autorizzazioni verificate possono concedere l'accesso solo agli utenti che sono membri del gruppo. Directors

Man mano che l'applicazione cresce, è possibile implementare autorizzazioni granulari con attributi utente e ambiti OAuth 2.0 utilizzando il linguaggio di policy Cedar. Ad esempio, le autorizzazioni verificate possono concedere l'accesso solo agli utenti che dispongono di un attributo nel dominio. email mycompany.co.uk

Dopo aver impostato il modello di autorizzazione per il tuoAPI, la tua responsabilità restante è quella di autenticare gli utenti e generare API richieste nell'applicazione, nonché di gestire l'archivio delle policy.

Per vedere una demo, consulta Amazon Verified Permissions - Quick Start Overview and Demo sul Amazon Web Services YouTube canale.

Importante

Gli archivi di policy creati con l'opzione Configura con API Gateway e un'opzione di origine delle identità nella console Verified Permissions non sono destinati alla distribuzione immediata alla produzione. Con il tuo archivio di policy iniziale, finalizza il tuo modello di autorizzazione ed esporta le risorse del policy store in. CloudFormation Implementa le autorizzazioni verificate alla produzione in modo programmatico con il AWSCloud Development Kit (). CDK Per ulteriori informazioni, consulta Passare alla produzione con AWS CloudFormation.

In un archivio di policy collegato a una fonte di identità API and, l'applicazione presenta un token del pool di utenti in un'intestazione di autorizzazione quando effettua una richiesta a. API La fonte di identità del tuo policy store fornisce la convalida dei token per le autorizzazioni verificate. Il token forma le richieste principal di autorizzazione con. IsAuthorizedWithTokenAPI Verified Permissions crea politiche relative all'appartenenza ai gruppi degli utenti, come illustrato in una dichiarazione di gruppo in termini di identità (ID) e token di accesso, ad esempio cognito:groups per i pool di utenti. Il token dell'applicazione viene elaborato in un programma di autorizzazione Lambda e lo invia a Verified Permissions per una decisione di autorizzazione. API Quando ricevi API la decisione di autorizzazione dall'autorizzatore Lambda, trasmette la richiesta alla tua fonte di dati o la nega.

Componenti dell'origine dell'identità e dell'autorizzazione del API gateway con autorizzazioni verificate
  • Un pool di utenti o IdP di Amazon Cognito che autentica e OIDC raggruppa gli utenti. I token degli utenti popolano l'appartenenza al gruppo e il principale o il contesto che Verified Permissions valuta nel tuo archivio di politiche.

  • Un gateway. API REST API Le autorizzazioni verificate definiscono le azioni in API base a percorsi e API metodi, ad esempioMyAPI::Action::get /photo.

  • Una funzione Lambda e un autorizzatore Lambda per te. API La funzione Lambda riceve i token portatori dal pool di utenti, richiede l'autorizzazione da Verified Permissions e restituisce una decisione a Gateway. API Il flusso di lavoro Configurazione con API Gateway e un'origine di identità crea automaticamente questo autorizzatore Lambda per te.

  • Un archivio di policy per le autorizzazioni verificate. L'origine dell'identità del Policy Store è il pool di utenti o il gruppo di OIDC provider di Amazon Cognito. Lo schema del Policy Store riflette la configurazione del tuo account e API le policy collegano i gruppi di utenti alle API azioni consentite.

  • Un'applicazione che autentica gli utenti con il tuo IdP e aggiunge token alle richieste. API

In che modo Verified Permissions autorizza le richieste API

Quando si crea un nuovo policy store e si seleziona l'opzione Configura con API Gateway e un'origine di identità, Verified Permissions crea lo schema e le politiche del policy store. Lo schema e le politiche riflettono API le azioni e i gruppi di utenti che si desidera autorizzare a intraprendere tali azioni. Verified Permissions crea anche la funzione e l'autorizzatore Lambda.

Un diagramma che mostra il flusso di una richiesta di autorizzazione con Amazon API Gateway, Amazon Cognito e Amazon Verified Permissions.
  1. L'utente accede con la tua applicazione tramite Amazon Cognito o un altro OIDC IdP. L'IdP emette ID e token di accesso con le informazioni dell'utente.

  2. L'applicazione memorizza il. JWTs Per ulteriori informazioni, consulta Usare i token con i pool di utenti nella Amazon Cognito Developer Guide.

  3. L'utente richiede i dati che l'applicazione deve recuperare da un dispositivo esterno. API

  4. L'applicazione richiede dati da un API gateway REST API interno. Aggiunge un ID o un token di accesso come intestazione della richiesta.

  5. Se si API dispone di una cache per la decisione di autorizzazione, restituisce la risposta precedente. Se la memorizzazione nella cache è disabilitata o non API dispone di una cache corrente, API Gateway passa i parametri della richiesta a un autorizzatore Lambda basato su token.

  6. La funzione Lambda invia una richiesta di autorizzazione a un archivio di criteri di autorizzazioni verificate con. IsAuthorizedWithTokenAPI La funzione Lambda trasmette gli elementi di una decisione di autorizzazione:

    1. Il token dell'utente come principale.

    2. Il API metodo combinato con il API percorso, ad esempioGetPhoto, come azione.

    3. Il termine Application come risorsa.

  7. Verified Permissions convalida il token. Per ulteriori informazioni su come vengono convalidati i token Amazon Cognito, consulta Authorization with Amazon Verified Permissions nella Amazon Cognito Developer Guide.

  8. Verified Permissions valuta la richiesta di autorizzazione rispetto alle politiche del tuo archivio di politiche e restituisce una decisione di autorizzazione.

  9. L'autorizzatore Lambda restituisce una Deny risposta Allow or a Gateway. API

  10. APIRestituisce dati o una ACCESS_DENIED risposta all'applicazione. L'applicazione elabora e visualizza i risultati della API richiesta.

Considerazioni per gli archivi API di policy collegati

Quando crei un archivio di policy API collegato a -link nella console Verified Permissions, stai creando un test per un'eventuale implementazione di produzione. Prima di passare alla produzione, stabilisci una configurazione fissa per il tuo pool API e per quello di utenti. Considerate i seguenti fattori:

APIIl gateway memorizza nella cache le risposte

Negli archivi API di policy collegati, Verified Permissions crea un autorizzatore Lambda con una cache di autorizzazione di 120 secondi. TTL Puoi modificare questo valore o disattivare la memorizzazione nella cache nel tuo programma di autorizzazione. In un sistema di autorizzazione con memorizzazione nella cache abilitata, l'autorizzatore restituisce la stessa risposta ogni volta fino alla scadenza. TTL Ciò può prolungare la durata effettiva dei token del pool di utenti di una durata pari alla memorizzazione nella cache della fase richiesta. TTL

I gruppi Amazon Cognito possono essere riutilizzati

Amazon Verified Permissions determina l'appartenenza al gruppo per gli utenti del pool di utenti in base alla cognito:groups dichiarazione contenuta nell'ID o nel token di accesso di un utente. Il valore di questa dichiarazione è una matrice dei nomi descrittivi dei gruppi di pool di utenti a cui l'utente appartiene. Non è possibile associare gruppi di pool di utenti a un identificatore univoco.

I gruppi di pool di utenti eliminati e ricreati con lo stesso nome presenti nel policy store come stesso gruppo. Quando elimini un gruppo da un pool di utenti, elimina tutti i riferimenti al gruppo dal tuo policy store.

API-lo spazio dei nomi e lo schema derivati sono point-in-time

Verified Permissions rileva le tue informazioni in un determinato API momento: ti interroga solo API quando crei il tuo policy store. Quando lo schema o il nome delle API modifiche apportate, è necessario aggiornare il policy store e l'autorizzatore Lambda oppure creare un nuovo API policy store collegato. Verified Permissions ricava lo spazio dei nomi del policy store dal nome del tuo. API

La funzione Lambda non ha alcuna configurazione VPC

La funzione Lambda creata da Verified Permissions per l'APIautorizzatore viene avviata per impostazione predefinita. VPC Per impostazione predefinita. APIscon accesso alla rete limitato ai soli utenti privati non VPCs possono comunicare con la funzione Lambda che autorizza le richieste di accesso con autorizzazioni verificate.

Verified Permissions distribuisce le risorse di autorizzazione in CloudFormation

Per creare un archivio API di policy collegato, è necessario accedere a un utente con privilegi elevati alla console Verified Permissions. AWS Questo utente distribuisce uno AWS CloudFormation stack che crea risorse su diverse piattaforme. Servizi AWS Questo principale deve avere l'autorizzazione per aggiungere e modificare risorse in Autorizzazioni verificate IAM, Lambda e Gateway. API È consigliabile non condividere queste credenziali con altri amministratori dell'organizzazione.

Passare alla produzione con AWS CloudFormationPer una panoramica delle risorse create da Verified Permissions, vedi.

Aggiungere il controllo degli accessi basato sugli attributi () ABAC

Una tipica sessione di autenticazione con un IdP restituisce ID e token di accesso. Puoi passare uno di questi tipi di token come token portante nelle richieste dell'applicazione al tuo. API A seconda delle scelte effettuate al momento della creazione del policy store, Verified Permissions prevede uno dei due tipi di token. Entrambi i tipi contengono informazioni sull'appartenenza al gruppo dell'utente. Per ulteriori informazioni sui tipi di token in Amazon Cognito, consulta Using tokens with user pool nella Amazon Cognito Developer Guide.

Dopo aver creato un archivio di politiche, puoi aggiungere ed estendere le politiche. Ad esempio, puoi aggiungere nuovi gruppi alle tue politiche man mano che le aggiungi al tuo pool di utenti. Poiché l'archivio delle politiche è già a conoscenza del modo in cui il pool di utenti presenta i gruppi in token, è possibile consentire una serie di azioni per ogni nuovo gruppo con una nuova politica.

Potresti anche voler estendere il modello di valutazione delle politiche basato sui gruppi in un modello più preciso basato sulle proprietà degli utenti. I token del pool di utenti contengono informazioni aggiuntive sugli utenti che possono contribuire alle decisioni di autorizzazione.

Token ID

I token ID rappresentano gli attributi di un utente e hanno un alto livello di controllo degli accessi preciso. Per valutare indirizzi e-mail, numeri di telefono o attributi personalizzati come reparto e responsabile, valuta il token ID.

Token di accesso

I token di accesso rappresentano le autorizzazioni di un utente con ambiti OAuth 2.0. Per aggiungere un livello di autorizzazione o impostare richieste di risorse aggiuntive, valuta il token di accesso. Ad esempio, è possibile verificare che un utente appartenga ai gruppi appropriati e disponga di un ambito come PetStore.read quello che generalmente autorizza l'accesso a. API I pool di utenti possono aggiungere ambiti personalizzati ai token con server di risorse e con personalizzazione dei token in fase di esecuzione.

Vedi ad Mappatura dei token del provider di identità allo schema esempio le politiche che elaborano i reclami in ID e token di accesso.