Beispiel: AppStream 2.0 Anwendung Amazon S3 Bucket Policy Cross-Service Confused Deputy Prevention - Amazon AppStream 2.0

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.

Beispiel: AppStream 2.0 Anwendung Amazon S3 Bucket Policy Cross-Service Confused Deputy Prevention

Wenn Sie Daten in einem Amazon-S3-Bucket speichern, ist der Bucket möglicherweise dem Problem des verwirrten Stellvertreters ausgesetzt. Dadurch können Daten wie Elastic-Flotten, Anwendungsblocks, Setup-Skripts, Anwendungssymbole und Sitzungsskripts anfällig für böswillige Akteure werden.

Um Probleme mit verwirrten Stellvertretern zu vermeiden, können Sie die aws:SourceAccount-Bedingung oder die aws:SourceArn-Bedingung in der Amazon-S3-Bucket-Richtlinie für ELASTIC-FLEET-EXAMPLE-BUCKET angeben.

Die folgenden Ressourcenrichtlinien zeigen, wie Sie das Problem des verwirrten Stellvertreters auf eine der folgenden Weisen vermeiden können:

  • Das aws:SourceAccount mit deiner AWS Konto-ID

  • Der globale Bedingungskontextschlüssel aws:SourceArn

AppStream 2.0 unterstützt derzeit nicht die Verhinderung verwirrter Stellvertreter für Anwendungssymbole. Der Dienst unterstützt nur VHD Dateien und Setup-Skripten. Wenn Sie versuchen, zusätzliche Bedingungen für Anwendungssymbole hinzuzufügen, werden die Symbole den Endbenutzern nicht angezeigt.

Im folgenden Beispiel erlaubt die Bucket-Richtlinie nur den Zugriff auf AppStream 2.0-Elastic-Flottenressourcen im Konto des BesitzersELASTIC_FLEET_EXAMPLE_BUCKET.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "appstream.amazonaws.com" }, "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET/vhd-folder/*", "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET/scripts/*" ], "Condition": { "StringEquals": { "aws:SourceAccount": "your AWS-Konto ID" } } }, { "Sid": "AllowRetrievalPermissionsToS3AppIconsForAppStream", "Effect": "Allow", "Principal": { "Service": "appstream.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET/app-icons/*" } ] }

Sie können die aws:SourceArn-Bedingung auch verwenden, um den Ressourcenzugriff für bestimmte Ressourcen zu beschränken.

Anmerkung

Wenn Sie eine Ressource nicht vollständig ARN kennen oder mehrere Ressourcen angeben möchten, verwenden Sie den aws:SourceArn globalen Kontextbedingungsschlüssel mit Platzhaltern (*) für die unbekannten Teile von. ARN

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "appstream.amazonaws.com" }, "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET/vhd-folder/*", "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET/scripts/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:{aws-partition}:appstream:{your region name}:{your AWS account ID}:app-block/*" } } }, { "Sid": "AllowRetrievalPermissionsToS3AppIconsForAppStream", "Effect": "Allow", "Principal": { "Service": "appstream.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET/app-icons/*" } ] }

Sie können die aws:SourceArn- und aws:SourceAccount-Bedingungen verwenden, um den Ressourcenzugriff für bestimmte Ressourcen und Konten zu beschränken.

Anmerkung

Wenn Sie nicht alle ARN Ressourcen kennen oder wenn Sie mehrere Ressourcen angeben möchten, verwenden Sie den aws:SourceArn globalen Kontextbedingungsschlüssel mit Platzhaltern (*) für die unbekannten Teile von. ARN

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "appstream.amazonaws.com" }, "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET/vhd-folder/*", "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET/scripts/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:{aws partition}:appstream:{your region name}:{your AWS account ID}:app-block/*" }, "StringEquals": { "aws:SourceAccount": "your AWS account ID" } } }, { "Sid": "AllowRetrievalPermissionsToS3AppIconsForAppStream", "Effect": "Allow", "Principal": { "Service": "appstream.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET/app-icons/*" } ] }