通过MaxCompute SQL查询权限信息

MaxCompute支持通过SQL语句查询用户、角色、对象等的权限信息。本文为您介绍SQL权限查询语法并提供示例供参考。

基于MaxCompute提供的授权方案为用户或角色授权后,您可以查询如下权限信息。

查询场景

查询操作

操作人角色

操作入口

查询角色的权限信息

查询指定角色的权限

查询指定角色的权限及绑定的用户信息

项目的所有者(Project Owner)、具备Super_Administrator或Admin角色的用户

查询用户的权限信息

查询当前用户的权限及绑定的角色信息

查询指定用户的权限信息和绑定的角色信息

查询对象的ACL授权信息

查询指定对象的ACL授权信息

查询Label授权信息

查询当前用户可访问的所有高敏感等级数据表

查询当前用户可访问的指定等级的高敏感数据表

查询指定用户可访问的高敏感等级数据表

查询指定用户可访问的指定等级的高敏感数据表

查询可以访问指定敏感数据表的用户

查询可以访问指定敏感数据表的指定等级的用户

查询指定用户在指定敏感数据表中的权限

查询指定表中所有列的敏感等级

查询Package授权信息

查询指定Package的授权信息

查询指定Package内资源的授权信息

查询指定Package内表的Label授权信息

查看用户权限或角色权限信息时,MaxCompute会在返回信息中使用如下标记字符:

  • A:表示Allow,即允许的操作权限。

  • D:表示Deny,即拒绝的操作权限。

  • C:表示With Condition,即带条件的授权。

  • G:表示With Grant Option,即可以对客体(Object)进行授权。

查询指定角色的权限

  • 命令格式

    show grants for role <role_name>;
  • 参数说明

    参数名称

    是否必填

    说明

    role_name

    指定待查询权限的角色名称。

    您可以通过MaxCompute客户端执行list roles;命令获取角色名称。

  • 返回信息

    查询结果会返回ACL、Policy、Download权限信息。

  • 使用示例

    假设项目名为test_project_a,Worker为项目中的角色,命令示例如下。

    show grants for role Worker;

    返回结果如下。

    Authorization Type: ACL
    [role/Worker]
    A       projects/test_project_a: CreateTable | CreateResource | CreateInstance | CreateFunction | List
    A       projects/test_project_a/tables/bank_data: Download | Describe | Select	Expires:20xx-xx-xxTxx:xx:xx+xxxx     
    
    Authorization Type: Policy
    [role/Worker]
    A       projects/test_project_a/tables/bak*: Download
    A       projects/test_project_a/tables/sale_detail: Update
    A       projects/test_project_a/tables/tb_*: Download | Drop
    A       projects/test_project_a/tables/view_1: Drop

查询指定角色的权限及绑定的用户信息

  • 命令格式

    describe role <role_name>;
  • 参数说明

    参数名称

    是否必填

    说明

    role_name

    指定待查询权限的角色名称。

    您可以通过MaxCompute客户端执行list roles;命令获取角色名称。

  • 返回信息

    查询结果会返回ACL、Policy、Download权限信息。

  • 使用示例

    假设Bob@aliyun.com为test_project_a的项目所有者,Worker为项目中的角色,命令示例如下。

    describe role Worker;

    返回结果如下。

    [users]
    RAM$Bob@aliyun.com:Allen
    
    Authorization Type: ACL
    A       projects/test_project_a: CreateTable | CreateResource | CreateInstance | CreateFunction | List
    A       projects/test_project_a/tables/bank_data: Download    
    
    Authorization Type: Policy
    A       projects/test_project_a/tables/bak*: Download
    A       projects/test_project_a/tables/sale_detail: Update
    A       projects/test_project_a/tables/tb_*: Download | Drop
    A       projects/test_project_a/tables/view_1: Drop

