DLF Data Share是阿里云DLF(Data Lake Formation)产品中实现跨账号数据协作的核心功能,通过标准化流程帮助用户安全高效地管理数据权限与访问。本文档详细阐述了数据共享的全流程,包括Provider(提供者)如何创建共享资源、管理接收方账号,以及Receiver(接收者)如何配置目录并访问共享数据,帮助您轻松实现跨账号的数据协作与权限管控。
关键术语与使用限制
| 术语 | 描述 | 使用限制 | 
| Provider | 数据共享的提供者,可管理共享资源及接收方。 | 提供方需为阿里云主账号,或被赋予DLF super_administrator或 DLF admin角色的RAM用户。 | 
| Receiver | 数据共享的接收者,需为阿里云主账号,且已开通和使用DLF产品。 | 
 | 
| Share | 共享的逻辑容器,包含Catalog、Database、Table资源,共享的最小粒度为表。 | 
 | 
| Share Catalog | 接收方在Share上创建的目录,用于访问共享资源。 | 
 | 
- 只有阿里云主账号或被赋予DLF super_administrator或 DLF admin角色的RAM用户,可以管理Share和Receiver,以及创建Share Catalog。 
- 子账号需由阿里云主账号或被赋予DLF super_administrator或 DLF admin角色的RAM用户,授权访问Share Catalog。 
共享数据
步骤一:创建共享
登录时,需使用阿里云主账号,或被赋予DLF super_administrator或 DLF admin角色的RAM用户。
- 登录数据湖构建控制台。 
- 在左侧导航栏,单击数据目录,进入数据目录页面。 
- 单击数据共享页签,进入数据共享页面。 
- 在我共享的页签,单击创建分享,填写以下信息,单击确定。 - 名称:共享名称,自定义,唯一标识符。 
- 描述:可选,自定义。 
 
步骤二:选择共享资源
- 在我共享的分享列表中,单击目标名称操作列的选择资源,进入选择资源页面。 
- 在选择资源下拉框中,选择要共享的Catalog。 
- 在全部资源页签,勾选该Catalog下的Database或Table。 
- 在已选择资源页签,可确认选择的共享资源,单击确定。 
当前支持三种类型的共享资源:
- 共享Catalog下的所有库、表资源。 
- 共享Database下的所有表资源。 
- 共享表资源。 
步骤三:创建接收者
- 在我共享的页签,单击接收者管理,进入接收者管理页面。 
- 单击添加接收者,填写以下信息,单击确定。 - 名称:接收者名称,自定义。 
- 接收者唯一标识:阿里云主账号ID。 
- 描述:可选,自定义。 
 
步骤四:管理共享
- 在我共享的分享列表中,可查看共享的资源列表。 
- 单击目标名称操作列的授权,进入授权页面。 - 授予共享:在左侧列表中,勾选接收人,单击  图标,移动到共享列表中,单击确定,授予接收者共享。 图标,移动到共享列表中,单击确定,授予接收者共享。
- 撤销共享:在右侧列表中,勾选接收人,单击  图标,从共享列表中移除,单击确定,终止共享关系。 图标,从共享列表中移除,单击确定,终止共享关系。
 
接收数据
步骤一:查看可用共享
登录时,需使用阿里云主账号,或被赋予DLF super_administrator或 DLF admin角色的RAM用户。
- 登录数据湖构建控制台。 
- 在左侧导航栏,单击数据目录,进入数据目录页面。 
- 单击数据共享页签,进入数据共享页面。 
- 单击我接收的页签,可查看Provider发送的共享列表。 
步骤二:创建Share Catalog
- 在我接收的列表中,单击目标名称操作列的创建Catalog。 
- 在弹出的对话框中,输入名称,单击确定,系统将生成共享目录。 
- 可单击Catalogs页签,查看Share Catalog。 
步骤三:授权访问Share Catalog
- 在Catalogs页签,单击目标Share Catalog,进入Catalog详情页。 
- 单击权限页签,单击授权,在弹出的授权页面,配置以下信息,单击确定。 - 配置项 - 说明 - 用户/角色 - 可对用户或角色授权。 - 选择授权角色 - 用户:目前仅支持RAM用户和RAM角色。 
- 角色:支持系统内置角色和自定义角色。更多角色介绍,请参见角色管理。 
 - 权限 - 勾选相应权限,可对数据目录下所有资源授权。 说明- Share Catalog仅支持Catalog级别的细粒度ACL授权。 
步骤四:读取共享数据
通过引擎访问共享表数据(仅支持读操作)。Share Catalog支持的元数据API列表如下。
OpenAPI
| 分类 | OpenAPI | 
| 数据库 | 
 | 
| 数据表 | 
 | 
| 分区 | 
 | 
Rest API
| 分类 | OpenAPI | 
| 数据库 | 
 | 
| 数据表 | 
 | 
| 分区 | 
 | 
如何删除共享
- 在Provider的页签,单击目标共享名称操作列的选择资源。 
- 在选择资源页面,单击选择资源下拉框中的  图标,单击确定。 图标,单击确定。
- 在我共享的列表中,单击目标共享名称操作列的删除。 - 删除成功后,在Receiver的Catalog列表中,目标Share Catalog会显示共享已删除。