Serviceübergreifende Confused-Deputy-Prävention - AWS Transfer Family

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. Bei AWS dienststellenübergreifendem Identitätswechsel kann es zu einem Problem mit verwirrtem Stellvertreter kommen. Ein serviceübergreifender Identitätswechsel kann auftreten, wenn ein Service (der Anruf-Service) einen anderen Service anruft (den aufgerufenen Service). Der anrufende Service kann so manipuliert werden, dass er seine Berechtigungen nutzt, um auf die Ressourcen eines anderen Kunden so einzuwirken, dass er sonst keine Zugriffsberechtigung hätte. 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. Eine ausführliche Beschreibung dieses Problems finden Sie im IAM-Benutzerhandbuch unter The Confused Deputy Problem.

Wir empfehlen, die Kontextschlüssel aws:SourceArnund die aws:SourceAccountglobalen Bedingungsschlüssel in Ressourcenrichtlinien zu verwenden, um die Berechtigungen einzuschränken, die AWS Transfer Family für die Ressource hat. 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 Weg, um sich vor dem Confused-Deputy-Problem zu schützen, ist die Verwendung des exakten Amazon-Ressourcennamens (ARN) der Ressource, die Sie zulassen möchten. Wenn Sie mehrere Ressourcen angeben, verwenden Sie den aws:SourceArn globalen Kontextbedingungsschlüssel mit Platzhalterzeichen (*) für die unbekannten Teile des ARN. z. B. arn:aws:transfer::region::account-id:server/*.

AWS Transfer Family verwendet die folgenden Rollentypen:

  • Benutzerrolle — Ermöglicht dienstverwalteten Benutzern den Zugriff auf die erforderlichen Transfer Family Family-Ressourcen. AWS Transfer Family übernimmt diese Rolle im Kontext eines Transfer Family Family-Benutzer-ARN.

  • Zugriffsrolle — Ermöglicht den Zugriff nur auf die Amazon S3 S3-Dateien, die übertragen werden. Für eingehende AS2-Übertragungen verwendet die Zugriffsrolle den Amazon-Ressourcennamen (ARN) für die Vereinbarung. Für ausgehende AS2-Übertragungen verwendet die Zugriffsrolle den ARN für den Connector.

  • Aufrufrolle — Zur Verwendung mit Amazon API Gateway als benutzerdefiniertem Identitätsanbieter des Servers. Transfer Family übernimmt diese Rolle im Kontext eines Transfer Family Family-Servers ARN.

  • Rolle „Protokollierung“ — Wird verwendet, um Einträge bei Amazon zu protokollieren CloudWatch. Transfer Family verwendet diese Rolle, um Erfolgs- und Fehlschlagsdetails sowie Informationen zu Dateiübertragungen zu protokollieren. Transfer Family übernimmt diese Rolle im Kontext eines Transfer Family Family-Servers ARN. Für ausgehende AS2-Übertragungen verwendet die Protokollierungsrolle den Connector-ARN.

  • Ausführungsrolle — Ermöglicht es einem Transfer Family Family-Benutzer, Workflows aufzurufen und zu starten. Transfer Family übernimmt diese Rolle im Zusammenhang mit einem Transfer Family Family-Workflow-ARN.

Weitere Informationen finden Sie unter Richtlinien und Berechtigungen in IAM im -IAM-Benutzerhandbuch.

Anmerkung

Ersetzen Sie in den folgenden Beispielen alle Platzhalter für Benutzereingabe durch Ihre eigenen Informationen.

Anmerkung

In unseren Beispielen verwenden wir ArnLike sowohl als auchArnEquals. Sie sind funktionell identisch, weshalb Sie beide verwenden können, wenn Sie Ihre Richtlinien erstellen. Die Dokumentation Transfer Family verwendetArnLike, wenn die Bedingung ein Platzhalterzeichen enthält, und ArnEquals um eine exakte Übereinstimmungsbedingung anzugeben.

AWS Transfer Family Benutzerrolle dienstübergreifend verwirrter Stellvertreter Prävention

Die folgende Beispielrichtlinie ermöglicht es jedem Benutzer eines beliebigen Servers im Konto, die Rolle zu übernehmen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region:account-id:user/*" } } } ] }

Die folgende Beispielrichtlinie ermöglicht es jedem Benutzer eines bestimmten Servers, die Rolle zu übernehmen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnEquals": { "aws:SourceArn": "arn:aws:transfer:region:account-id:user/server-id/*" } } } ] }

Die folgende Beispielrichtlinie ermöglicht es einem bestimmten Benutzer eines bestimmten Servers, die Rolle zu übernehmen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region:account-id:user/server-id/user-name" } } } ] }

AWS Transfer Family Arbeitsablauf Rolle dienstübergreifend verwirrt stellvertretend Prävention

Mit der folgenden Beispielrichtlinie kann jeder Workflow im Konto diese Rolle übernehmen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region:account-id:workflow/*" } } } ] }

Die folgende Beispielrichtlinie ermöglicht es einem bestimmten Workflow, die Rolle zu übernehmen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region:account-id:workflow/workflow-id" } } } ] }

AWS Transfer Family Familienprotokollierung und Anrufrolle dienstübergreifend verwirrte Stellvertreterprävention

Anmerkung

Die folgenden Beispiele können sowohl für Protokollierungs- als auch für Aufrufrollen verwendet werden.

In diesen Beispielen können Sie die ARN-Details für einen Workflow entfernen, wenn an Ihren Server keine Workflows angehängt sind.

Das folgende Beispiel für eine Protokollierungs-/Aufruf-Richtlinie ermöglicht es jedem Server (und Workflow) im Konto, die Rolle zu übernehmen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllServersWithWorkflowAttached", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": [ "arn:aws:transfer:region:account-id:server/*", "arn:aws:transfer:region:account-id:workflow/*" ] } } } ] }

Das folgende Beispiel für eine Protokollierungs-/Aufruf-Richtlinie ermöglicht es einem bestimmten Server (und Workflow), die Rolle zu übernehmen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSpecificServerWithWorkflowAttached", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnEquals": { "aws:SourceArn": [ "arn:aws:transfer:region:account-id:server/server-id", "arn:aws:transfer:region:account-id:workflow/workflow-id" ] } } } ] }