查询当前用户的权限及绑定的角色信息

  • 命令格式

    show grants;
  • 返回信息

    查询结果会返回如下信息:

    • 项目所有者:账号信息、项目列表信息。

    • 其他用户:绑定的角色信息、ACL、Policy及Download权限信息。

  • 使用示例

    假设Bob@aliyun.com为test_project_a的项目所有者,Allen为隶属于test_project_a的RAM用户,已经被添加到test_project_a中。

    • 假设当前项目的访问者为Bob,执行show grants;命令,返回结果如下。

      [ALIYUN$Bob@aliyun.com]
      projects/test_project_a: Project Owner
    • 假设当前项目的访问者为Allen,执行show grants;命令,返回结果如下。

      [roles]
      worker
      
      Authorization Type: ACL
      [user/RAM$Bob@aliyun.com:Allen]
      A       projects/test_project_a: CreateTable | CreateResource | CreateInstance | CreateFunction | List
      A       projects/test_project_a/packages/project_test_b.datashare: Read
      
      Authorization Type: Policy
      [role/worker]
      A       projects/test_project_a/tables/tb_*: Drop | Download

查询指定用户的权限信息和绑定的角色信息

  • 命令格式

    show grants for <user_name>;
  • 参数说明

    参数名称

    是否必填

    说明

    user_name

    指定待查询权限的用户名称。

    您可以通过MaxCompute客户端执行list users;命令获取用户名称。

  • 返回信息

    查询结果会返回如下信息:

    • 项目所有者:账号信息、项目列表信息。

    • 其他用户:绑定的角色信息、ACL、Policy及Download权限信息。

  • 使用示例

    假设Bob@aliyun.com为test_project_a的项目所有者,Allen为隶属于test_project_a的RAM用户,已经被添加到test_project_a中。

    • 查询Bob的权限信息,命令示例如下。

      show grants for ALIYUN$Bob@aliyun.com;

      返回结果如下。

      [ALIYUN$Bob@aliyun.com]
      projects/test_project_a: Project Owner
    • 查询Allen的权限信息,命令示例如下。

      show grants for RAM$Bob@aliyun.com:Allen;

      返回结果如下。

      [roles]
      worker
      
      Authorization Type: ACL
      [user/RAM$Bob@aliyun.com:Allen]
      A       projects/test_project_a: CreateTable | CreateResource | CreateInstance | CreateFunction | List
      A       projects/test_project_a/packages/project_test_b.datashare: Read
      
      Authorization Type: Policy
      [role/worker]
      A       projects/test_project_a/tables/tb_*: Drop | Download

查询指定对象的ACL授权信息

  • 命令格式

    show acl for <object_name> [on type <object_type>];
  • 参数说明

    参数名称

    是否必填

    说明

    object_name

    指定待查询对象的名称。

    • 项目名称:您可以登录MaxCompute控制台,左上角切换地域后,即可在项目管理页签获取具体的MaxCompute项目名称。查询类型为Project时,只能查询当前Project的信息。

    • 表名称:您可以通过MaxCompute客户端执行show tables;命令获取表或视图名称。

    • 资源名称:您可以通过MaxCompute客户端执行list resources;命令获取资源名称。

    • 函数名称:您可以通过MaxCompute客户端执行list functions;命令获取函数名称。

    • 实例名称:您可以通过MaxCompute客户端执行show instances;命令获取实例ID。

    object_type

    指定待查询对象的类型。

    取值如下:

    • Project:项目

    • Table:表

    • Resource:资源文件

    • Function:函数

    • Instance:实例

    未配置on type <object_type>时,默认的对象类型为Table。

  • 返回信息

    查询结果会返回具备对象操作权限的项目角色及用户信息、ACL权限信息。

  • 使用示例

    查看test_project_a项目中的对象授权信息。

    • 查询项目的权限信息,命令示例如下。

      show acl for test_project_a on type project;

      返回结果如下。

      Authorization Type: Implicit
      AG      project_owner/ALIYUN$Bob@aliyun.com: All
      AG      admin/ALIYUN$Bob@aliyun.com: All
      
      Authorization Type: ACL
      A       role/worker(projects/test_project_a): CreateTable | CreateResource | CreateInstance | CreateFunction | List
      A       role/worker1(projects/test_project_a): CreateTable | CreateResource | CreateInstance | CreateFunction | List
      A       role/worker2(projects/test_project_a): CreateTable | CreateResource | CreateInstance | CreateFunction
    • 查询表的权限信息,命令示例如下。

      show acl for sale_detail on type table;

      返回结果如下。

      Authorization Type: Implicit
      AG      project_owner/ALIYUN$Bob@aliyun.com: All
      AG      admin/ALIYUN$Bob@aliyun.com: All
      AG      object_creator/ALIYUN$Bob@aliyun.com: All
      
      Authorization Type: ACL
      A       user/RAM$Bob@aliyun.com:Allen(acs:odps:*:projects/test_project_a/tables/sale_detail/customer_id): Describe | Select
      A       user/RAM$Bob@aliyun.com:Allen(acs:odps:*:projects/test_project_a/tables/sale_detail/shop_name): Describe | Select
    • 查询资源的权限信息,命令示例如下。

      show acl for udtf.jar on type resource;

      返回结果如下。

      Authorization Type: Implicit
      AG      project_owner/ALIYUN$Bob@aliyun.com: All
      AG      admin/ALIYUN$Bob@aliyun.com: All
      AG      object_creator/ALIYUN$Bob@aliyun.com: All
      
      Authorization Type: ACL
      A       user/RAM$Bob@aliyun.com:Allen(acs:odps:*:projects/test_project_a/resources/udtf.jar): Read | Write
    • 查询函数的权限信息,命令示例如下。

      show acl for UDTFResource on type function;

      返回结果如下。

      Authorization Type: Implicit
      AG      project_owner/ALIYUN$Bob@aliyun.com: All
      AG      admin/ALIYUN$Bob@aliyun.com: All
      AG      object_creator/ALIYUN$Bob@aliyun.com: All
      
      Authorization Type: ACL
      A       role/worker1(acs:odps:*:projects/test_project_a/registration/functions/udtfresource): Download
      A       user/RAM$Bob@aliyun.com:Allen(acs:odps:*:projects/test_project_a/registration/functions/udtfresource): All
    • 查询实例的权限信息,命令示例如下。

      show acl for 20220105031923461ghu**** on type instance;

      返回结果如下。

      Authorization Type: Implicit
      AG      project_owner/ALIYUN$Bob@aliyun.com: All
      AG      admin/ALIYUN$Bob@aliyun.com: All
      AG      object_creator/ALIYUN$Bob@aliyun.com: All
      
      Authorization Type: ACL
      A       user/RAM$Bob@aliyun.com:Allen(acs:odps:*:projects/test_project_a/instances/20220105031923461ghu****): All

