
# 外部接口（高级特性）
外部接口用于对接第三方平台的接口，当前支持加密接口和通知接口。
- 加密类型：主要用于在数据开发导入数据文件时，根据数据入湖检测规则实时发现敏感数据后，调用外部接口所对接的第三方平台加密算法对文件数据进行加密处理。
- 消息通知类型：主要用于配置权限到期提醒时，通过选择外部接口，将权限到期提醒消息发送给外部接口所对接的第三方平台通知接口，供第三方平台分发消息。详见[配置权限到期提醒](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1195.html#dataartsstudio_01_1195__section15656731151113)。
![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
在新版本模式下仅当使用企业版时，才支持外部接口功能，旧版本模式使用基础版及更高版本时即可支持。外部接口功能当前在北京四、上海一内测（其他region后续会逐步放开，敬请期待！），但需申请白名单后才能使用。如需使用该特性，请联系客服或技术支持人员。
#### 前提条件
已在管理中心创建RestClient类型的数据连接，连接中的用户名和密码信息配置为第三方平台的认证凭据。请参考[创建DataArts Studio数据连接](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1299.html)。
#### 约束与限制
- 仅DAYU Administrator、Tenant Administrator、数据安全管理员可以创建、编辑、删除外部接口，其他普通用户无权限操作。
- 外部接口名称在DataArts Studio实例下不允许同名。
- 外部接口中的第三方平台的认证凭据依赖于RestClient数据连接。
 
#### 创建外部接口
1. [登录DataArts Studio管理控制台](https://console.huaweicloud.com/dayu/)。
   
   详情请参考[访问DataArts Studio实例控制台](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0001.html)。
   
   
2. 在DataArts Studio控制台首页，选择对应工作空间的"数据安全"模块，进入数据安全页面。
3. 单击数据安全左侧导航树中的"隐私保护管理 \> 数据加密"，在密钥管理页面选择"外部接口"页签，进入外部接口页签。 
   图1外部接口页面   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002516200462.png "点击放大")
   
   
   
4. 在外部接口页面单击"新建"，弹出新建接口窗口，参数配置参考[新建接口参数配置]。
   
   图2新建接口   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002176102614.png "点击放大")
   
    表1新建接口参数配置 
   | 参数名      | 参数设置                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   |:---|:---|
   | \*名称     | 接口名称，只能包含中文、英文字母、数字、"_"，且长度不能超过64个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | \*接口类型   | 包含加密和消息通知接口两种类型，请根据业务场景选择所需类型。 - 加密类型：主要用于在数据开发导入数据文件时，根据数据入湖检测规则实时发现敏感数据后，调用外部接口所对接的第三方平台加密算法对文件数据进行加密处理。  - 消息通知类型：主要用于配置权限到期提醒时，通过选择外部接口，将权限到期提醒消息发送给外部接口所对接的第三方平台通知接口，供第三方平台分发消息。详见[配置权限到期提醒](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1195.html#dataartsstudio_01_1195__section15656731151113)。                                                                                                  |
   | \*终端     | 终端地址，请输入第三方平台提供的接口公网地址。例如：https://example.com/encryption                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | \*请求方法   | 当前仅支持POST。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 请求头      | 输入接口的请求头，请根据第三方平台接口的规则填写。 说明： 请求头仅用于定义常规参数，请勿定义敏感信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 请求参数     | 输入接口的请求参数，请根据第三方平台接口的规则填写。 说明： 请求参数仅用于定义常规参数，请勿定义敏感信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | \*请求体    | 输入接口的请求体，此处填写的请求体主要用于外部接口的连通性测试，请根据第三方平台接口的规则填写。在业务场景下调用外部接口时，系统会自动填写请求体，无需手动填写。 说明： 请求体仅用于定义常规参数，请勿定义敏感信息。 第三方平台不同类型接口的请求体格式有所差异，可参考系统默认样例： - 加密类型接口。 ``` { "scene_code":"testConnectivity", "headers":["phone"], "values":[["12310002000"]] } ```   - 消息通知类型接口。 ``` { "subject" : "test message", "message_structure" : { "default": "test", "sms": "test" }, "message_attributes" : [ { "name" : "user_name", "type" : "STRING_ARRAY", "value" : [ "test" ] } ] } ```    |
   | 加密交互方式   | 仅当接口类型为加密时，需要填写。 包含行存加密和列存加密两种方式，加密交互方式不影响最终结果。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | \*接口认证方式 | 当前仅支持用户名密码认证。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | \*数据连接   | 选择RestClient类型的数据连接，连接中的用户名密码将作为第三方平台认证凭据进行鉴权。 发送请求时，将会以{X-Client-Access-Key: RestClient数据连接用户名，X-Client-Secret-Key: RestClient数据连接密码} 的键值对方式添加到请求头中。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | \*代理集群名称 | 选择网络代理的CDM集群。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      
   
   
5. 配置完成后，单击连通性测试。连通性测试会将外部接口信息封装，转发给CDM集群，由CDM集群使用https发送请求到外部加密接口，通过外部响应值来判断连通性。 
   测试通过后则可以单击"确定"，完成创建。
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
   如果连通性测试报错：404 Not Found，则需要联系客服或技术支持人员升级CDM集群中的dlg_agent版本。
   
   
 
#### 相关操作
- 编辑外部接口：在外部接口页面，单击对应操作栏中的"编辑"，即可编辑外部接口。
- 删除外部接口：在外部接口页面，单击对应操作栏中的"删除"，即可删除外部接口。当需要批量删除时，可以在勾选外部接口后，在列表上方单击"批量删除"。
  ![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
  删除操作无法撤销，请谨慎操作。
  
 
