很多用户对MaxCompute多租户数据安全体系感兴趣,我们将对其进行系统介绍,主要包括如下内容:
基本术语
- project:项目空间,MaxCompute提供给用户自助管理的基本单元。
- 访问控制:检查一个请求是否可信并合法。
- ACL:访问控制列表,一种授权的表达方式。
- Policy:基于规则的一种授权表达方式。
- Role:权限的集合,用于实现基于角色的权限管理方式。
- LabelSecurity:基于标签的访问控制,用于实现列级别的权限管理。
- ProjectProtection:项目空间保护,用于开启数据流向访问控制。
- TruestedProject:信任的项目空间,用于项目空间数据流向访问控制授权。
- ExceptionPolicy:项目空间保护机制的例外情况的一种描述,项目空间数据流向访问控制授权。
- Package:项目空间之间资源分享的媒介。
MaxCompute访问控制整体架构
- 身份认证:访问MaxCompute首先需要进行身份认证。
- 请求源检查(IP白名单):检查提交访问请求的IP,确保该IP在IP白名单内,方可访问MaxCompute。
- 项目空间状态检查:常用于运营或运维,假设MaxCompute欠费导致项目冻结,此时任何请求都不能传递至MaxCompute。
- LabelSecurity检查:列级别敏感数据的访问控制。
- Role/Policy/ACL:最后进行对角色的权限检查,以及Policy和ACL权限检查。
DataWorks权限管理与MaxCompute权限管理
数据角色 | MaxCompute角色 | 权限描述 |
---|---|---|
管理员 | role project admin | Project内所有表的读写权限 |
开发 | role project dev | Project内所有表的读写权限 |
运维 | role project pe | Project内所有表的读权限 |
部署 | role project deploy | ------- |
访客 | role project guest | ------- |