查询当前用户可访问的所有高敏感等级数据表

  • 命令格式

    show label grants;
  • 返回信息

    查询结果会返回如下信息:

    • 当前用户的访问许可等级(User Label)

    • 可访问的高敏感等级数据表(TableName)

    • 用户可访问的敏感数据级别(GrantedLabel)

    • 权限过期时间(Expires)

  • 使用示例

    假设Bob@aliyun.com为test_project_a的项目所有者,Allen为隶属于test_project_a的RAM用户,已经被添加到test_project_a中。

    • 假设当前项目的访问者为Bob,执行show label grants;命令,返回结果如下。

      User Label: 0
      
      +--------------+--------------+--------------------------+
      | TableName    | GrantedLabel | Expires                  |
      +--------------+--------------+--------------------------+
      | bank_data    | 3            | 2022-07-04T16:30:47+0800 |
      +--------------+--------------+--------------------------+
      | bank_data_pt | 4            | 2022-07-04T16:36:04+0800 |
      +--------------+--------------+--------------------------+
    • 假设当前项目的访问者为Allen,执行show label grants;命令,返回结果如下。

      User Label: 1
      
      +-------------+--------------+--------------------------+
      | TableName   | GrantedLabel | Expires                  |
      +-------------+--------------+--------------------------+
      | sale_detail | 2            | 2022-01-09T11:43:27+0800 |
      +-------------+--------------+--------------------------+

查询当前用户可访问的指定等级的高敏感数据表

  • 命令格式

    show label <level> grants;
  • 参数信息

    参数名称

    是否必填

    说明

    level

    指定敏感等级。

  • 返回信息

    查询结果会返回如下信息:

    • 当前用户的访问许可等级(User Label)

    • 可访问的高敏感等级数据表(TableName)

    • 用户可访问的敏感数据级别(GrantedLabel)

    • 权限过期时间(Expires)

  • 使用示例

    假设Bob@aliyun.com为test_project_a的项目所有者,Allen为隶属于test_project_a的RAM用户,已经被添加到test_project_a中。

    • 假设当前项目的访问者为Bob,执行命令如下。

      show label 3 grants;

      返回结果如下。

      User Label: 0
      
      +--------------+--------------+--------------------------+
      | TableName    | GrantedLabel | Expires                  |
      +--------------+--------------+--------------------------+
      | bank_data    | 3            | 2022-07-04T16:30:47+0800 |
      +--------------+--------------+--------------------------+
    • 假设当前项目的访问者为Allen,执行命令如下。

      show label 2 grants;

      返回结果如下。

      User Label: 1
      
      +-------------+--------------+--------------------------+
      | TableName   | GrantedLabel | Expires                  |
      +-------------+--------------+--------------------------+
      | sale_detail | 2            | 2022-01-09T11:43:27+0800 |
      +-------------+--------------+--------------------------+

