AWS QuickSight数据集迁移至其他用户后编辑/刷新失败问题
AWS QuickSight 原数据集创建者删除后共享所有者无法编辑问题解决方案
问题根源
基于Athena创建的QuickSight数据集,权限分为两层:QuickSight内部的资源共享权限,以及底层关联的Athena、S3、Glue数据目录的IAM访问权限。原创建者账号删除后,即使你通过内部共享获得了数据集的OWNER权限,数据集底层绑定的访问凭证依旧关联已删除的原用户账号,因此编辑操作会触发权限校验失败。
错误信息图示:
修复步骤
- 配置底层资源权限:给当前持有数据集OWNER权限的用户配置对应的IAM权限,包含Athena查询执行权限、数据集用到的S3存储桶读写权限、Glue数据目录对应库表的访问权限。同时进入QuickSight控制台的「安全与权限」-「QuickSight访问AWS服务」设置,确认当前用户所属的命名空间已经开放Athena、S3、Glue的访问授权。
- 重新关联数据源:使用持有OWNER权限的用户打开目标数据集的编辑页面,在顶部数据源选项中选择「替换数据源」,用当前用户的权限重新关联同一个Athena数据源,保存修改后数据集的底层访问凭证就会更新为当前用户的权限。
- 验证权限继承:完成上述操作后先测试当前用户的编辑功能是否正常,再将数据集共享给其他用户并授予编辑权限,验证被共享用户的编辑操作是否可以正常执行。
- 极端情况修复:如果上述操作无法生效,可以通过AWS CLI调用
update-data-set接口强制更新数据集的所有者主体:- 先调用
describe-data-set导出当前数据集的物理表、逻辑表配置文件,避免原有配置丢失 - 执行更新命令:
aws quicksight update-data-set \ --aws-account-id <你的AWS账号ID> \ --data-set-id <目标数据集ID> \ --name <数据集名称> \ --physical-table-map file://<导出的物理表配置文件路径> \ --logical-table-map file://<导出的逻辑表配置文件路径> \ --import-mode <SPICE|DIRECT_QUERY> - 先调用
注:执行CLI命令前需要确保执行命令的身份拥有QuickSight的管理员权限
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

