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à.
Verifica dei token personalizzata con autorizzatori Lambda
HealthImaging implementa il supporto OIDC attraverso un'architettura che utilizza autorizzatori Lambda, permettendo ai clienti di implementare la propria logica di verifica dei token. Questo design offre un controllo flessibile sul modo in cui i token vengono convalidati e su come vengono applicate le decisioni di accesso, adattandosi a un panorama diversificato di provider di identità compatibili con OIDC () e a diversi metodi di verifica dei token. IdPs
Flusso di autenticazione
Ecco come funziona l'autenticazione ad alto livello:
-
Il client chiama l' DICOMweb API: l'applicazione si autentica con il provider di identità OIDC scelto e riceve un token ID firmato (JWT). Per ogni richiesta DICOMweb HTTP, il client deve includere il token di accesso OIDC nell'intestazione di autorizzazione (in genere un token Bearer). Prima che la richiesta raggiunga i tuoi dati, HealthImaging estrae questo token dalla richiesta in entrata e chiama un autorizzatore Lambda da te configurato.
-
L'intestazione segue in genere il formato:.
Authorization: Bearer <token>
-
-
Verifica iniziale: HealthImaging verifica le richieste dei token di accesso per rifiutare rapidamente qualsiasi token ovviamente non valido o scaduto senza richiamare inutilmente la funzione Lambda. HealthImaging esegue una verifica iniziale di alcune affermazioni standard nel token di accesso prima di richiamare l'autorizzatore Lambda:
-
iat(Emissed At): HealthImaging verifica se l'ora di emissione del token rientra nei limiti accettabili. -
exp(Ora di scadenza): HealthImaging verifica che il token non sia scaduto. -
nbf(Non prima dell'ora): se presente, HealthImaging assicura che il token non venga utilizzato prima dell'ora di inizio valida.
-
-
HealthImaging richiama un autorizzatore Lambda: se la verifica iniziale della richiesta ha esito positivo, delega l'ulteriore verifica del token alla HealthImaging funzione di autorizzazione Lambda configurata dal cliente. HealthImaging passa il token estratto e altre informazioni pertinenti sulla richiesta alla funzione Lambda. La funzione Lambda verifica la firma e le attestazioni del token.
-
Verifica con un provider di identità: la Lambda contiene codice personalizzato che verifica la firma del token ID, esegue una verifica più ampia del token (ad esempio, emittente, pubblico, attestazioni personalizzate) e convalida tali attestazioni nei confronti dell'IdP quando necessario.
-
Authorizer restituisce una politica di accesso: dopo una verifica riuscita, la funzione Lambda determina le autorizzazioni appropriate per l'uso autenticato. L'autorizzatore Lambda restituisce quindi l'Amazon Resource Name (ARN) di un ruolo IAM che rappresenta l'insieme di autorizzazioni da concedere.
-
Esecuzione della richiesta: se il ruolo IAM assunto dispone delle autorizzazioni necessarie, HealthImaging procede con la restituzione della risorsa richiesta. DICOMWeb Se le autorizzazioni sono insufficienti, HealthImaging nega la richiesta e restituisce un errore di risposta all'errore appropriato (ad esempio, 403 Forbidden).
Nota
La funzione lambda di autorizzazione non è gestita dal servizio HealthImaging AWS. Viene eseguita nel tuo account. AWS Ai clienti viene addebitato il tempo di invocazione della funzione e il tempo di esecuzione separatamente dai relativi addebiti. HealthImaging
Panoramica dell'architettura
Flusso di lavoro di autenticazione OIDC con autorizzatore Lambda
Prerequisiti
Requisiti del token di accesso
HealthImaging richiede che il token di accesso sia in formato JSON Web Token (JWT). Molti provider di identità (IDPs) offrono questo formato di token in modo nativo, mentre altri consentono di selezionare o configurare il modulo del token di accesso. Assicurati che l'IDP prescelto possa emettere token JWT prima di procedere con l'integrazione.
- Formato del token
-
Il token di accesso deve essere in formato JWT (JSON Web Token)
- Reclami richiesti
-
exp(Ora di scadenza)-
Dichiarazione obbligatoria che specifica quando il token non è più valido.
Deve essere successiva all'ora corrente in UTC
Indica quando il token diventa non valido
iat(Emesso a)-
Dichiarazione obbligatoria che specifica quando è stato emesso il token.
Deve essere antecedente all'ora corrente in UTC
NON deve essere precedente di 12 ore all'ora corrente in UTC
Ciò impone effettivamente una durata massima del token di 12 ore
nbf(Non prima del tempo)-
Dichiarazione facoltativa che specifica la prima volta in cui il token può essere utilizzato.
Se presente, verrà valutato da HealthImaging
Speciifica l'ora prima della quale il token non deve essere accettato
Requisiti relativi ai tempi di risposta dell'autorizzatore Lambda
HealthImaging impone requisiti di tempistica rigorosi per le risposte degli autorizzatori Lambda per garantire prestazioni API ottimali. La funzione Lambda deve tornare entro 1 secondo.
Best practice
Ottimizza la verifica dei token
Memorizza nella cache JWKS (JSON Web Key Sets) quando possibile
Memorizza nella cache i token di accesso validi quando possibile
Riduci al minimo le chiamate di rete all'Identity Provider
Implementa una logica di convalida dei token efficiente
Configurazione Lambda
Le funzioni basate su Python e Node.js in genere si inizializzano più velocemente
Riduci la quantità di librerie esterne da caricare
Configura l'allocazione di memoria appropriata per garantire prestazioni costanti
Monitora i tempi di esecuzione utilizzando CloudWatch le metriche
Abilitazione dell'autenticazione OIDC
L'autenticazione OIDC può essere abilitata solo quando si crea un nuovo datastore
L'abilitazione di OIDC per i datastore esistenti non è supportata tramite l'API
Per abilitare OIDC su un datastore esistente, i clienti devono contattare l'assistenza AWS