RAM主子账号授权

更新时间:

云消息队列 MQTT 版支持阿里云账号(主账号)给RAM用户(子账号)授予实例、Topic、Group资源级别的权限,避免因暴露阿里云账号密钥造成的安全风险。仅限有权限的RAM用户在云消息队列 MQTT 版的控制台上管理资源,以及通过SDK或API发布与订阅消息。

说明

云消息队列 MQTT 版目前还不支持跨云账号授权。

应用场景

企业A购买了云消息队列 MQTT 版服务,企业A的员工需要操作这些服务所涉及的资源,例如实例、Topic或Group资源,比如有的负责创建资源,有的负责发布消息,还有的负责订阅消息。由于每个员工的工作职责不一样,需要的权限也不一样。

具体场景说明如下:

  • 出于安全或信任的考虑,企业A不希望将阿里云账号密钥直接透露给员工,而希望能给员工创建相应的用户账号。

  • 用户账号只能在授权的前提下操作资源,不需要对用户账号单独计量计费,所有开销都计入企业A阿里云账号名下。

  • 企业A随时可以撤销用户账号的权限,也可以随时删除其创建的用户账号。

此种场景下,A的云账号可以将需要员工进行操作的资源进行细粒度的权限分隔。

操作步骤

  1. 企业A云账号创建RAM用户。

    具体步骤参见创建RAM用户

  2. (可选)企业A云账号可根据需求为刚创建的RAM用户创建自定义的策略。

    具体步骤参见创建自定义权限策略

    目前,云消息队列 MQTT 版支持实例、Topic和Group粒度的权限设置。详情参见权限策略

  3. 企业A云账号为RAM用户授权。

    具体步骤参见为RAM用户授权

后续步骤

使用阿里云账号创建好RAM用户后,即可将RAM用户的登录名称及密码或者AccessKey信息分发给其他用户。其他用户可以按照以下步骤使用RAM用户登录控制台或调用API。

  • 登录控制台

    1. 在浏览器中打开RAM用户登录入口

    2. RAM用户登录页面上,输入RAM用户登录名称,单击下一步,并输入RAM用户密码,然后单击登录

      说明

      RAM用户登录名称的格式为<$username>@<$AccountAlias><$username>@<$AccountAlias>.onaliyun.com<$AccountAlias>为账号别名,如果没有设置账号别名,则默认值为阿里云账号的ID。

    3. 在子用户的首页,单击有权限的产品,即可访问控制台。

      重要

      MQTT控制台概览页面会展示您所有实例的信息元数据,子账号需要配置相应的权限(mq:MqttMetaData)才能访问概览页面和首页,否则会导致访问概览页、控制台首页报错。访问概览页后,还需要配置相应实例的权限(mq:ListMqttInstance),才能看到实例列表。

  • 使用RAM用户的AccessKey调用API

    在代码中使用RAM用户的AccessKey ID和AccessKey Secret即可。

更多信息

什么是访问控制