MaxCompute支持从多种维度查看权限,具体包括查看指定用户的权限、查看指定角色的权限、以及查看指定对象的授权列表。

在展现用户权限或角色权限时,MaxCompute使用如下标记字符:
  • 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>; --查看指定用户的访问权限,只有Project Owner和Admin才有执行权限。
show grants for RAM$主帐号:子帐号; --查看RAM子帐号权限。

示例

  • 查看指定用户云账号bob@aliyun.com在当前项目空间的权限
    show grants for ALIYUN$bob@aliyun.com;
  • 查看RAM子帐号RAM$bob@aliyun.com:Alice在当前项目空间的权限
    show grants for RAM$bob@aliyun.com:Alice;

查看指定角色的权限

describe role ; --查看指定角色的访问权限角色指派。
说明 公共云环境下,describe role目前只显示Project和Table的对象授权类型ACL信息,其它对象(例如Function、Resource、Instance、Job)的授权类型ACL不显示。

查看指定对象的授权列表

show acl for <objectName> [on type <objectType>]; --查看指定对象上的用户和角色授权列表。
说明 当省略[on type <objectType>]时,默认的type为Table。