MaxCompute安全模型
安全体系
MaxCompute 多租户的数据安全体系,主要包括如下内容:
用户认证。
支持 云账号 和 RAM 账号 两种账号体系,对于RAM账号,仅识别账号体系不识别RAM权限体系,即可将主账号自身的任意 RAM 子账号加入 MaxCompute 的某一个项目中,但 MaxCompute 在对该 RAM 子账号做权限验证时,并不会考虑 RAM 中的权限定义。
用户与授权管理。
在MaxCompute Project中对用户添加(add)、移除(remove)、授权(grant)管理。
还可以通过角色(role)管理授权,MaxCompute project默认有admin role。
而授权方式包含ACL和Policy方式,本文只讲ACL方式,Policy方式待后续升级篇中介绍。
ACL即似于 SQL92 定义的 GRANT/REVOKE 语法,它通过简单的授权语句来完成对已存在的项目空间对象的授权或撤销授权。授权语法如下:
grant actions on object to subject
revoke actions on object from subject
标签安全策略
基于标签的安全(LabelSecurity)是项目空间级别的一种强制访问控制策略(Mandatory Access Control, MAC),它的引入是为了让项目空间管理员能更加灵活地控制用户对列级别敏感数据的访问。
跨项目空间的资源分享。
Package是一种跨项目空间共享数据及资源的机制,主要用于解决跨项目空间的用户授权问题。即可以分享table、Resource、function等资源给其他项目,但是无需对其他项目的用户进行管理。
项目空间的数据保护。
主要解决“不允许用户将数据转移到项目空间之外”的需求。