Q in QuickSight データストーリー作成ユーザーを削除したらデータストーリーが操作できなくなった
コーヒーが好きな emi です。
Q in QuickSight でトピックを作成し、作成者ユーザーを削除しても問題ないことを以下のブログで書きました。
データストーリーに関しては気を付けないといけない挙動がありましたので本ブログで共有します。
結論とイメージ図
データストーリーは 2025/3/17 時点でどうも他のユーザーには閲覧者(Viewer)権限でしか共有できず、さらに API 操作がサポートされていないため、データストーリーを作成したユーザーを削除してしまうと他のユーザーでは編集や削除ができないことが分かりました。
本情報は AWS 公式ドキュメントには載っていないようなのですが、QuickSight Community に GA 前の情報としては存在していました。
- Data Stories に関する API が見当たらない
- Data Stories の共有手順のページでは共同編集可能な権限について記載がない
- QuickSight Community に GA 前の情報としては存在
例えば、test-user でデータストーリーを作成するとします。
データストーリーは他のユーザーに閲覧者としてしか共有できず、共同所有者などの権限は付与できません。
この状態で test-user を削除すると、他のユーザーからは見えるが、削除できないデータストーリーが残ってしまいます。
検証
1. データストーリーを作成しユーザーを削除
test-user(赤枠で表現)でデータストーリーを作成し、他のユーザーに閲覧者として共有します。今回は q-in-quicksight-author というグループに閲覧者権限を付与します。
権限は閲覧者しか選択できません。q-in-quicksight-author には管理者プロロールのユーザーしか含まれていないのですが、共有時は閲覧者権限しか選択できませんでした。
この状態で test-user を削除してみます。
閲覧者として共有されたユーザー(青枠で表現)からは、以下のように
- 表示
- Save a Copy
しか選択できないようになっています。このユーザーは管理者プロなのですが、編集や削除はできないようです。
データストーリー自体は開けますが、画面左右に編集するためのメニューは出てこず、右上に「SAVE A COPY」ボタンがあるのみです。
逆に言うと、このデータストーリーをコピーしてこれをもとに別のデータストーリーを作れば編集は可能なのですが、元のデータストーリーはやはり削除できず残ってしまいます。
2. 削除した test-user を再作成してデータストーリーを削除
元のデータストーリーを作成した test-user は IAM 権限のある QuickSight ユーザーでした。IAM ユーザーは残っていたので、再度この IAM ユーザーから QuickSight の test-user を作成してみます。
IAM ユーザーで AWS マネジメントコンソールにログインし、QuickSight コンソールに遷移します。
QuickSight ユーザーを自己プロビジョニングします。
test-user が再作成されました。
データストーリー画面を開くと、データストーリーが見えています!
同じ名前でユーザーを作成すると同じユーザーとして認識されるのか、IAM 権限が共通だったから見えたのか……などはちょっと分からないのですが、これまでの経験上消せなくなった AWS リソースは同じ名前のユーザーやロールなどを作成すると消せることがあったので試してみたところ、うまくいきそうです。
データストーリーの三点リーダをクリックすると、閲覧権限のユーザー同様
- 表示
- Save a Copy
しか選択できないようになっています。おそらく再作成した test-user にプロ権限がないかと予想し、ユーザーの管理画面を見てみます。
やはりプロ権限がなく、ただの管理者でした。権限を変更します。
削除前同様、著者プロ(Author Pro)権限に変更します。
著者プロに変更できました。
再度 test-user でデータストーリーを確認します。
「削除」が出てきました!
削除すると、データストーリーが無くなりきれいになりました。
終わりに
以下を確認しました。
- データストーリーを他のユーザーに共有する際は閲覧者権限でしか共有できない
- データストーリーを作成したユーザーを削除すると他のユーザーは編集や削除ができない
- ユーザーを再作成しプロ権限を付与すると編集や削除ができる
データストーリーを作成したユーザーを削除したい場合は、以下のワークアラウンドで対応すると良いと思います。
- 他のユーザーに閲覧者権限で共有
- 閲覧者権限の他のユーザーでコピーを作成
- 元のデータストーリーを削除
- ユーザーを削除
本記事への質問やご要望については画面下部のお問い合わせ「DevelopersIO について」からご連絡ください。記事に関してお問い合わせいただけます。