aws lakeformation工作流程和权限管理逻辑

lakeformation在IAM权限模型之外提供独立的更细粒度的权限,控制数据湖数据的访问

  • 能够提供列、行和单元格级别的精细控制

lakeformation的目的是要取代s3和iam策略,主要功能为

  • 数据摄入,LF可以将不同类型的数据统一管理
  • 安全管理,混合接入,访问日志,行和单元格级别的安全,TBAC控制

工作流程

权限管理的工作流如下图

元数据的访问权限

默认将所有数据库和表的权限设置到名为**IAMAllowedPrincipal**的virtual group(只在LF可见)

所有的iam用户之所以可以访问datalake中的元数据,是因为IAM主体和IAMAllowedPrincipal组进行了映射,如果需要转换到使用lakeformation权限,则需要revoke数据库和表对这个group的授权

  • 包括通过iam策略和Glue资源策略有权访问datacatalog的所有主体

  • 删除IAMAllowedPrincipal后LF将强制执行其他关联的策略

  • 保持账户级别的setting配置默认,IAMAllowedPrincipal在创建所有新数据库和表时都具有权限

数据湖管理员可以授权的权限有

  • 创建表和数据库的权限
  • 数据库和表级别控制权限
  • 数据存储位置权限
  • 隐式和显式授权

临时凭证签发

LF通过临时凭证自动签发的机制 为其他服务访问数据湖的数据,包括Athena、Redshift Spectrum、Amazon EMR、Amazon Glue、Amazon QuickSight 和 Amazon SageMaker,在授予权限时,用户无需更新其 Amazon S3 存储桶策略或 IAM 策略,也不需要直接访问 Amazon S3

即当user用户不具备目标底层数据s3的权限时,也能够通过athena查询表数据

跨账户共享数据

LF可实现数据库和表的

  • 账户内共享
  • 跨账户共享
  • 跨账户的某个IAM主体共享

LF使用Amazon Resource Access Manager(ARM)来促进账户之间的权限授予

数据湖管理员并不等于具备AdministratorAccess权限的用户(也不建议选取此类用户),能够向其他用户授权元数据和数据的访问权限。最多可以有30个数据湖管理员。但是具备AdministratorAccess权限的用户隐式为数据湖管理员plus

超级管理员(AdministratorAccess)具备以下权限才能创建数据湖管理员,超级管理员隐式具备以下权限

lakeformation:PutDataLakeSettings
lakeformation:GetDataLakeSettings

AWSLakeFormationDataAdmin策略包含如下deny策略,因此创建数据胡管理员用户实际上无法修改lakeformation setting

{
    "Effect": "Deny",
    "Action": [
        "lakeformation:PutDataLakeSettings"
    ],
    "Resource": "*"
}
相关推荐
Data 3172 小时前
Hive数仓操作(十一)
大数据·数据库·数据仓库·hive·hadoop
qtj-0013 小时前
普通人在刚开始做副业时要注意哪些细节?
大数据·微信·新媒体运营·创业创新
知识分享小能手3 小时前
mysql学习教程,从入门到精通,SQL 修改表(ALTER TABLE 语句)(29)
大数据·开发语言·数据库·sql·学习·mysql·数据分析
a6953188_3 小时前
如何评估一个副业项目的可行性?
大数据·微信·创业创新
州周4 小时前
Flink一点整理
大数据·flink
柚乐果果4 小时前
数据分析实战简例
java·大数据·python
Data 3174 小时前
Hive数仓操作(九)
大数据·数据仓库·hive·hadoop
丶21365 小时前
【大数据】Elasticsearch 实战应用总结
大数据·elasticsearch·搜索引擎
闲人编程5 小时前
elasticsearch实战应用
大数据·python·elasticsearch·实战应用
Data 3178 小时前
Hive数仓操作(三)
大数据·数据库·数据仓库·hive·hadoop