账号与权限管理

如何为AnalyticDB for MySQL 2.0支持账号授权

当您在使用AnalyticDB for MySQL 2.0过程中遇到问题需要工程师进行问题诊断时,您需要将AnalyticDB for MySQL 2.0支持账号analyticdb_supportSELECTSHOW权限授予工程师,以便工程师查看问题详情,帮助您解决问题。授权方式如下所示。

  1. 登录分析型数据库MySQL版控制台

  2. 集群列表页面,找到目标集群,单击右侧的登录数据库

  3. 在DMS for AnalyticDB中,单击主子账号授权,按照下图所示进行analyticdb_support账号授权。

    注意:授权analyticdb_support的只读(SELECTSHOW)权限即可,问题诊断完毕后需要您及时回收权限

    授权

为主账号授予GRANT、SELECT等权限

主账号的账号格式为ALIYUN$account_name,其中ALIYUN$为主账号前缀,标识该账号为阿里云主账号;account_name为主账号的账号名。

例如,将ads_database的GRANT OPTIONSELECTINSERT权限授予主账号ALIYUN$doc_test

  1. GRANT GRANT OPTION on ads_database.* to 'ALIYUN$doc_test';
  2. GRANT SELECT on ads_database.* to 'ALIYUN$doc_test';
  3. GRANT INSERT on ads_database.* to 'ALIYUN$doc_test';

为RAM子账号授予GRANT、SELECT等权限

RAM子账号的账号格式为RAM$account_name:subaccount_name,其中RAM$为子账号前缀,标识该账号为RAM子账号;account_name为主账号名;subaccount_name为RAM子账号的账号名。

例如,主账号ALIYUN$doc_test将ads_database的GRANT OPTIONSELECT权限授予RAM子账号RAM$doc_test:liujing

  1. GRANT GRANT OPTION on ads_database.* to 'RAM$doc_test:liujing';
  2. GRANT SELECT on ads_database.* to 'RAM$doc_test:liujing';

获取主账号的AccessKeyId和AccessKeySecret

  1. 主账号登录阿里云控制台

  2. 将鼠标放在右上方的用户名区域,在弹出的快捷菜单中选择accesskeys

  3. 系统弹出安全提示对话框,单击继续使用AccessKey。页面显示AccessKeyIdAccessKeySecret

获取子账号的AccessKeyId和AccessKeySecret

  1. 登录RAM控制台

  2. 单击用户名进入用户管理页面,找到页面下端的用户AccessKey

  3. 单击创建新的AccessKey。

通过REVOKE命令移除了表的权限,为何仍可以查询表?

AnalyticDB for MySQL 2.0权限按库> 表组 > 表 > 列的顺序依次向下继承。需要注意的是,如果某个账号拥有数据库级别的权限但撤销其中某个表的权限,则这个账号依然有该表的权限。

您可以通过以下命令查看账号的授权情况,查看某个账号是否拥有数据库级别的权限。

  1. show grants for 'ALIYUN$sqream_support' on *;

为什么新增用户后,使用新用户账号无法执行命令?

新增用户后,需要为新增用户授权,然后才能使用该账号执行命令。如何授权请参见GRANT

报错信息{"errorCode":"40001","errorMsg":"aliyunID not exist"}如何处理?

该错误说明阿里云账号不存在,请检查命令中的指定账号是否正确。

报错信息calling ak.sdk getServiceStatus error xxx如何处理?

以下两种原因导致上述错误:

  • 当前账号不是阿里云账号。

  • 阿里云UMMAK服务不稳定,建议等待几分钟后重试。

报错信息You don't have privilege for connecting database 'xxx', userId=ALIYUN$126**********270, schemaId=***, user=xxx.如何处理?

上述报错提示您无权限连接AnalyticDB for MySQL 2.0。您当前使用的AK对应账号没有数据库的权限,请检查AK是否正确,以及AK对应的账号是否拥有数据库的权限。

主账号没有授予子账号GRANT授权,为什么子账号仍有操作权限?

以下两种原因导致上述错误:

  • 在RAM中为子账号配置了权限,请前往RAM控制台(用户 >权限管理)确认子账号权限。

  • 主账号授予子账号GRANT授权,可以使用主账号执行SHOW GRANTS进行确认。