数据湖探索 DLI-DLI对接LakeFormation:步骤4:授权使用LakeFormation资源

时间:2024-12-27 08:18:37

步骤4:授权使用LakeFormation资源

  • SQL作业场景

    在进行SQL作业提交之前,需完成LakeFormation元数据、数据库、表、列和函数等资源授权,确保作业在执行过程中能够顺利访问所需的数据和资源。LakeFormation SQL资源权限支持列表提供了LakeFormation权限支持列表。

    使用LakeFormation资源需要分别完成LakeFormation的 IAM 细粒度授权和LakeFormation SQL资源授权。

    • LakeFormation的IAM细粒度授权:授权使用LakeFormation API。

      IAM服务通常提供了管理用户、组和角色的访问权限的方式。您可以在IAM控制台中创建策略(Policy),定义哪些用户或角色可以调用LakeFormation的API。然后,将这些策略附加到相应的用户或角色上。

      • 方法1:基于角色授权:

        即IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。

        例如参考LakeFormation权限管理授予用户只读权限,允许查询LakeFormation相关元数据资源的权限。

        或如下示例授予LakeFormation相关元数据资源的所有操作权限。

        示例:

        {
            "Version": "1.1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "lakeformation:table:*",
                        "lakeformation:database:*",
                        "lakeformation:catalog:*",
                        "lakeformation:function:*",         
                        "lakeformation:transaction:*",
                        "lakeformation:policy:describe",
                        "lakeformation:credential:describe"
                    ]
                }
            ]
        }
      • 方法2:基于策略的精细化授权:

        IAM提供的细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。

        LakeFormation权限策略请参考LakeFormation权限和授权项

        IAM授权的具体操作请参考创建用户并授权使用LakeFormation

    • LakeFormation SQL资源授权:授权使用LakeFormation具体资源(元数据、数据库、表、列和函数等)。

      LakeFormation资源授权是指允许用户对特定资源的访问的权限,以此来控制对LakeFormation的数据和元数据的访问。

      LakeFormation资源授权有两种方式:

      • 方式一:在LakeFormation管理控制台对资源授权。

        具体操作请参考LakeFormation用户指南中的新增授权

        了解LakeFormation SQL资源权限请参考数据权限概述

      • 方式二:在 DLI 管理控制台使用GRANT SQL语句授权

        GRANT语句是SQL语言中用于授权的一种方式。

        您可以使用GRANT语句来授予用户或角色对数据库、表、列、函数等的访问权限。

        LakeFormation SQL资源权限支持列表提供了LakeFormation资源授权的策略。

        Catalog资源暂时不支持在DLI SQL授权,请参考▪方式一:在LakeFormation管理控制台...在LakeFormation 管理控制台完成授权。

  • Spark Jar、Flink OpenSource SQL、Flink Jar作业场景:
    • 方式1:使用委托授权:使用Spark 3.3.1及以上版本、Flink 1.15版本的引擎执行作业时,需要您先在IAM页面创建相关委托,并在配置作业时添加新建的委托信息。

      委托权限示例请参考创建DLI自定义委托权限常见场景的委托权限策略

    • 方式2:使用DEW授权:
      • 已为授予IAM用户所需的IAM和Lakeformation权限,具体请参考•SQL作业场景的IAM授权的操作步骤。
      • 已在DEW服务创建通用凭证,并存入凭据值。具体操作请参考创建通用凭据
      • 已创建DLI访问DEW的委托并完成委托授权。该委托需具备以下权限:
        • DEW中的查询凭据的版本与凭据值ShowSecretVersion接口权限,csms:secretVersion:get。
        • DEW中的查询凭据的版本列表ListSecretVersions接口权限,csms:secretVersion:list。
        • DEW解密凭据的权限,kms:dek:decrypt。

        委托权限示例请参考创建DLI自定义委托权限常见场景的委托权限策略

support.huaweicloud.com/usermanual-dli/dli_01_0629.html