View a markdown version of this page

Cross-service verwirrt, stellvertretender Vertreter der 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.

Cross-service verwirrt, stellvertretender Vertreter der 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. Ein AWS dienstübergreifender Identitätswechsel kann nämlich zu einem verwirrten Stellvertreterproblem führen. Cross-service Ein Identitätswechsel kann auftreten, wenn ein Dienst (der aufrufende Dienst) einen anderen Dienst (den aufgerufenen Dienst) anruft. Der anrufende Dienst kann so manipuliert werden, dass er seine Berechtigungen nutzt, um die Ressourcen eines anderen Kunden so zu nutzen, dass er sonst keine Zugriffsrechte 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 „Das verwirrte Stellvertreter-Problem“.

Wir empfehlen, die Schlüssel aws:SourceArn und den aws:SourceAccount globalen Bedingungskontext in den 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 Kontext-Bedingungsschlüssel mit Platzhalterzeichen (*) für die unbekannten Teile des ARN. Beispiel, arn:aws:transfer::region::account-id:server/*.

AWS Transfer Family verwendet die folgenden Rollentypen:

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

  • Zugriffsrolle — Bietet nur Zugriff auf die Amazon 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-Server-ARN.

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

  • Ausführungsrolle — Ermöglicht einem Transfer Family-Benutzer, Workflows aufzurufen und zu starten. Transfer Family übernimmt diese Rolle im Kontext eines Transfer Family-Workflows (ARN).

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

Anmerkung

Ersetzen Sie in den folgenden Beispielen jedes user input placeholder durch Ihre eigenen Informationen.

Anmerkung

In unseren Beispielen verwenden wir ArnLike sowohl als auchArnEquals. Sie sind funktionell identisch, und daher können Sie beide verwenden, wenn Sie Ihre Richtlinien erstellen. Transfer Family-Dokumentation wird verwendetArnLike, wenn die Bedingung ein Platzhalterzeichen enthält und ArnEquals um anzugeben, dass eine Bedingung exakt übereinstimmt.

AWS „Familie übertragen“: Benutzerrolle, dienstübergreifende Verwirrung, 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": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:us-east-1:123456789012: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": "123456789012" }, "ArnEquals": { "aws:SourceArn": "arn:aws:transfer:us-east-1:123456789012: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:us-east-1:123456789012:user/server-id/user-name" } } } ] }

AWS Workflow-Rolle „Familie übertragen“, dienstübergreifend, verwirrt, stellvertretender Mitarbeiter, Prävention

Die folgende Beispielrichtlinie ermöglicht es jedem Workflow 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": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:us-west-2:111122223333: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:us-west-2:111122223333:workflow/workflow-id" } } } ] }

AWS Familie, Verbindungsrolle übertragen, dienstübergreifend, verwirrt, stellvertretend, Prävention

Die folgende Beispielrichtlinie ermöglicht es jedem Connector 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": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:us-east-1:123456789012:connector/*" } } } ] }

Die folgende Beispielrichtlinie ermöglicht es einem bestimmten Connector, 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:us-east-1:123456789012:connector/connector-id" } } } ] }

AWS Übertragung der familiären Protokollierung und des Aufrufs der Rolle dienstübergreifend verwirrt, Stellvertreter, Prä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 Ihrem Server keine Workflows zugeordnet sind.

Die folgende logging/invocation Beispielrichtlinie 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": "111122223333" }, "ArnLike": { "aws:SourceArn": [ "arn:aws:transfer:us-west-2:111122223333:server/*", "arn:aws:transfer:us-west-2:111122223333:workflow/*" ] } } } ] }

Die folgende logging/invocation Beispielrichtlinie 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": "111122223333" }, "ArnEquals": { "aws:SourceArn": [ "arn:aws:transfer:us-west-2:111122223333:server/server-id", "arn:aws:transfer:us-west-2:111122223333:workflow/workflow-id" ] } } } ] }