aws lakeformation注册s3位置的原因

参考资料

向lakeformation注册s3位置的目的是让lakeformation控制对AWS S3 位置底层数据的访问(以下简称LF)

注册s3位置后可以进行两种授权

  • 数据访问授权(SELECTINSERTDELETE

  • 数据位置授权,在指定s3位置创建和修改元数据(在授权CREATE_TABLE或ALTER之后限制创建的位置)。

数据访问授权

注册第一个 Amazon S3 路径时,将代表您创建服务相关角色和新的内联策略。Lake Formation 将第一个路径添加到内联策略,并将其附加到服务相关角色

注册位置时可以选择角色,授予该角色对该位置的读/写权限,LF在向集成 AWS 服务提供临时凭证时承担该角色(例如,AWSServiceRoleForLakeFormationDataAccess)

注册结果如下

一些例外情景

  • 如果手动删除s3桶,可能出现权限无法删除的问题,需要手动创建s3桶并注册资源,之后重新解注册

  • 由于AWSServiceRoleForLakeFormationDataAccess为服务角色,因此无法修改策略。只能通过api修改,相关api为

    复制代码
    aws lakeformation deregister-resource --resource-arn arn:aws-cn:s3:::lakefowmation

具体的策略如下所示

走lakeformation路径的数据访问者需要lakeformation:GetDataAccess权限

Amazon Athena 要求用户具有该 lakeformation:GetDataAccess 权限。其他集成服务需要其基础执行角色才能具有该 lakeformation:GetDataAccess 权限

如果要对现有的glue data catalog进行管理,需要进行额外配置。推荐开启混合模式同时兼容IAM授权和lakeformation

  • 开启混合访问模式避免现有工作流中断
  • 若要在混合访问模式下共享数据目录数据库和表,需要将跨帐户版本设置更新到版本 4

使用 Lake Formation GetEffectivePermissionsForPath API 操作,可以确定引用 Amazon S3 位置的数据目录资源,以及对这些资源具有权限的委托人。

shell 复制代码
$ aws lakeformation get-effective-permissions-for-path --resource-arn arn:aws-cn:s3:::zhaojiew-datalake
{
    "Permissions": [],
    "NextToken": "eyJoYXZlQ2F0YWxvZ0VudGl0aWVzRXhoYXVzdGVkIjp0cnVlfQ=="
}

如果iam没有lakeformation权限或者表没有schema会出现没有找到column的报错,https://repost.aws/questions/QUkhhW1dHXSc-1yGXt-TR_5A/column-cannot-be-resolved-querying-athena-through-lambda-and-boto3

复制代码
The error "COLUMN_NOT_FOUND: line 1:8: SELECT * not allowed ..." typically occurs when (1) the user/role does not have sufficient permissions on the table in Lake Formation. (2) the table's classification is UNKNOWN or the table has no column definitions.

如果没有权限会出现s3的access denied报错

数据位置授权

数据位置权限使主体能够创建和更改指向指定已注册的 Amazon S3 位置的数据目录资源,例如alter和create table

数据位置授权之前,必须先注册数据位置到LF中。常见的错误包括glue crawler爬表出现lakeformation权限不足,表明没有权限在指定的s3位置创建表。

相关推荐
项目整合库17 小时前
Coinstore B.KU 数字金融与 RWA 主题活动圆满举行
大数据·金融
kekekka17 小时前
2026年软文营销平台深度甄选指南:破解选择困境,聚焦长效价值
大数据·媒体
华奥系科技17 小时前
老旧社区适老化智能改造,两个系统成社区标配项目
大数据·人工智能
Jackyzhe18 小时前
Flink源码阅读:Netty通信
大数据·flink
反向跟单策略18 小时前
期货反向跟单—高频换人能够提高跟单效率?
大数据·人工智能·学习·数据分析·区块链
Java 码农18 小时前
RabbitMQ集群部署方案及配置指南08--电商业务延迟队列定制化方案
大数据·分布式·rabbitmq
艾莉丝努力练剑18 小时前
【优选算法必刷100题:专题五】(位运算算法)第033~38题:判断字符是否唯一、丢失的数字、两整数之和、只出现一次的数字 II、消失的两个数字
java·大数据·运维·c++·人工智能·算法·位运算
渡我白衣18 小时前
计算机组成原理(14):算术逻辑单元ALU
大数据·人工智能·算法·机器学习·计组·数电·alu
韶关亿宏科技-光纤通信小易19 小时前
光模块-数字时代的算力传输纽带
大数据·网络
武子康19 小时前
大数据-208 岭回归与Lasso回归:区别、应用与选择指南
大数据·后端·机器学习