Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Benutzerdefinierte Token-Verifizierung mit Lambda-Autorisierern
HealthImaging implementiert OIDC-Unterstützung über eine Architektur, die Lambda-Autorisierer verwendet, sodass Kunden ihre eigene Token-Verifizierungslogik implementieren können. Dieses Design bietet Ihnen eine flexible Kontrolle darüber, wie Token validiert und wie Zugriffsentscheidungen durchgesetzt werden, und trägt so einer vielfältigen Landschaft von OIDC-kompatiblen Identitätsanbietern () und unterschiedlichen Methoden zur Token-Verifizierung Rechnung. IdPs
Authentifizierungsfluss
So funktioniert die Authentifizierung auf hoher Ebene:
-
Der Client ruft die DICOMweb API auf: Ihre Anwendung authentifiziert sich bei Ihrem ausgewählten OIDC-Identitätsanbieter und erhält ein signiertes ID-Token (JWT). Für jede DICOMweb HTTP-Anfrage muss der Client das OIDC-Zugriffstoken in den Authorization-Header aufnehmen (normalerweise ein Bearer-Token). Bevor die Anfrage Ihre Daten erreicht, HealthImaging extrahiert Sie dieses Token aus der eingehenden Anfrage und ruft einen Lambda-Autorisierer auf, den Sie konfigurieren.
-
Der Header folgt normalerweise dem Format:.
Authorization: Bearer <token>
-
-
Erste Überprüfung: HealthImaging Überprüft Ansprüche auf Zugriffstoken, um offensichtlich ungültige oder abgelaufene Token schnell zurückzuweisen, ohne die Lambda-Funktion unnötig aufzurufen. HealthImaging führt eine erste Überprüfung bestimmter Standardansprüche im Zugriffstoken durch, bevor der Lambda-Autorisierer aufgerufen wird:
-
iat(Ausgestellt am): HealthImaging prüft, ob die Ausstellungszeit des Tokens innerhalb akzeptabler Grenzen liegt. -
exp(Ablaufzeit): HealthImaging Überprüft, ob das Token nicht abgelaufen ist. -
nbf(Nicht vor der Uhrzeit): Falls vorhanden, wird HealthImaging sichergestellt, dass das Token nicht vor seiner gültigen Startzeit verwendet wird.
-
-
HealthImaging ruft einen Lambda-Autorisierer auf: Wenn die anfängliche Überprüfung des Antrags erfolgreich ist, HealthImaging wird die weitere Token-Überprüfung an die vom Kunden konfigurierte Lambda-Autorisierungsfunktion delegiert. HealthImaging übergibt das extrahierte Token und andere relevante Anforderungsinformationen an die Lambda-Funktion. Die Lambda-Funktion überprüft die Signatur und die Ansprüche des Tokens.
-
Verifizierung mit einem Identitätsanbieter: Das Lambda enthält benutzerdefinierten Code, der die ID-Token-Signatur überprüft, eine umfassendere Tokenverifizierung durchführt (z. B. Aussteller, Zielgruppe, benutzerdefinierte Ansprüche) und diese Ansprüche bei Bedarf gegenüber dem IdP validiert.
-
Der Authorizer gibt eine Zugriffsrichtlinie zurück: Nach erfolgreicher Überprüfung bestimmt die Lambda-Funktion die entsprechenden Berechtigungen für die authentifizierte Verwendung. Der Lambda-Autorisierer gibt dann den Amazon-Ressourcennamen (ARN) einer IAM-Rolle zurück, der den Satz der zu erteilenden Berechtigungen darstellt.
-
Ausführung der Anfrage: Wenn die angenommene IAM-Rolle über die erforderlichen Berechtigungen verfügt, wird mit der Rückgabe der HealthImaging angeforderten Ressource fortgefahren. DICOMWeb Wenn die Berechtigungen nicht ausreichen, HealthImaging lehnt die Anfrage ab und gibt eine entsprechende Fehlermeldung zurück (d. h. 403 Forbidden).
Anmerkung
Die Autorisierungs-Lambda-Funktion wird nicht vom HealthImaging AWS-Service verwaltet. Sie wird in Ihrem Konto ausgeführt. AWS Den Kunden werden der Funktionsaufruf und die Ausführungszeit separat von ihren HealthImaging Gebühren in Rechnung gestellt.
Übersicht über die Architektur
OIDC-Authentifizierungsworkflow mit Lambda Authorizer
Voraussetzungen
Anforderungen an Zugriffstoken
HealthImaging erfordert, dass das Zugriffstoken im Format JSON Web Token (JWT) vorliegt. Viele Identity Provider (IDPs) bieten dieses Token-Format nativ an, während Sie bei anderen das Zugriffstoken-Formular auswählen oder konfigurieren können. Stellen Sie sicher, dass der von Ihnen gewählte IDP JWT-Token ausstellen kann, bevor Sie mit der Integration fortfahren.
- Token-Format
-
Das Zugriffstoken muss im JWT-Format (JSON Web Token) vorliegen
- Erforderliche Ansprüche
-
exp(Ablaufzeit)-
Erforderlicher Anspruch, der angibt, wann das Token ungültig wird.
Muss nach der aktuellen Uhrzeit in UTC liegen
Stellt dar, wann das Token ungültig wird
iat(Ausgestellt am)-
Erforderlicher Anspruch, der angibt, wann das Token ausgestellt wurde.
Muss vor der aktuellen Uhrzeit in UTC liegen
Darf NICHT früher als 12 Stunden vor der aktuellen Uhrzeit in UTC liegen
Dadurch wird effektiv eine maximale Token-Lebensdauer von 12 Stunden durchgesetzt
nbf(Nicht vor der Zeit)-
Optionaler Anspruch, der angibt, wann das Token frühestens verwendet werden kann.
Falls vorhanden, wird es bewertet von HealthImaging
Gibt den Zeitpunkt an, vor dem das Token nicht akzeptiert werden darf
Anforderungen an die Reaktionszeit des Lambda-Autorisierers
HealthImaging setzt strenge Zeitanforderungen für die Antworten des Lambda-Autorisierers durch, um eine optimale API-Leistung sicherzustellen. Ihre Lambda-Funktion muss innerhalb von 1 Sekunde zurückkehren.
Bewährte Methoden
Optimieren Sie die Token-Verifizierung
Zwischenspeichern Sie JWKS (JSON Web Key Sets), wenn möglich
Wenn möglich, gültige Zugriffstoken zwischenspeichern
Minimiere die Anzahl der Netzwerkanrufe an deinen Identity Provider
Implementieren Sie eine effiziente Token-Validierungslogik
Lambda-Konfiguration
Auf Python und Node.js basierende Funktionen werden normalerweise schneller initialisiert
Reduzieren Sie die Anzahl der zu ladenden externen Bibliotheken
Konfigurieren Sie die entsprechende Speicherzuweisung, um eine konsistente Leistung zu gewährleisten
Überwachen Sie die Ausführungszeiten mithilfe von CloudWatch Metriken
Aktivierung der OIDC-Authentifizierung
Die OIDC-Authentifizierung kann nur aktiviert werden, wenn ein neuer Datenspeicher erstellt wird
Die Aktivierung von OIDC für bestehende Datenspeicher wird über die API nicht unterstützt
Um OIDC auf einem vorhandenen Datenspeicher zu aktivieren, müssen sich Kunden an den Support wenden AWS