天天看点

ODPS 权限管理命令集合项目空间的安全配置项目空间的权限管理详细授权注意点:样例

语句

说明

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>&lt;policy&gt;</code>]

开启数据保护机制

list trustedprojects

查看可信项目空间列表

add trustedproject <code>&lt;projectname&gt;</code>

添加可信项目空间

remove trustedproject <code>&lt;projectname&gt;</code>

移除可信项目空间

list users

查看所有已添加进来的用户

add user <code>&lt;username&gt;</code>

添加一个用户

remove user <code>&lt;username&gt;</code>

移除一个用户

list roles

查看所有已创建的角色

create role <code>&lt;rolename&gt;</code>

创建一个角色

drop role <code>&lt;rolename&gt;</code>

删除建一个角色

grant <code>&lt;rolelist&gt;</code> to <code>&lt;username&gt;</code>

对用户指派一个或多个角色

revoke <code>&lt;rolelist&gt;</code> from <code>&lt;username&gt;</code>

撤销对用户的角色指派

grant <code>&lt;privlist&gt;</code> on <code>&lt;objtype&gt;</code> <code>&lt;objname&gt;</code> to user <code>&lt;username&gt;</code>

对用户授权

grant <code>&lt;privlist&gt;</code> on <code>&lt;objtype&gt;</code> <code>&lt;objname&gt;</code> to role <code>&lt;rolename&gt;</code>

对角色授权

revoke <code>&lt;privlist&gt;</code> on <code>&lt;objtype&gt;</code> <code>&lt;objname&gt;</code> from user <code>&lt;username&gt;</code>

撤销对用户的授权

revoke <code>&lt;privlist&gt;</code> on <code>&lt;objtype&gt;</code> <code>&lt;objname&gt;</code> from role <code>&lt;rolename&gt;</code>

撤销对角色的授权

whoami

查看当前用户信息

show grants [for <code>&lt;username&gt;</code>] [on type <code>&lt;objecttype&gt;</code>]

查看用户权限和角色

show acl for <code>&lt;objectname&gt;</code> [on type <code>&lt;objecttype&gt;</code>]

查看具体对象的授权信息

describe role <code>&lt;rolename&gt;</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>

继续阅读