예: AppStream 2.0 Application Amazon S3 버킷 정책 교차 서비스 혼동 대리자 방지 - Amazon AppStream 2.0

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

예: AppStream 2.0 Application Amazon S3 버킷 정책 교차 서비스 혼동 대리자 방지

Amazon S3 버킷에 데이터를 저장하는 경우 버킷이 혼동된 대리자 문제에 노출될 수 있습니다. 이로 인해 Elastic 플릿, 앱 블록, 설정 스크립트, 애플리케이션 아이콘, 세션 스크립트와 같은 데이터가 악의적인 행위자에게 취약해질 수 있습니다.

혼동된 대리자 문제를 방지하기 위해 ELASTIC-FLEET-EXAMPLE-BUCKET에 대한 Amazon S3 버킷 정책에 aws:SourceAccount 조건 또는 aws:SourceArn 조건을 지정할 수 있습니다.

아래 리소스 정책은 다음 중 하나로 혼동된 대리자 문제를 방지하는 방법을 보여줍니다.

  • AWS 계정 ID가 aws:SourceAccount 있는

  • 전역 조건 컨텍스트 키 aws:SourceArn

AppStream 2.0은 현재 애플리케이션 아이콘에 대해 혼동된 대리자 방지를 지원하지 않습니다. 서비스는 VHD 파일 및 설정 스크립트만 지원합니다. 애플리케이션 아이콘에 추가 조건을 추가하려고 하면 아이콘이 최종 사용자에게 표시되지 않습니다.

다음 예에서 버킷 정책은 소유자 계정의 AppStream 2.0 Elastic 플릿 리소스만 에 액세스할 수 있도록 허용합니다ELASTIC_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 계정 ID" } } }, { "Sid": "AllowRetrievalPermissionsToS3AppIconsForAppStream", "Effect": "Allow", "Principal": { "Service": "appstream.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::ELASTIC-FLEET-EXAMPLE-BUCKET/app-icons/*" } ] }

aws:SourceArn 조건을 사용하여 특정 리소스에 대한 리소스 액세스를 제한할 수도 있습니다.

참고

리소스 ARN 전체를 모르거나 여러 리소스를 지정하려는 경우 의 알 수 없는 부분에 와일드카드(*)와 함께 aws:SourceArn 전역 컨텍스트 조건 키를 사용합니다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/*" } ] }

aws:SourceArnaws:SourceAccount 조건을 사용하여 특정 리소스 및 계정에 대한 리소스 액세스를 제한할 수도 있습니다.

참고

리소스 ARN 전체를 모르는 경우 또는 여러 리소스를 지정하려는 경우 의 알 수 없는 부분에 와일드카드(*)와 함께 aws:SourceArn 전역 컨텍스트 조건 키를 사용합니다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/*" } ] }