MaxCompute 支持从多种维度查看权限,具体包括查看指定用户的权限、查看指定角色的权限、以及查看指定对象的授权列表。
在展现用户权限或角色权限时,MaxCompute 使用了如下的标记字符:A、C、D、G,它们的含义如下:
- A: 表示 Allow,即允许访问。
- D: 表示 Deny,即拒绝访问。
- C: 表示 with Condition,即为带条件的授权,只出现在 policy 授权体系中。
- G: 表示 with Grant option,即可以对 object 进行授权。
一个简单的展现权限的样例如下:
- odps@test_project> show grants for aliyun$odpstest1@aliyun.com
- [roles]
- dev
- Authorization Type: ACL
- [role/dev]
- A projects/test_project/tables/t1: Select
- [user/odpstest1@aliyun.com]
- A projects/test_project: CreateTable | CreateInstance | CreateFunction | List
- A projects/test_project/tables/t1: Describe | Select
- Authorization Type: Policy
- [role/dev]
- AC projects/test_project/tables/test_*: Describe
- DC projects/test_project/tables/alifinance_*: Select
- [user/odpstest1@aliyun.com]
- A projects/test_project: Create* | List
- AC projects/test_project/tables/alipay_*: Describe | Select
- Authorization Type: ObjectCreator
- AG projects/test_project/tables/t6: All
- AG projects/test_project/tables/t7: All
查看指定用户的权限
- show grants --查看当前用户自己的访问权限
- show grants for <username> --查看指定用户的访问权限,仅由 ProjectOwner 和 Admin 才能有执行权限 。
查看指定角色的权限
- describe role <rolename> --查看指定角色的访问权限角色指派
查看指定对象的授权列表
- show acl for <objectName> [on type <objectType>] --查看指定对象上的用户和角色授权列表
备注:
- 当省略 [on type <objectType>] 时,默认的 type 为 Table 。