Confused-Deputy-Prävention - EventBridge Scheduler

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.

Confused-Deputy-Prävention

Das Problem des verwirrten Stellvertreters ist ein Sicherheitsproblem, bei dem eine Entität, die keine Berechtigung zur Durchführung einer Aktion hat, eine privilegiertere Entität zur Durchführung der Aktion zwingen kann. In AWS kann ein dienstübergreifendes Identitätswechsels zum Problem des verwirrten Stellvertreters 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 Kontextschlüssel aws:SourceArnund die aws:SourceAccountglobalen Bedingungsschlüssel in Ihrer Rolle für die Ausführung von Zeitplänen zu verwenden, um die Berechtigungen einzuschränken, die EventBridge Scheduler einem anderen Dienst für den Zugriff auf die Ressource erteilt. 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 Bedingungskontext-Schlüssels aws:SourceArn mit dem vollständigen ARN der Ressource. Die folgende Bedingung ist auf eine einzelne Zeitplangruppe beschränkt: arn:aws:scheduler:*:123456789012:schedule-group/your-schedule-group

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:scheduler:*:123456789012:schedule-group/*.

Der Wert von aws:SourceArn muss Ihr EventBridge Scheduler-Zeitplangruppen-ARN sein, auf den Sie diese Bedingung eingrenzen möchten.

Wichtig

Beschränken Sie die aws:SourceArn Anweisung nicht auf einen bestimmten Zeitplan oder ein Zeitplannamenpräfix. Der von Ihnen angegebene ARN muss eine Zeitplangruppe sein.

Das folgende Beispiel zeigt, wie Sie die Kontextschlüssel aws:SourceArn und die aws:SourceAccount globalen Bedingungsschlüssel in Ihrer Vertrauensrichtlinie für die Ausführungsrolle verwenden können, um das Problem des verwirrten Stellvertreters zu verhindern:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012", "aws:SourceArn": "arn:aws:scheduler:us-west-2:123456789012:schedule-group/your-schedule-group" } } } ] }