Spark对接LakeFormation数据权限管理
Spark SQL作业场景
IAM用户在提交Spark SQL作业前,必须完成LakeFormation元数据、数据库、表、列和函数等资源的授权,以确保作业能够顺利访问所需数据。Hive、DataSource和Iceberg格式中各SQL语句的权限请参考SparkSQL-SQL鉴权和SparkJob-SQL鉴权。
使用LakeFormation资源需要分别完成LakeFormation API的IAM细粒度授权和LakeFormation SQL资源授权。
- LakeFormation的IAM细粒度授权:授权使用LakeFormation API。
IAM服务通常提供了用户和用户组的访问权限的方式。您可以在IAM控制台中创建自定义策略(Policy),定义可以调用哪些LakeFormation的API。然后,将这些策略附加到相应的用户或用户组上。
IAM授权的具体操作请参考创建用户并授权使用LakeFormation。
- LakeFormation SQL资源授权:授权使用LakeFormation具体资源。
LakeFormation资源授权是指允许用户对特定资源(元数据、数据库、表、列和函数等)的访问的权限,以此来控制对LakeFormation的数据和元数据的访问。
在LakeFormation管理控制台,对资源授权。目前Spark SQL支持用户组、角色、用户三种主体类型。
了解LakeFormation SQL资源权限请参考配置LakeFormation元数据权限。
Spark Job作业场景
委托在提交Spark Job作业前,必须完成LakeFormation元数据、数据库、表、列和函数等资源的授权,以确保作业能够顺利访问所需数据。Hive、DataSource和Iceberg格式中各SQL语句的权限请参考SparkSQL-SQL鉴权和SparkJob-SQL鉴权。
在使用LakeFormation资源需要分别完成LakeFormation API的授权和LakeFormation SQL资源授权。
- 使用委托,授权使用LakeFormation API。
使用Spark Job执行作业时,需要您先在IAM页面创建相关委托,并在配置作业时添加新建的委托信息。委托权限示例请参考创建自定义委托。
- LakeFormation SQL资源授权:授权使用LakeFormation具体资源。
LakeFormation资源授权是指允许用户对特定资源(元数据、数据库、表、列和函数等)的访问的权限,以此来控制对LakeFormation的数据和元数据的访问。
在LakeFormation管理控制台,对资源授权。Spark Job支持角色和委托两种主体类型。
了解LakeFormation SQL资源权限请参考配置LakeFormation元数据权限。