天天看點

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>

繼續閱讀