Vermeidung des dienstübergreifenden Confused-Deputy-Problems - Amazon Relational Database Service

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.

Vermeidung des dienstübergreifenden Confused-Deputy-Problems

Das Confused-Deputy-Problem ist ein Sicherheitsproblem, bei dem eine Entität, die nicht über die Berechtigung zum Ausführen einer Aktion verfügt, eine Entität mit größeren Rechten zwingen kann, die Aktion auszuführen. In AWS kann ein dienstübergreifendes Identitätswechsels zu einem Problem mit dem verwirrten Stellvertreter führen.

Ein serviceübergreifender Identitätswechsel kann auftreten, wenn ein Service (der Anruf-Service) einen anderen Service anruft (den aufgerufenen Service). Der aufrufende Dienst kann so manipuliert werden, dass er seine Berechtigungen verwendet, um auf die Ressourcen eines anderen Kunden zu reagieren, auf die er sonst nicht zugreifen dürfte. Um dies zu verhindern, AWS bietet Tools, mit denen Sie Ihre Daten für alle Dienste mit Dienstprinzipalen schützen können, denen Zugriff auf Ressourcen in Ihrem Konto gewährt wurde. Weitere Informationen finden Sie unter Das Problem des verwirrten Stellvertreters im IAM-Benutzerhandbuch.

Wir empfehlen die Verwendung der globalen Bedingungskontextschlüssel aws:SourceArn und aws:SourceAccount in ressourcenbasierten Richtlinien, um die Berechtigungen, die Amazon RDS einem anderen Service erteilt, auf eine bestimmte Ressource zu beschränken.

In einigen Fällen enthält der aws:SourceArn-Wert nicht die Konto-ID, z. B. wenn Sie den Amazon-Ressourcennamen (ARN) für einen Amazon-S3-Bucket verwenden. Stellen Sie in diesen Fällen sicher, dass Sie beide globalen Kontextschlüssel für die Bedingung verwenden, um Berechtigungen einzuschränken. In einigen Fällen verwenden Sie beide globalen Bedingungskontextschlüssel und der aws:SourceArn-Wert enthält die Konto-ID. Stellen Sie in diesen Fällen sicher, dass der aws:SourceAccount-Wert und das Konto im aws:SourceArn dieselbe Konto-ID verwenden, wenn sie in derselben Richtlinienanweisung verwendet werden. Wenn Sie nur eine Ressource mit dem betriebsübergreifenden Zugriff verknüpfen möchten, verwenden Sie aws:SourceArn. Wenn Sie zulassen möchten, dass eine Ressource im angegebenen AWS Konto der dienstübergreifenden Nutzung zugeordnet wird, verwenden Sie. aws:SourceAccount

Stellen Sie sicher, dass der Wert von aws:SourceArn ein ARN für einen Amazon-RDS-Ressourcentyp ist. Weitere Informationen finden Sie unter Amazon-Ressourcennamen (ARNs) in Amazon RDS.

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. In einigen Fällen kennen Sie möglicherweise den vollständigen ARN der Ressource nicht oder Sie geben möglicherweise mehrere Ressourcen an. Verwenden Sie in diesen Fällen die globalen aws:SourceArn-Kontextbedingungsschlüssel mit Platzhaltern (*) für die unbekannten Teile des ARN. Ein Beispiel ist arn:aws:rds:*:123456789012:*.

Das folgende Beispiel zeigt, wie Sie die globalen Bedingungskontextschlüssel aws:SourceArn und aws:SourceAccount für Amazon RDS verwenden können, um das Confused-Deputy-Problem zu verhindern.

JSON
{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:rds:us-east-1:123456789012:db:mydbinstance" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } }

Weitere Beispiele für Richtlinien, die die globalen Bedingungskontextschlüssel aws:SourceArn und aws:SourceAccount verwenden, finden Sie in den folgenden Abschnitten: