IAM ポリシーを使用したホームフォルダおよびアプリケーション設定の永続化用の Amazon S3 バケットへの管理者アクセスの管理 - Amazon AppStream 2.0

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 ユーザーガイドの「Deleting or Emptying a Bucket」を参照してください。

ホームフォルダおよびアプリケーション設定の永続化用の 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"

次のポリシー例では、marymajor と johnstiles を除くすべての IAM ユーザーに対して、ホームフォルダの S3 バケットへのアクセスを制限します。また、AWS リージョンとして米国西部 (オレゴン)、アカウント ID として 123456789012 に限り、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" } ] }