如何修改Redshift外部Schema的IAM Role?
修改Redshift外部Schema的IAM角色可行方案
Redshift不支持通过普通ALTER SCHEMA语句修改外部Schema的IAM角色,但可以使用ALTER EXTERNAL SCHEMA语句直接更新配置,无需销毁重建现有Schema。
正确的修改SQL语句
执行以下语句即可替换目标外部Schema的IAM角色:
ALTER EXTERNAL SCHEMA spectrum_schema SET IAM_ROLE 'arn:aws:iam::123456789012:role/moreBeautifulRole';
若需同时保留或更新catalog_role,可在同一条语句中指定:
ALTER EXTERNAL SCHEMA spectrum_schema SET IAM_ROLE 'arn:aws:iam::123456789012:role/moreBeautifulRole' CATALOG_ROLE 'arn:aws:iam::123456789012:role/myAthenaRole';
关键注意事项
- 执行操作的用户需拥有
ALTER EXTERNAL SCHEMA权限。 - 新指定的IAM角色必须具备访问对应外部数据目录(如Glue Data Catalog)和关联S3存储位置的权限,否则后续查询外部表会触发权限错误。
- 若需要配置多个IAM角色,可继续使用逗号分隔角色ARN的形式,例如:
IAM_ROLE 'arn:aws:iam::123456789012:role/role1,arn:aws:iam::123456789012:role/role2'。
内容的提问来源于stack exchange,提问作者Vzzarr
相关产品推荐
相关产品推荐

