数据湖探索全局变量一指通
使用场景
当客户使用DLI的Spark SQL或者Flink SQL的时候,SQL语句中会带有AK, SK或者密码等信息。而这些信息由于涉及客户数据信息安全,客户往往并不希望直接暴露在前端页面上。此外对于一些SQL作业中出现频率较高的参数,客户也可以通过创建非敏感变量,在SQL作业中进行复用提升SQL语句可读性。因此,必须要有一种功能,能够让客户隐藏敏感信息不暴露的同时不影响DLI的正常使用。于是,DLI全局变量管理功能诞生了
使用指导
l 点击DLI左侧导航栏“全局配置-全局变量”,然后点击创建变量,其中可以自行设置该变量是否为敏感变量。如果设置为敏感变量,则前端不会明文显示输入密码。
l 用户创建的全局变量仅允许在当前project以及子账号下使用,查看,修改及删除。因此project项目或者同一个子账号里不允许创建同名的全局变量。同时,客户也无法查看别的proect项目以及子账号下设置的全局变量信息,充分保证了全局变量私密性。客户除了新增/删除对应的全局变量之外,还可以对当前proect项目以及子账号下的所有变量值进行修改。
l 提交作业时,如果需要在SQL中引用全局变量,需要以{{xxx}}(xxx为需要引用的变量名),这种格式写入SQL语句中。当包含全局变量的作业被提交时,数据湖探索后端会自动检索提交的SQL语句,如果xxx是当前proect项目以及子账号下创建的全局变量则会替换生效。而如果xxx仅为常规字符串(并没有设置具体的全局变量),数据湖探索后端会正常将{{xxx}}作为SQL语句一部分进行提交。
l 作业提交运行后,数据湖探索团队严格遵循客户信息保密原则,客户设置的全局变量参数具体数值将不会在前端页面以及运行日志中打印,保证客户信息不泄密。
风险提示
创建表时,如果CREATE TABLE OPTIONS () 里配置了敏感变量,这些变量会以明文存储在外表或者OBS桶中,客户SHOW CREATE TABLE时会打印明文建表语句,客户信息安全不可控。因此数据湖探索团队不建议客户在建表语句的OPTIONS参数中使用敏感全局变量,以防客户安全信息泄露。
- 点赞
- 收藏
- 关注作者
评论(0)