查询指定用户可访问的高敏感等级数据表

  • 命令格式

    show label grants for user <user_name>;
  • 参数说明

    参数名称

    是否必填

    说明

    user_name

    指定待查询权限的用户名称。

    您可以通过MaxCompute客户端执行list users;命令获取用户名称。

  • 返回信息

    查询结果会返回如下信息:

    • 当前用户的访问许可等级(User Label)

    • 可访问的高敏感等级数据表(TableName)

    • 用户可访问的敏感数据级别(GrantedLabel)

    • 权限过期时间(Expires)

  • 使用示例

    假设Bob@aliyun.com为test_project_a的项目所有者,Allen为隶属于test_project_a的RAM用户,已经被添加到test_project_a中。查询Allen可访问的高敏感等级数据表,命令示例如下。

    show label grants for user RAM$Bob@aliyun.com:Allen;

    返回结果如下。

    User Label: 2
    
    +-----------+--------------+--------------------------+
    | TableName | GrantedLabel | Expires                  |
    +-----------+--------------+--------------------------+
    | bank_data | 3            | 2022-07-04T16:29:32+0800 |
    +-----------+--------------+--------------------------+

查询指定用户可访问的指定等级的高敏感数据表

  • 命令格式

    show label <level> grants for user <user_name>;
  • 参数说明

    参数名称

    是否必填

    说明

    level

    指定敏感等级。

    user_name

    指定待查询权限的用户名称。

    您可以通过MaxCompute客户端执行list users;命令获取用户名称。

  • 返回信息

    查询结果会返回如下信息:

    • 当前用户的访问许可等级(User Label)

    • 可访问的高敏感等级数据表(TableName)

    • 用户可访问的敏感数据级别(GrantedLabel)

    • 权限过期时间(Expires)

  • 使用示例

    假设Bob@aliyun.com为test_project_a的项目所有者,Allen为隶属于test_project_a的RAM用户,已经被添加到test_project_a中。查询Allen可访问的高敏感等级数据表,命令示例如下。

    show label 3 grants for user RAM$Bob@aliyun.com:Allen;

    返回结果如下。

    User Label: 2
    
    +-----------+--------------+--------------------------+
    | TableName | GrantedLabel | Expires                  |
    +-----------+--------------+--------------------------+
    | bank_data | 3            | 2022-07-04T16:29:32+0800 |
    +-----------+--------------+--------------------------+

查询可以访问指定敏感数据表的用户

  • 命令格式

    show label grants on table <table_name>;
  • 参数说明

    参数名称

    是否必填

    说明

    table_name

    指定表的名称。

    您可以通过MaxCompute客户端执行show tables;命令获取表名称。

  • 返回信息

    查询结果会返回如下信息:

    • 当前表的敏感数据等级范围(Sensitive Label Range)

    • 可访问的用户或角色(UserName)

    • 用户可访问的敏感等级(GrantedLabel)

    • 权限过期时间(Expires)

  • 使用示例

    查询项目test_project_a中可访问高敏感数据表sale_detail的用户列表,命令示例如下。

    show label grants on table sale_detail;

    返回结果如下。

    Sensitive Label Range: [3, 4]
    
    +-------------------------------------------------+--------------+--------------------------+
    | UserName                                        | GrantedLabel | Expires                  |
    +-------------------------------------------------+--------------+--------------------------+
    | worker                                          | 4            | 2022-07-04T11:23:35+0800 |
    +-------------------------------------------------+--------------+--------------------------+
    | RAM$Bob@aliyun.com:Allen                        | 4            | 2022-07-04T17:54:00+0800 |
    +-------------------------------------------------+--------------+--------------------------+

