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 才能有执行权限 。

示例如下:

假设需要查看用户云账号 bob@aliyun.com 在当前项目空间的权限,需要在客户端可以执行如下命令:
show grants for ALIYUN$bob@aliyun.com;
查看RAM子帐号权限:
show grants for RAM$主帐号:子帐号;
示例如下:
show grants for RAM$bob@aliyun.com:Alice;

查看指定角色的权限

describe role ; --查看指定角色的访问权限角色指派

查看指定对象的授权列表

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