对接LakeFormation场景授权操作说明
LakeFormation作为元数据与权限统一管理服务,负责对数据目录、数据库和表进行细粒度权限隔离。创建元数据后,需要为用户或委托配置数据访问权限,确保作业能够正常访问所需的元数据和数据资源。
对接LakeFormation场景的权限管理分为两个层面:
- IAM云服务授权/委托:授权IAM用户或用户组使用LakeFormation服务的权限,或通过委托授权AI DataLake云服务代替您访问LakeFormation。IAM授权的具体操作请参考创建用户并授权使用LakeFormation。
- 资源授权:在LakeFormation管理控制台对特定资源(Catalog、数据库、数据表、列和函数等)进行授权,控制用户或委托可以访问哪些具体元数据。
例如,用户A可能只能访问table_1,用户B可能只能访问table_2。详情请参考配置LakeFormation元数据权限。
不同引擎对接LakeFormation场景的授权操作如下表所示。
| 作业场景 | 操作主体 | IAM云服务授权(API调用权限) | 资源授权(Catalog/数据库/表访问权限) | 相关文档 |
|---|---|---|---|---|
| AuraJobV2 | IAM用户 | 创建IAM策略,并将该策略添加到用户/用户组 | 在LakeFormation控制台为用户、用户组、角色授权访问指定Catalog、数据库、数据表 | |
| Spark SQL | IAM用户 | 创建IAM策略,并将该策略添加到用户/用户组 | 在LakeFormation控制台为用户、用户组、角色授权访问指定Catalog、数据库、数据表 | |
| Spark Job | 委托 | 创建IAM委托,在端点作业配置中选择委托。 | 在LakeFormation控制台为角色、委托授权访问指定Catalog、数据库、数据表 |
相关问题:为什么Spark SQL和AuraJobV2使用的是用户身份,而Spark Job使用委托身份?
- Spark SQL / AuraJobV2:用户在控制台或通过API直接提交SQL,AI DataLake以用户身份转发请求到LakeFormation,因此API授权直接给用户或用户组配置策略。
- Spark Job:用户提交Jar包后,作业托管给AI DataLake在Spark集群后台运行,操作者变为AI DataLake云服务,因此需通过委托授权AI DataLake访问LakeFormation。