查询可以访问指定敏感数据表的指定等级的用户

  • 命令格式

    show label <level> grants on table <table_name>;
  • 参数说明

    参数名称

    是否必填

    说明

    level

    指定敏感等级。

    table_name

    指定表的名称。

    您可以通过MaxCompute客户端执行show tables;命令获取表名称。

  • 返回信息

    查询结果会返回如下信息:

    • 当前表的敏感数据等级范围(Sensitive Label Range)

    • 可访问的用户或角色(UserName)

    • 用户可访问的敏感等级(GrantedLabel)

    • 权限过期时间(Expires)

  • 使用示例

    查询项目test_project_a中可访问高敏感数据表sale_detail的用户列表,命令示例如下。

    show label 4 grants on table sale_detail;

    返回结果如下。

    Sensitive Label Range: [3, 4]
    
    +-------------------------------------------------+--------------+--------------------------+
    | UserName                                        | GrantedLabel | Expires                  |
    +-------------------------------------------------+--------------+--------------------------+
    | worker                                          | 4            | 2022-07-04T11:23:35+0800 |
    +-------------------------------------------------+--------------+--------------------------+
    | RAM$Bob@aliyun.com:Allen                        | 4            | 2022-07-04T17:54:00+0800 |
    +-------------------------------------------------+--------------+--------------------------+

查询指定用户在指定敏感数据表中的权限

  • 命令格式

    show label [<label>] grants on table <table_name> for user <user_name>;
  • 参数说明

    参数名称

    是否必填

    说明

    label

    指定敏感等级。

    table_name

    指定表的名称。

    您可以通过MaxCompute客户端执行show tables;命令获取表名称。

    user_name

    指定待查询权限的用户名称。

    您可以通过MaxCompute客户端执行list users;命令获取用户名称。

  • 返回信息

    查询结果会返回如下信息:

    • 当前用户的访问许可等级标签(User Label)

    • 用户可访问的表的列(Column)

    • 用户可访问的敏感等级(GrantedLabel)

    • 权限过期时间(Expires)

  • 使用示例

    查询项目test_project_a中Allen可访问sale_detail的数据,命令示例如下。

    show label grants on table sale_detail for user RAM$Bob@aliyun.com:Allen;

    返回结果如下。

    User Label: 2
    +-------------+--------------+--------------------------+
    | Column      | GrantedLabel | Expires                  |
    +-------------+--------------+--------------------------+
    | customer_id | 4            | 2022-07-04T17:54:00+0800 |
    +-------------+--------------+--------------------------+
    | shop_name   | 4            | 2022-07-04T17:54:00+0800 |
    +-------------+--------------+--------------------------+
    | total_price | 4            | 2022-07-04T17:54:00+0800 |
    +-------------+--------------+--------------------------+

查询指定表中所有列的敏感等级

  • 命令格式

    describe <table_name>;
  • 参数说明

    参数名称

    是否必填

    说明

    table_name

    指定表的名称。

    您可以通过MaxCompute客户端执行show tables;命令获取表名称。

  • 返回信息

    查询结果会包含当前表的敏感等级(TableLabel)、表的列最高敏感等级(MaxLabel)、各列的敏感等级(Label)。

  • 使用示例

    查询项目test_project_a中表sale_detail及其列的敏感等级,命令示例如下。

    describe sale_detail;

    返回结果如下。

    +------------------------------------------------------------------------------------+
    | Owner: ALIYUN$Bob@aliyun.com | Project: project_test_a                             |
    | TableComment:                                                                      |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2021-12-13 11:27:04                                      |
    | LastDDLTime:              2021-12-13 11:27:04                                      |
    | LastModifiedTime:         2021-12-13 11:27:26                                      |
    +------------------------------------------------------------------------------------+
    | TableLabel:               3                                                        |
    | MaxLabel:                 L4                                                       |
    +------------------------------------------------------------------------------------+
    | InternalTable: YES      | Size: 784                                                |
    +------------------------------------------------------------------------------------+
    | Native Columns:                                                                    |
    +------------------------------------------------------------------------------------+
    | Field           | Type       | Label | Comment                                     |
    +------------------------------------------------------------------------------------+
    | shop_name       | string     | 4     |                                             |
    | customer_id     | string     | 4     |                                             |
    | total_price     | double     | 3     |                                             |
    +------------------------------------------------------------------------------------+
    | Partition Columns:                                                                 |
    +------------------------------------------------------------------------------------+
    | sale_date       | string     |                                                     |
    | region          | string     |                                                     |
    +------------------------------------------------------------------------------------+

