语句
说明
show securityconfiguration
查看项目空间的安全配置
set checkpermissionusingacl=true/false
激活/冻结acl授权机制
set checkpermissionusingpolicy=true/false
激活/冻结policy授权机制
set objectcreatorhasaccesspermission=true/false
允许/禁止对象创建者默认拥有访问权限
set objectcreatorhasgrantpermission=true/false
允许/禁止对象创建者默认拥有授权权限
set projectprotection=false
关闭数据保护机制
set projectprotection=true [with exception <code><policy></code>]
开启数据保护机制
list trustedprojects
查看可信项目空间列表
add trustedproject <code><projectname></code>
添加可信项目空间
remove trustedproject <code><projectname></code>
移除可信项目空间
list users
查看所有已添加进来的用户
add user <code><username></code>
添加一个用户
remove user <code><username></code>
移除一个用户
list roles
查看所有已创建的角色
create role <code><rolename></code>
创建一个角色
drop role <code><rolename></code>
删除建一个角色
grant <code><rolelist></code> to <code><username></code>
对用户指派一个或多个角色
revoke <code><rolelist></code> from <code><username></code>
撤销对用户的角色指派
grant <code><privlist></code> on <code><objtype></code> <code><objname></code> to user <code><username></code>
对用户授权
grant <code><privlist></code> on <code><objtype></code> <code><objname></code> to role <code><rolename></code>
对角色授权
revoke <code><privlist></code> on <code><objtype></code> <code><objname></code> from user <code><username></code>
撤销对用户的授权
revoke <code><privlist></code> on <code><objtype></code> <code><objname></code> from role <code><rolename></code>
撤销对角色的授权
whoami
查看当前用户信息
show grants [for <code><username></code>] [on type <code><objecttype></code>]
查看用户权限和角色
show acl for <code><objectname></code> [on type <code><objecttype></code>]
查看具体对象的授权信息
describe role <code><rolename></code>
查看角色的授权信息和角色指派
maxcompute 项目空间支持如下的对象类型及操作:
客体(object)
操作(action)
project
read
查看项目空间自身(不包括项目空间的任何对象)的信息,如createtime等
write
更新项目空间自身(不包括项目空间的任何对象)的信息,如comments
list
查看项目空间所有类型的对象列表
createtable
在项目空间中创建table
createinstance
在项目空间中创建instance
createfunction
在项目空间中创建function
createresource
在项目空间中创建resource
createjob
在项目空间中创建job
createvolume
在项目空间中创建volume
createofflinemodel
在项目空间中创建offlinemodel
createxflow
在项目空间中创建xflow
all
具备上述所有权限
table
describe
读取table的元信息
select
读取table的数据
alter
修改table的元信息,添加删除分区
update
覆盖或添加table的数据
drop
删除table
function
读取,及执行权限
更新
delete
删除
resource,instance, job, volume
读取
offlinemodel
xflow
execute
执行
上述权限描述中project类型对象的createtable操作,table类型的select、alter、update、drop操作需要与project对象的createinstance操作权限配合使用。单独使用上述几种权限而没有指派createinstance权限是无法完成对应操作的。这与odps的内部实现相关。类似的,table的select权限也要与createinstance权限配合使用。使用时请注意。 所有的授权操作都必须由具有以下三种身份之一的用户来完成: 项目空间owner 项目空间中拥有admin角色的用户 项目空间中对象创建者
<code>use test_project; --打开项目空间</code>
<code>add user [email protected]; --添加用户</code>
<code>add user [email protected]; --添加用户</code>
<code>create role worker; --创建角色</code>
<code>grant worker to [email protected]; --角色指派</code>
<code>grant worker to [email protected]; --角色指派</code>
<code>grant createinstance, createresource, createfunction, createtable, list on project test_project to role worker; --对角色授权</code>