更新时间:2024-05-11 GMT+08:00

更新委托权限

DLI更新委托权限是为了进行权限最小化配置,在满足实际业务使用的同时,避免权限过大的风险。

为了解决该问题,做到更细粒度的委托权限控制,DLI升级了系统委托,将原有的dli_admin_agency升级为dli_management_agency,新的委托包含获取IAM用户信息、跨源操作、消息通知所需的权限。有效避免DLI相关联服务权限不受控制的问题。升级后的DLI委托灵活性更强,更适合中大型企业场景化定制委托的需求。

其他类型委托的使用需求,例如允许DLI读写OBS将日志转储、允许DLI在访问DEW获取数据访问凭证场景的委托需求等,都需要用户自行在IAM页面创建相关委托,并在作业配置中添加新建的委托信息。具体操作请参考自定义DLI委托权限常见场景的委托权限策略

  • 使用Flink 1.15和Spark 3.3.1(Spark通用队列场景)及以上版本的引擎执行作业时,需自行在IAM页面创建相关委托。
  • 引擎版本低于Flink1.15,执行作业时默认使用dli_admin_agency;引擎版本低于Spark 3.3.1,执行作业时使用用户认证信息(AKSK、SecurityToken)。

    即引擎版本低于Flink1.15和Spark 3.3.1版本的作业不受更新委托权限的影响,无需自定义委托。

本节操作介绍更新DLI委托的操作步骤。

约束限制

  • DLI服务授权需要区分项目,请在每个需要新委托的项目分别执行更新委托操作,即切换至对应项目后,再按照本节的操作更新委托权限。
  • dli_management_agency包含的三个权限中:
    • IAM ReadOnlyAccess授权范围是全局服务资源,授权范围不区分区域:
      • 任意区域在更新DLI委托时选择了该权限,那么所有区域的项目都将生效。
      • 任意项目在更新委托时未勾选该权限,代表回收该权限,那么所有区域的项目都将回收该权限,即所有项目无法正常获取IAM用户相关信息。

        更新时请务必勾选IAM ReadOnlyAccess,因IAM ReadOnlyAccess授权范围是全局服务资源,如果去勾选该权限后更新委托,则所有区域和项目的IAM ReadOnlyAccess都将失效。

    • DLI Datasource Connections Agency Access、DLI Notification Agency Access授权范围是指定区域项目资源:

      仅在勾选该权限且更新DLI委托权限后的项目生效。未勾选该权限的项目不具备跨源场景所需权限、和SMN发送通知消息的权限。

    示例1示例2给出了同一个区域的不同项目更新DLI委托带来的委托权限差异。

更新DLI委托权限

  1. 在DLI控制台左侧导航栏中单击“全局配置 > 服务授权”。
  2. 在委托设置页面,按需选择以下场景的权限。

    单击权限卡片上的可以查看包含的详细的权限策略。

    委托说明如表1所示。
    表1 dli_management_agency委托包含的权限

    适用场景

    委托名

    权限说明

    基础使用

    IAM ReadOnlyAccess

    DLI对未登录过DLI的用户进行授权时,需获取IAM用户相关信息。因此需要IAM ReadOnlyAccess权限。

    IAM ReadOnlyAccess是全局权限,请务必勾选该权限,否则IAM ReadOnlyAccess权限将在所有区域失效,系统将无法正常获取IAM用户相关信息。

    跨源场景

    DLI Datasource Connections Agency Access

    访问和使用VPC、子网、路由、对等连接的权限

    运维场景

    DLI Notification Agency Access

    作业执行失败需要通过SMN发送通知消息的权限

  3. 单击选择dli_management_agency需要包含的权限,并单击“更新委托权限”。
    图1 更新委托权限
  4. 查看并了解更新委托的提示信息,单击“确定”。完成DLI委托权限的更新。
    • 更新委托权限后,系统将升级您的dli_admin_agency为dli_management_agency,新的委托包含跨源操作、消息通知、用户授权操作所需的权限。
    • 使用Flink 1.15和Spark 3.3.1(Spark通用队列场景)及以上版本的引擎执行作业时,需完成以下配置操作:
      需用户自行在IAM页面创建相关委托,并在作业配置中添加新建的委托信息。具体操作请参考自定义DLI委托权限
      • 常见新建委托场景:允许DLI读写OBS数据、日志转储、Flink checkopoint;允许DLI在访问DEW获取数据访问凭证、允许访问Catalog获取元数据等场景。
      • 委托名称不可与系统默认委托重复,即不可以是dli_admin_agency、dli_management_agency、dli_data_clean_agency。
    • 引擎版本低于Flink1.15,执行作业时默认使用dli_admin_agency,引擎版本低于Spark 3.3.1,执行作业时使用用户认证信息(AKSK、SecurityToken)。
    • 为兼容存量的作业委托权限需求,dli_admin_agency仍为您保留在IAM委托中。
    • 请勿删除系统默认创建的委托。

