授权操作一般涉及到三个要素:主体(Subject,可以是用户也可以是角色),客体(Object)和操作(Action)。在MaxCompute 中,主体是指用户或角色,客体是指项目空间中的各种类型对象,操作则与特定对象类型有关,不同类型的对象支持的操作也不尽相同 。
MaxCompute 项目空间支持如下的对象类型及操作:
客体(Object) | 操作(Action) | 说明 |
Project | Read | 查看项目空间自身(不包括项目空间的任何对象)的信息,如CreateTime 等 |
Project | Write | 更新项目空间自身(不包括项目空间的任何对象)的信息,如 Comments |
Project | List | 查看项目空间所有类型的对象列表 |
Project | CreateTable | 在项目空间中创建 Table |
Project | CreateInstance | 在项目空间中创建 Instance |
Project | CreateFunction | 在项目空间中创建 Function |
Project | CreateResource | 在项目空间中创建 Resource |
Project | CreateJob | 在项目空间中创建 Job |
Project | CreateVolume | 在项目空间中创建 Volume |
Project | CreateOfflineModel | 在项目空间中创建 OfflineModel |
Project | CreateXflow | 在项目空间中创建 Xflow |
Project | All | 具备上述所有权限 |
Table | Describe | 读取 Table 的元信息 |
Table | Select | 读取 Table 的数据 |
Table | Alter | 修改 Table 的元信息,添加删除分区 |
Table | Update | 覆盖或添加 Table 的数据 |
Table | Drop | 删除 Table |
Table | All | 具备上述所有权限 |
Function | Read | 读取,及执行权限 |
Function | Write | 更新 |
Function | Delete | 删除 |
Function | All | 具备上述所有权限 |
Resource,Instance, Job, Volume | Read | 读取 |
Resource,Instance, Job, Volume | Write | 更新 |
Resource,Instance, Job, Volume | Delete | 删除 |
Resource,Instance, Job, Volume | All | 具备上述所有权限 |
OfflineModel | Read | 读取 |
OfflineModel | Write | 更新 |
OfflineModel | Delete | 删除 |
OfflineModel | All | 具备上述所有权限 |
Xflow | Read | 读取 |
Xflow | Write | 更新 |
Xflow | Execute | 执行 |
Xflow | Delete | 删除 |
Xflow | All | 具备上述所有权限 |
备注:
上述权限描述中 Project 类型对象的 CreateTable 操作,Table类型的Select、Alter、Update、Drop 操作需要与 Project 对象的 CreateInstance 操作权限配合使用。单独使用上述几种权限而没有指派 CreateInstance 权限是无法完成对应操作的。这与 MaxCompute的内部实现相关。同样,Table 的 Select 权限也要与 CreateInstance 权限配合使用 。
使用时请注意:在添加用户或创建角色之后,需要对用户或角色进行授权 。MaxCompute 授权是一种基于对象的授权。通过授权的权限数据(即访问控制列表, Access Control List)被看做是该对象的一种子资源。只有当对象已经存在时,才能进行授权操作;当对象被删除时,通过授权的权限数据会被自动删除。MaxCompute 授权支持类似于 SQL92定义的 GRANT/REVOKE 语法,它通过简单的授权语句来完成对已存在的项目空间对象的授权或撤销授权 。
备注:大数据开发套件中同样需要添加成员并为其授权,具体操作请参见: 如何添加成员及授权 。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。