同一个dataworks工作空间下,能进行代码隔离吗?

同一个dataworks工作空间下,能进行代码隔离吗?

展开
收起
真的很搞笑 2023-12-31 07:59:54 86 分享 版权
阿里云 AI 助理回答

在DataWorks中,是否可以在同一个工作空间下实现代码隔离,取决于所使用的工作空间模式。以下是详细解答:


1. 简单模式下的代码隔离

在简单模式下,无法实现开发环境和生产环境的代码隔离
- 原因
- 简单模式仅支持一个环境(即生产环境),所有操作都在该环境中进行。 - 开发人员可以直接对生产环境中的表、资源、函数等进行操作,缺乏有效的隔离机制。 - 数据源也只有一个,无法区分开发和生产环境的数据源。

  • 风险
    • 开发角色默认拥有当前MaxCompute项目所有表的读写权限,可能导致数据被随意修改或删除,存在较大的数据安全风险。
    • 缺乏代码发布管控流程,开发人员可以随时新增、修改代码并提交至调度系统,可能引发生产环境的不稳定。

2. 标准模式下的代码隔离

在标准模式下,可以实现开发环境和生产环境的代码隔离
- 实现方式
- 数据源隔离:标准模式支持为开发环境和生产环境分别创建物理隔离的数据源。例如,开发环境和生产环境可以绑定不同的云实例、项目或数据库。 - 任务隔离:开发环境的任务默认不进行周期调度,仅在发布至生产环境后才会执行周期调度。 - 权限隔离:开发环境和生产环境使用不同的身份访问数据源。例如,开发环境默认以“任务执行者”身份运行任务,而生产环境则使用指定的身份(如阿里云主账号、RAM用户或RAM角色)执行调度任务。

  • 优势
    • 提供安全、规范的代码发布管控流程,包括代码评审、代码DIFF查看等功能,保障生产环境的稳定性。
    • 数据访问得到有效管控,避免因代码逻辑问题导致脏数据蔓延或任务报错等非预期情况。

3. 简单模式升级为标准模式

如果当前使用的是简单模式,并希望实现代码隔离,建议将工作空间升级为标准模式。
- 升级影响
- 升级后,数据源会被拆分为开发环境和生产环境两套配置,从而实现环境隔离。 - 开发环境和生产环境的代码、计算资源、权限等均会分离,提升开发流程的安全性和规范性。

  • 注意事项
    • 升级为标准模式后,原简单模式下的代码需要重新适配新的环境配置。
    • 升级过程不可逆,请确保在升级前备份重要数据。

4. 总结与建议

  • 如果您需要在同一工作空间下实现代码隔离,必须使用标准模式
  • 简单模式无法满足开发与生产环境的隔离需求,建议尽早升级为标准模式以获得更好的开发流程管控能力。

如果您正在使用简单模式并希望保留现有代码,可以通过创建两个简单模式工作空间(一个作为开发环境,一个作为生产环境)并通过跨空间发布的方式实现部分隔离,但这种方式存在生产环境代码更新入口不唯一的缺点,仍建议升级为标准模式。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

还有其他疑问?
咨询AI助理