如何使用Lake Formation向外部账号共享Glue表并解决共享后表不显示问题
Glue跨账号共享表未在目标账号显示的缺失排查步骤
源账号侧需补充的配置
- 补全数据湖位置权限:仅给表/数据库授予select、describe权限不够,还需要在Lake Formation控制台为外部账号授予对应数据湖位置(关联S3存储桶)的
describe和读写权限,否则目标账号无权拉取关联存储位置的表元数据。 - 确认Lake Formation授权生效:如果你的Glue资源受Lake Formation管控,必须在Lake Formation的「数据权限」模块完成授权,仅靠Glue原生权限或RAM共享无法完成元数据访问授权。
- 核实RAM共享资源范围:如果共享的是整个Glue数据库,需确认共享时已勾选「包含数据库下所有表」;如果是共享单表,需确认表名准确、未配置额外资源过滤规则。
- 补充S3存储桶权限:在源账号关联的S3桶策略中添加目标账号权限,至少开放以下动作:
s3:ListBucket s3:GetObject
目标账号侧需补充的操作
- 创建资源链接映射共享元数据:Glue默认不会直接展示跨账号共享的库表,需要进入Lake Formation控制台,找到「共享给我的资源」中的共享数据库/表,为其创建本地资源链接,创建完成后即可在Glue表列表、Athena等服务中看到对应的表。
- 核实当前操作身份的权限:确认你使用的IAM角色/用户在目标账号拥有
lakeformation:GetDataAccess、glue:GetDatabase、glue:GetTable权限,否则即使RAM已接受共享,也无法拉取共享元数据。
内容的提问来源于stack exchange,提问作者Rodrigo Marfei
相关产品推荐
相关产品推荐

