概要と結論
生じた問題
QuickSightのセキュリティ・アクセス権限から、特定のS3バケットを選択して、このバケットを使っています。
CloudFormationを用いて、
S3バケットの作成
を行ったのち、アクセス権の追加を行い、S3バケットを作成したCloudFormationを削除します。
この後、改めてS3バケットをを作成するCloudFormationを実行すると、QSのアクセス権は外れていました。
以下、関係図です。
詳細
S3バケットを作成した、CloudFormationは以下の通りです。
AWSTemplateFormatVersion: '2010-09-09' Parameters: S3BucketName: Description: Type of this BacketName. Type: String Resources: S3Bucket: Type: AWS::S3::Bucket Properties: BucketName: !Sub ${S3BucketName} AccessControl: Private PublicAccessBlockConfiguration: BlockPublicAcls: True BlockPublicPolicy: True IgnorePublicAcls: True RestrictPublicBuckets: True
このCloudFormationを使って、S3バケットをdeployします。
QuickSightについては、セキュリティとアクセス権から、今回使用するS3バケットに、読み込み権限とAthenaへの書き込み権限を与えます。
私が使っているケースでは、データセットはAthenaを使用しています。
AthenaはS3バケットを参照しています。
(言われてみれば、当たり前ですが、QSのアクセス権とセキュリティ周りもIac的に設定できないかな....)