Dienstübergreifende Confused-Deputy-Prävention - Amazon EventBridge

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.

Dienstü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 dienstü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 globalen Bedingungskontextschlüssel aws:SourceArn und aws:SourceAccount in ressourcenbasierten Richtlinien, um die Berechtigungen, die Amazon EventBridge einem anderen Service erteilt, auf eine bestimmte Ressource zu beschränken. Verwenden Sie aws:SourceArn, wenn Sie nur eine Ressource mit dem betriebsübergreifenden Zugriff verknüpfen möchten. Verwenden Sie aws:SourceAccount, wenn Sie zulassen möchten, dass Ressourcen in diesem Konto mit der betriebsübergreifenden Verwendung verknüpft werden.

Der effektivste Weg, um sich vor dem Confused-Deputy-Problem zu schützen, ist die Verwendung des globalen Bedingungskontextschlü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 Kontextbedingungsschlüssel aws:SourceArn mit Platzhalterzeichen (*) für die unbekannten Teile des ARN. Zum Beispiel arn:aws:servicename:*:123456789012:*.

Wenn der aws:SourceArn-Wert die Konto-ID nicht enthält, z. B. einen Amazon-S3-Bucket-ARN, müssen Sie beide globale Bedingungskontextschlüssel verwenden, um Berechtigungen einzuschränken.

Ereignisbusse

Für EventBridge-Event-Bus-Regelziele muss der Wert von aws:SourceArn der Regel-ARN sein.

Das folgende Beispiel zeigt, wie Sie die globalen Bedingungskontextschlüssel aws:SourceArn und aws:SourceAccount in EventBridge verwenden können, um das Problem des verwirrten Stellvertreters zu vermeiden. Dieses Beispiel findet Verwendung in einer Rollenvertrauensrichtlinie für eine Rolle, die von einer EventBridge-Regel verwendet wird.

{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:events:*:123456789012:rule/myRule" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } }

EventBridge Pipes

Für EventBridge Pipes muss der Wert von aws:SourceArn der Pipe-ARN sein.

Das folgende Beispiel zeigt, wie Sie die globalen Bedingungskontextschlüssel aws:SourceArn und aws:SourceAccount in EventBridge verwenden können, um das Problem des verwirrten Stellvertreters zu vermeiden. Dieses Beispiel findet Verwendung in einer Rollenvertrauensrichtlinie für eine Rolle, die von EventBridge Pipes verwendet wird.

{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:pipe:*:123456789012::pipe/example" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } }