Serviceübergreifende Confused-Deputy-Prävention - AWS Kostenmanagement

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 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 Ressourcenrichtlinien zu verwenden, um die Berechtigungen auf die Ressource zu beschränken, die die Funktionen von AWS Cost Management einem anderen Dienst gewähren können. 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 Schutz vor dem Problem mit dem verwirrten Stellvertreter besteht darin, den aws:SourceArn globalen Bedingungskontextschlüssel mit ARN der gesamten Ressource zu verwenden. Wenn Sie die gesamte ARN Ressource nicht kennen oder wenn Sie mehrere Ressourcen angeben, verwenden Sie den aws:SourceArn globalen Kontextbedingungsschlüssel mit Platzhaltern (*) für die unbekannten Teile von. ARN Beispiel, arn:aws:servicename::123456789012:*. Für AWS Budgets aws:SourceArn muss der Wert von sein. arn:aws:budgets::123456789012:budget/*

Das folgende Beispiel zeigt, wie Sie die Kontextschlüssel aws:SourceArn und die aws:SourceAccount globalen Bedingungsschlüssel in AWS Budgets verwenden können, um das Problem des verwirrten Stellvertreters zu vermeiden.

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