Yuta NakataのBlog

Python / AWS / ITについて役立つ情報を発信します

CfnでS3バケットを作成・削除、再作成すると、QuickSightのアクセス権外れるらしい

概要と結論

生じた問題

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的に設定できないかな....)