Serviceübergreifende Confused-Deputy-Prävention - Amazon Comprehend

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.

Serviceübergreifende Confused-Deputy-Prävention

Das Confused-Deputy-Problem ist ein Sicherheitsproblem, bei dem eine juristische Stelle, die nicht über die Berechtigung zum Ausführen einer Aktion verfügt, eine privilegiertere juristische Stelle zwingen kann, die Aktion auszuführen. In AWS kann der serviceübergreifende Identitätswechsel zu Confused-Deputy-Problem führen. Ein dienstübergreifender Identitätswechsel kann auftreten, wenn ein Dienst (der Anruf-Dienst) einen anderen Dienst anruft (den aufgerufenen Dienst). Der aufrufende Service kann manipuliert werden, um seine Berechtigungen zu verwenden, um Aktionen auf die Ressourcen eines anderen Kunden auszuführen, für die er sonst keine Zugriffsberechtigung haben sollte. Um dies zu verhindern, bietet AWS Tools, mit denen Sie Ihre Daten für alle Services mit Serviceprinzipalen schützen können, die Zugriff auf Ressourcen in Ihrem Konto erhalten haben.

Wir empfehlen die Verwendung der aws:SourceAccount globalen Bedingungskontextschlüssel aws:SourceArn und in Ressourcenrichtlinien, um die Berechtigungen einzuschränken, die Amazon Comprehend einem anderen Service für die Ressource erteilt. Wenn Sie beide globalen Bedingungskontextschlüssel verwenden, müssen der aws:SourceAccount-Wert und das Konto im aws:SourceArn-Wert dieselbe Konto-ID verwenden, wenn sie in derselben Richtlinienanweisung verwendet werden.

Der effektivste Weg, um sich vor dem Confused-Deputy-Problem zu schützen, ist die Verwendung des globalen Bedingungskontext-Schlüssels aws:SourceArn mit dem vollständigen ARN der Ressource. Wenn Sie den vollständigen ARN der Ressource nicht kennen oder wenn Sie mehrere Ressourcen angeben, verwenden Sie den globalen Bedingungskontext-Schlüssel aws:SourceArn mit Platzhaltern (*) für die unbekannten Teile des ARN. Beispiel: arn:aws:servicename::123456789012:*

Verwenden des Quellkontos

Das folgende Beispiel zeigt, wie Sie den aws:SourceAccount globalen Bedingungskontextschlüssel in Amazon Comprehend verwenden können.

{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "comprehend.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount":"111122223333" } } } }

Vertrauensrichtlinie für Endpunkte verschlüsselter Modelle

Sie müssen eine Vertrauensrichtlinie erstellen, um einen Endpunkt für ein verschlüsseltes Modell zu erstellen oder zu aktualisieren. Legen Sie den Wert aws:SourceAccount auf Ihre Konto-ID fest. Wenn Sie die ArnEquals Bedingung verwenden, legen Sie den aws:SourceArn Wert auf den ARN des Endpunkts fest.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "comprehend.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnEquals": { "aws:SourceArn": "arn:aws:comprehend:us-west-2:111122223333:document-classifier-endpoint/endpoint-name" } } } ] }

Erstellen eines benutzerdefinierten Modells

Sie müssen eine Vertrauensrichtlinie erstellen, um ein benutzerdefiniertes Modell zu erstellen. Legen Sie den Wert aws:SourceAccount auf Ihre Konto-ID fest. Wenn Sie die ArnEquals Bedingung verwenden, legen Sie den aws:SourceArn Wert auf den ARN der benutzerdefinierten Modellversion fest.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "comprehend.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnEquals": { "aws:SourceArn": "arn:aws:comprehend:us-west-2:111122223333: document-classifier/smallest-classifier-test/version/version-name" } } } ] }