
# 对接LakeFormation场景授权操作说明
LakeFormation作为元数据与权限统一管理服务，负责对数据目录、数据库和表进行细粒度权限隔离。创建元数据后，需要为用户或委托配置数据访问权限，确保作业能够正常访问所需的元数据和数据资源。
对接LakeFormation场景的权限管理分为两个层面：
- **IAM云服务授权/委托** ：授权IAM用户或用户组使用LakeFormation服务的权限，或通过委托授权AI DataLake云服务代替您访问LakeFormation。IAM授权的具体操作请参考[创建用户并授权使用LakeFormation](https://support.huaweicloud.com/usermanual-lakeformation/lakeformation_03_00004.html)。
- **资源授权** ：在LakeFormation管理控制台对特定资源（Catalog、数据库、数据表、列和函数等）进行授权，控制用户或委托可以访问哪些具体元数据。
  例如，用户A可能只能访问table_1，用户B可能只能访问table_2。详情请参考[配置LakeFormation元数据权限](https://support.huaweicloud.com/usermanual-lakeformation/lakeformation_03_00014.html)。
  
不同引擎对接LakeFormation场景的授权操作如下表所示。
| 作业场景      | 操作主体  | IAM云服务授权（API调用权限）      | 资源授权（Catalog/数据库/表访问权限）                          | 相关文档                                                                                                         |
|:---|:---|:---|:---|:---|
| AuraJobV2 | IAM用户 | 创建IAM策略，并将该策略添加到用户/用户组 | 在LakeFormation控制台为用户、用户组、角色授权访问指定Catalog、数据库、数据表 | [AuraJobV2场景的LakeFormation授权](https://support.huaweicloud.com/usermanual-aidatalake/aidatalake_01_0094.html) |
| Spark SQL | IAM用户 | 创建IAM策略，并将该策略添加到用户/用户组 | 在LakeFormation控制台为用户、用户组、角色授权访问指定Catalog、数据库、数据表 | [Spark SQL场景的LakeFormation授权](https://support.huaweicloud.com/usermanual-aidatalake/aidatalake_01_0088.html) |
| Spark Job | 委托    | 创建IAM委托，在端点作业配置中选择委托。  | 在LakeFormation控制台为角色、委托授权访问指定Catalog、数据库、数据表     | [Spark Job场景的LakeFormation授权](https://support.huaweicloud.com/usermanual-aidatalake/aidatalake_01_0089.html) |
   
#### 相关问题：为什么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。
 
