Serviceübergreifende Confused-Deputy-Prävention - AWS Clean Rooms

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 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 aws:SourceArnglobalen Bedingungskontextschlüssel in Ressourcenrichtlinien zu verwenden, um die Berechtigungen einzuschränken, die der AWSClean Rooms Ressource einen anderen Dienst gewähren. Verwenden Sie aws:SourceArn, wenn Sie nur eine Ressource mit dem betriebsübergreifenden Zugriff verknüpfen möchten.

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. AWSClean RoomsIn müssen Sie auch mit dem sts:ExternalId Bedingungsschlüssel vergleichen.

Der Wert von aws:SourceArn muss auf den ARN der Mitgliedschaft der übernommenen Rolle gesetzt werden.

Das folgende Beispiel zeigt, wie Sie den Kontextschlüssel für aws:SourceArn globale Bedingungen verwenden können, AWSClean Rooms um das Problem des verwirrten Stellvertreters zu vermeiden.

Anmerkung

Die Beispielrichtlinie bezieht sich auf die Vertrauensrichtlinie der Servicerolle, die für den Zugriff auf Daten und Metadaten für eine konfigurierte Tabelle AWS Clean Rooms verwendet wird.

Der Wert für <query-runner-membership-id> muss auf die Mitglieds-ID des Abfragerunners gesetzt werden.

Alle Mitglieder der Kollaboration können die konfigurierten Tabellenmetadaten einsehen, sodass jeder Mitglieds-ARN in der Mitgliedschaftsliste enthalten sein muss. ARNs

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIfExternalIdMatches", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "sts:ExternalId": "arn:aws:*:<aws-region>:*:dbuser:*/<query-runner-membership-id>*" } } }, { "Sid": "AllowIfSourceArnMatches", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ForAnyValue:ArnEquals": { "aws:SourceArn": [ "arn:aws:cleanrooms:<aws-region>:<member-1-account-id>:membership/<member-1-membership-id>", "arn:aws:cleanrooms:<aws-region>:<member-2-account-id>:membership/<member-2-membership-id>" ] } } } ] }