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 ] 开启数据保护机制
list TrustedProjects 查看可信项目空间列表
add TrustedProject  添加可信项目空间
remove TrustedProject  移除可信项目空间

 

项目空间的权限管理

 

用户管理

语句
说明
list users 查看所有已添加进来的用户
add user  添加一个用户
remove user  移除一个用户

角色管理

语句
说明
list roles 查看所有已创建的角色
create role  创建一个角色
drop role  删除建一个角色
grant  to  对用户指派一个或多个角色
revoke  from  撤销对用户的角色指派

ACL授权

语句
说明
grant  on   to user  对用户授权
grant  on   to role  对角色授权
revoke  on   from user  撤销对用户的授权
revoke  on   from role  撤销对角色的授权

权限审查

语句
说明
whoami 查看当前用户信息
show grants [for ] [on type ] 查看用户权限和角色
show acl for  [on type ] 查看具体对象的授权信息
describe role  查看角色的授权信息和角色指派

 

详细授权

 

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权限是无法完成对应操作的。这与ODPS的内部实现相关。类似的,Table的Select权限也要与CreateInstance权限配合使用。使用时请注意。
  • 所有的授权操作都必须由具有以下三种身份之一的用户来完成:

    • 项目空间Owner
    • 项目空间中拥有admin角色的用户
    • 项目空间中对象创建者

 

样例

  1. use test_project; --打开项目空间
  2. add user aliyun$alice@aliyun.com; --添加用户
  3. add user aliyun$bob@aliyun.com; --添加用户
  4. create role worker; --创建角色
  5. grant worker TO aliyun$alice@aliyun.com; --角色指派
  6. grant worker TO aliyun$bob@aliyun.com; --角色指派
  7. grant CreateInstance, CreateResource, CreateFunction, CreateTable, List ON PROJECT test_project TO ROLE worker; --对角色授权

你可能感兴趣的:(ODPS 权限管理命令集合)