借助访问控制RAM的RAM用户,您可以实现阿里云账号(主账号)和RAM用户(子账号)权限分割,按需为RAM用户赋予不同的权限,并避免因暴露阿里云账号密钥而造成安全风险。

背景信息

企业A开通了云消息队列 Kafka 版服务,该企业需要员工操作云消息队列 Kafka 版服务所涉及的资源,例如实例、Topic、Consumer Group。由于每个员工的工作职责不一样,需要的权限也不一样。企业A的需求如下:

  • 出于安全或信任的考虑,不希望将云账号密钥直接透露给员工,而希望能给员工创建相应的用户账号。
  • 用户账号只能在授权的前提下操作资源,不需要对用户账号进行独立的计量计费,所有开销都计入企业账号名下。
  • 随时可以撤销用户账号的权限,也可以随时删除其创建的用户账号。

步骤一:创建RAM用户

使用企业A的阿里云账号登录RAM控制台并为员工创建RAM用户。

  1. 使用阿里云账号登录RAM控制台
  2. 在左侧导航栏,选择身份管理 > 用户
  3. 用户页面,单击创建用户
  4. 创建用户页面的用户账号信息区域,设置用户基本信息。
    • 登录名称:可包含英文字母、数字、半角句号(.)、短划线(-)和下划线(_),最多64个字符。
    • 显示名称:最多包含128个字符。
    • 可选:标签:您可以单击edit,然后输入标签键和标签值。为RAM用户绑定标签,便于后续基于标签的用户管理。
    说明 单击添加用户,可以批量创建多个RAM用户。
  5. 访问方式区域,选择访问方式,然后设置对应参数。

    为了账号安全,建议您只选择以下访问方式中的一种,将人员用户和应用程序用户分离,避免混用。

    • 控制台访问

      如果RAM用户代表人员,建议启用控制台访问,使用用户名和密码访问阿里云。启用后,您需要设置以下参数:

      • 控制台密码:选择自动生成密码或者自定义密码。自定义登录密码时,密码必须满足密码复杂度规则。更多信息,请参见设置RAM用户密码强度
      • 密码重置策略:选择在下次登录时是否需要重置密码。
      • 多因素认证(MFA)策略:选择是否为当前RAM用户启用MFA。选择启用MFA后,RAM用户登录控制台时,需要绑定MFA设备。更多信息,请参见为RAM用户绑定多因素认证设备
    • OpenAPI调用访问

      如果RAM用户代表应用程序,建议启用OpenAPI调用访问,使用访问密钥(AccessKey)访问阿里云。启用后,系统会自动为RAM用户生成一个AccessKey ID和AccessKey Secret。更多信息,请参见创建AccessKey

  6. 单击确定

步骤二:为RAM用户添加权限

方式一:在用户页面为RAM用户授权

  1. 使用阿里云账号登录RAM控制台
  2. 在左侧导航栏,选择身份管理 > 用户
  3. 用户页面,单击目标RAM用户操作列的添加权限
  4. 添加权限面板,为RAM用户添加权限。
    1. 选择授权应用范围。
      • 整个云账号:权限在当前阿里云账号内生效。
      • 指定资源组:权限在指定的资源组内生效。
        说明 指定资源组授权生效的前提是该云服务已支持资源组。更多信息,请参见支持资源组的云服务
    2. 输入授权主体。
      授权主体即需要添加权限的RAM用户。
    3. 选择权限策略。
      说明 每次最多绑定5条策略,如需绑定更多策略,请分次操作。
  5. 单击确定
  6. 单击完成

方式二:在授权页面为RAM用户授权

  1. 使用阿里云账号登录RAM控制台
  2. 在左侧导航栏,选择权限管理 > 授权
  3. 授权页面,单击新增授权
  4. 新增授权面板,为RAM用户添加权限。
    1. 选择授权应用范围。
      • 整个云账号:权限在当前阿里云账号内生效。
      • 指定资源组:权限在指定的资源组内生效。
        说明 指定资源组授权生效的前提是该云服务已支持资源组。更多信息,请参见支持资源组的云服务
    2. 输入授权主体。
      授权主体即需要添加权限的RAM用户。
    3. 选择权限策略。
      说明 每次最多绑定5条策略,如需绑定更多策略,请分次操作。
  5. 单击确定
  6. 单击完成

后续步骤

企业A的员工的RAM用户可以通过以下方式访问企业A的云消息队列 Kafka 版

  • 控制台
    1. 在浏览器打开RAM用户登录入口
    2. RAM用户登录页面,输入RAM用户名称,单击下一步,输入RAM用户密码,然后单击登录
      说明 RAM用户登录名称的格式为<$username>@<$AccountAlias><$username>@<$AccountAlias>.onaliyun.com<$AccountAlias>为账号别名,如果没有设置账号别名,则默认值为阿里云账号的ID。
  • API

    在代码中使用RAM用户的AccessKey ID和AccessKey Secret调用API访问云消息队列 Kafka 版