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" } ] }