S3バケットのアクセス権について

CloudformationでQuickSightのデータソースリソースを生成したときに起きた問題です。
まずはコンソールから手動でS3バケットからデータソースを作成しておりました。
その際に、コンソール上からS3バケットにアクセス権限を付与しました。
その後Cloudformationでデータソースリソースを生成した時、Permissionsでアクセス権限をグループに付与しました。
その後確認すると、以前手動で付与したアクセス権限が消えていました。
本番環境で手動で作成したリソースがあり、IaC化しようとする場合上記の問題を回避するためには、既存のIAMロールにてS3バケットへのアクセス権限を制御するのが好ましいでしょうか。
ほかに対処方法がありましたらご教授いただけますと幸いです。
既に作成済みのリソースへのアクセス権限がなくならないように出来、なおかつIaCで実現できるとうれしいです。

@YukiSekiya
ご質問いただいた内容からですと、以下の方法が最適かと思います。

  1. 必要な権限を事前に作成しておいて、後で必要なグループに付与する(IaCっぽくない)
  2. CloudFormationで必要な権限を作成し、毎回それを必要なグループに付与する(都度、不要な権限リソースができてしまう)
  3. CloudFormationで必要最低限な権限を追加で設定する実装をする

3の場合は、CloudFormationのスタック更新を使うと、差分更新が可能ですので、良いと思います。

2 Likes