使用 IAM 策略管理管理员对主文件夹和应用程序设置持久性的 Amazon S3 存储桶的访问权限 - Amazon AppStream on

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 IAM 策略管理管理员对主文件夹和应用程序设置持久性的 Amazon S3 存储桶的访问权限

以下示例演示如何使用 IAM 策略来管理对 Amazon S3 存储桶的访问,以实现主文件夹和应用程序设置持久化。

删除用于主文件夹和应用程序设置持久性的 Amazon S3 存储桶

AppStream 2.0 向其创建的存储桶添加了 Amazon S3 存储桶策略,以防止它们被意外删除。要删除 S3 存储桶,必须先删除 S3 存储桶策略。下面是必须删除的用于主文件夹和应用程序设置持久性的存储桶策略。

主文件夹策略

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PreventAccidentalDeletionOfBucket", "Effect": "Deny", "Principal": "*", "Action": "s3:DeleteBucket", "Resource": "arn:aws:s3:::appstream2-36fb080bb8-region-code-account-id-without-hyphens" } ] }

应用程序设置持久性策略

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PreventAccidentalDeletionOfBucket", "Effect": "Deny", "Principal": "*", "Action": "s3:DeleteBucket", "Resource": "arn:aws:s3:::appstream-app-settings-region-code-account-id-without-hyphens-unique-identifier" } ] }

有关更多信息,请参阅 Amazon Simple Storage Service 用户指南中的删除或清空存储

限制管理员对主文件夹和应用程序设置持久性的 Amazon S3 存储桶的访问权限

默认情况下,可以访问 AppStream 2.0 创建的 Amazon S3 存储桶的管理员可以查看和修改用户主文件夹和永久应用程序设置中的内容。要限制管理员对包含用户文件的 S3 存储桶的访问,我们建议根据以下模板应用 S3 存储桶访问策略:

{ "Sid": "RestrictedAccess", "Effect": "Deny", "NotPrincipal": { "AWS": [ "arn:aws:iam::account:role/service-role/AmazonAppStreamServiceAccess", "arn:aws:sts::account:assumed-role/AmazonAppStreamServiceAccess/PhotonSession", "arn:aws:iam::account:user/IAM-user-name" ] }, "Action": "s3:*", "Resource": "arn:aws:s3:::home-folder-or-application-settings-persistence-s3-bucket-region-account" } ] }

此策略仅允许指定用户和 AppStream 2.0 服务访问 S3 存储桶。对于每个应具有访问权限的 IAM 用户,复制以下行:

"arn:aws:iam::account:user/IAM-user-name"

在以下示例中,该策略限制除了 IAM 用户 marymajor 和 johnstiles 以外的任何人访问主文件夹 S3 存储桶。它还允许使用账户编号 123456789012 访问位于美国西部AWS地区(俄勒冈)的 AppStream 2.0 服务。

{ "Sid": "RestrictedAccess", "Effect": "Deny", "NotPrincipal": { "AWS": [ "arn:aws:iam::123456789012:role/service-role/AmazonAppStreamServiceAccess", "arn:aws:sts::123456789012:assumed-role/AmazonAppStreamServiceAccess/PhotonSession", "arn:aws:iam::123456789012:user/marymajor", "arn:aws:iam::123456789012:user/johnstiles" ] }, "Action": "s3:*", "Resource": "arn:aws:s3:::appstream2-36fb080bb8-us-west-2-123456789012" } ] }