查询指定Package的授权信息

  • 命令格式

    show acl for <project_name>.<package_name> on type package;
  • 参数说明

    参数名称

    是否必填

    说明

    project_name

    指定待查询Package所属项目名称。

    您可以通过MaxCompute客户端执行describe package <package_name>;命令查询Package所属项目名称。

    package_name

    指定待查询Package的名称。

    您可以通过MaxCompute客户端执行show packages;命令查询Package名称。

  • 返回信息

    查询结果会返回具备对象操作权限的项目内置角色及账号信息、ACL权限信息。

  • 使用示例

    查看test_project_b项目中安装的datashare Package的授权信息。命令示例如下。

    show acl for test_project_b.datashare on type package;

    返回结果如下。

    Authorization Type: Implicit
    AG      project_owner/ALIYUN$Bob@aliyun.com: All
    AG      admin/ALIYUN$Bob@aliyun.com: All
    
    Authorization Type: ACL
    A       user/RAM$Amy@aliyun.com:Bella(acs:odps:*:projects/test_project_b/packages/test_project_a.datashare): Read

查询指定Package内资源的授权信息

  • 命令格式

    show grants on <object_type> <object_name> privilegeproperties ("refobject"="true", "refproject"="<project_name>", "package"="<package
    _name>");
  • 参数说明

    参数名称

    是否必填

    说明

    object_type

    指定待查询Package内的资源类型。

    您可以通过MaxCompute客户端执行describe package <project_name>.<package_name>;命令查询Package内的资源类型。

    object_name

    指定待查询资源的名称。

    您可以通过MaxCompute客户端执行describe package <project_name>.<package_name>;命令查询Package内的资源名称。

    project_name

    指定待查询Package所属项目名称。

    您可以通过MaxCompute客户端执行describe package <project_name>.<package_name>;命令查询Package所属项目名称。

    package_name

    指定待查询Package的名称。

    您可以通过MaxCompute客户端执行show packages;命令查询Package名称。

  • 返回信息

    查询结果会返回具备对象操作权限的项目内置角色及用户、ACL权限信息。

  • 使用示例

    查看安装的datashare Package中表sale_detail的授权信息。命令示例如下。

    show grants on Table sale_detail privilegeproperties ("refobject"="true", "refproject"="test_project_a", "package"="datashare");

    返回结果如下。

    Authorization Type: Implicit
    AG      project_owner/: All
    
    Authorization Type: InstalledObjecACL
    [datashare]
    A       user/RAM$Amy@aliyun.com:Bella(acs:odps:*:projects/test_project_a/tables/sale_detail): Select

查询指定Package内表的Label授权信息

  • 命令格式

    show label grants on table <table_name> privilegeproperties ("refobject"="true", "refproject"="<project_name>", "package"="<package_name>");
  • 参数说明

    参数名称

    是否必填

    说明

    table_name

    指定待查询Package内的表名称。

    您可以通过MaxCompute客户端执行describe package <project_name>.<package_name>;命令查询Package内的表名称。

    project_name

    指定待查询Package所属项目名称。

    您可以通过MaxCompute客户端执行describe package <package_name>;命令查询Package所属项目名称。

    package_name

    指定待查询Package的名称。

    您可以通过MaxCompute客户端执行show packages;命令查询Package名称。

  • 返回信息

    查询结果会返回如下信息:

    • 当前表的敏感数据等级范围(Sensitive Label Range)

    • 可访问的用户或角色(UserName)

    • 用户可访问的敏感等级(GrantedLabel)

    • 权限过期时间(Expires)

  • 使用示例

    查看安装的datashare Package中表sale_detail的Label授权信息。命令示例如下。

    show label grants on table sale_detail privilegeproperties ("refobject"="true", "refproject"="test_project_a", "package"="datashare");

    返回结果如下。

    Sensitive Label Range: [2, 4]
    
    +-------------------------------------------------+--------------+--------------------------+
    | UserName                                        | GrantedLabel | Expires                  |
    +-------------------------------------------------+--------------+--------------------------+
    | RAM$Amy@aliyun.com:Bella                        | 3            | 2022-07-12T22:24:24+0800 |
    +-------------------------------------------------+--------------+--------------------------+