DLI系统委托中没有我需要的委托怎么办?

当您在使用DLI过程中所需的委托没有包含在DLI系统委托dli_management_agency时,您需要在IAM页面创建相关委托,并在作业配置中添加新建的委托信息。

常见的需要自建委托的场景:

  • DLI表生命周期清理数据及Lakehouse表数据清理所需的数据清理委托。需用户自行在IAM创建名为dli_data_clean_agency的DLI云服务委托并授权。该委托需新建后自定义权限,但委托名称固定为dli_data_clean_agency。
  • DLI Flink作业访问和使用OBS、日志转储(包括桶授权)、开启checkpoint、作业导入导出等,需要获得访问和使用OBS(对象存储服务)的Tenant Administrator权限。
  • DLI Flink作业所需的AKSK存储在数据加密服务DEW中,如需允许DLI在执行作业时访问DEW数据,需要新建委托将DEW数据操作权限委托给DLI,允许DLI服务以您的身份访问DEW服务。
  • 允许DLI在执行作业时访问DLI Catalog元数据,需要新建委托将DLI Catelog数据操作权限委托给DLI,允许DLI服务以您的身份访问DLI Catalog元数据。
  • DLI Flink作业所需的云数据存储在LakeFormation中,如需允许DLI在执行作业时访问Catalog获取元数据,需要新建委托将Catelog数据操作权限委托给DLI,允许DLI服务以您的身份访问Catalog元数据。

新建委托时,请注意委托名称不可与系统默认委托重复,即不可以是dli_admin_agency、dli_management_agency、dli_data_clean_agency。

更多自定义委托的操作请参考自定义DLI委托权限常见场景的委托权限策略

示例1

  • 操作说明:某DLI用户按系统的指引在华北-北京四的项目A将原有的dli_admin_agency升级为dli_management_agency:
    1. 在DLI管理控制台,切换至华北-北京四区域下的项目A,选择“全局配置 > 服务授权”。
    2. 勾选基础使用、跨源场景、运维场景的权限。
      图2 华北-北京四的项目A更新委托权限示意图
    3. 单击“更新委托权限”。
  • 权限说明:华北-北京四的项目A按上述操作步骤更新委托权限后,
    • 由于IAM ReadOnlyAccess授权范围是全局服务资源,所以所有区域和项目均具备该权限。
    • 而跨源场景的权限“DLI Datasource Connections Agency Access”和消息通知的权限“DLI Notification Agency Access”是区域级权限,所以仅在华北-北京四的项目A生效。

      华北-北京四的项目A委托权限示例

      华北-北京四的项目B委托权限示例

      dli_management_agency

      包含以下权限:

      • IAM ReadOnlyAccess
      • DLI Datasource Connections Agency Access
      • DLI Notification Agency Access

      dli_management_agency

      包含以下权限:

      • IAM ReadOnlyAccess

示例2

操作说明:如需在华北-北京四的项目B授权跨源场景的权限和消息通知的权限,需按如下操作更新华北-北京四的项目B的委托权限。

  1. 在DLI管理控制台,切换至华北-北京四的项目B,选择“全局配置 > 服务授权”。
  2. 勾选基础使用、跨源场景、运维场景的权限。

    项目B更新时请务必勾选IAM ReadOnlyAccess,因IAM ReadOnlyAccess授权范围是全局服务资源,如果去勾选该权限后更新委托,则所有区域和项目的IAM ReadOnlyAccess都将失效。

    图3 华北-北京四的项目B更新委托权限示意图
  3. 单击“更新委托权限”。

权限说明:

由于跨源场景的权限“DLI Datasource Connections Agency Access”和消息通知的权限“DLI Notification Agency Access”的授权范围是指定区域项目资源,因此按上述操作步骤更新委托权限后,华北-北京四的项目B将同时具备获取IAM用户相关信息的权限、跨源场景的权限和消息通知的权限。

区域A委托权限示例

区域B委托权限示例

dli_management_agency

包含以下权限:

  • IAM ReadOnlyAccess
  • DLI Datasource Connections Agency Access
  • DLI Notification Agency Access

dli_management_agency

包含以下权限:

  • IAM ReadOnlyAccess
  • DLI Datasource Connections Agency Access
  • DLI Notification Agency Access