借助访问控制RAM的RAM角色,您可以跨云账号授权,使某个企业访问另一个企业的消息队列Kafka版

背景信息

企业A开通了消息队列Kafka版,该企业需要企业B代为操作消息队列Kafka版的资源,例如实例、Topic、Consumer Group。企业A的需求如下:
  • 企业A希望能专注于业务系统,仅作为消息队列Kafka版所有者。企业A希望可以授权企业B来操作部分业务,例如:消息队列Kafka版的运维、监控以及管理等。
  • 企业A希望当企业B的员工加入或离职时,无需做任何权限变更。企业B可以进一步将企业A的资源访问权限分配给企业B的RAM用户(员工或应用),并可以精细控制其员工或应用对资源的访问和操作权限。
  • 企业A希望如果双方合同终止,企业A随时可以撤销企业B的授权。

步骤一:企业A创建RAM角色

使用企业A的阿里云账号登录RAM控制台为企业B的阿里云账号创建RAM角色。

  1. 登录RAM控制台
  2. 在左侧导航栏,单击RAM角色管理
  3. RAM角色管理页面,单击创建RAM角色
  4. 创建RAM角色面板,选择阿里云账号,单击下一步
  5. 角色名称文本框,输入RAM角色名称,在选择云账号区域,选择其他云账号,输入企业B的阿里云账号的账号ID,然后单击完成
    说明
    • RAM角色名称允许英文字母、数字和短划线(-),长度不超过64个字符。
    • 账号ID可以在账号管理控制台的安全设置页面查看。

步骤二:企业A为RAM角色添加权限

为RAM角色添加需要授予给企业B的访问消息队列Kafka版的权限。

  1. 在RAM控制台的左侧导航栏,单击RAM角色管理
  2. RAM角色管理页面,找到创建的RAM角色,在其右侧操作列,单击添加权限
  3. 添加权限面板的选择权限区域,选择策略类型,通过关键字搜索需要添加的权限策略 ,并单击权限策略将其添加至右侧的已选择列表中,然后单击确定
    说明 支持授予的访问消息队列Kafka版的权限策略请参见RAM权限策略
  4. 添加权限面板,查看授权信息,然后单击完成

步骤三:企业B创建RAM用户

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

  1. 登录RAM控制台
  2. 在左侧导航栏,选择人员管理 > 用户
  3. 用户页面,单击创建用户
  4. 创建用户页面的用户账号信息区域的登录名称,输入登录名称,在显示名称文本框,输入显示名称。
    说明
    • 登录名称允许英文字母、数字、英文句号(.)、下划线(_)和短划线(-),长度不超过128个字符。
    • 显示名称长度不超过24个字符或汉字。
  5. 可选:如需创建多个RAM用户,单击添加用户,重复上一步。
  6. 访问方式区域,选择访问方式,然后单击确定
    说明 为提高安全性,建议您只为RAM用户选择一种访问方式。
    • 如果选择控制台访问,则需完成进一步设置,包括控制台密码设置、登录时是否要求重置密码、是否开启多因素认证。
    • 如果选择编程访问,则RAM会自动为RAM用户创建AccessKey。
      注意 出于安全考虑,RAM控制台只提供一次查看或下载AccessKey Secret的机会,即创建AccessKey时,因此请务必将AccessKey Secret记录到安全的地方。
  7. 手机验证对话框,单击获取验证码,输入收到的手机验证码,然后单击确定

步骤四:企业B为RAM用户添加权限

为RAM用户添加AliyunSTSAssumeRoleAccess的权限。

  1. 在RAM控制台的左侧导航栏,选择人员管理 > 用户
  2. 用户页面,找到创建的RAM用户,在其右侧操作列,单击添加权限
  3. 添加权限面板的选择权限区域,选择系统策略,输入AliyunSTSAssumeRoleAccess ,单击该权限策略将其添加至右侧的已选择列表中,然后单击确定
  4. 添加权限面板,查看授权信息,然后单击完成

后续步骤

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

  • 控制台
    1. 在浏览器打开RAM用户登录入口
    2. RAM用户登录页面,输入RAM用户名称,单击下一步,输入RAM用户密码,然后单击登录
      说明 RAM用户登录名称的格式为<$username>@<$AccountAlias><$username>@<$AccountAlias>.onaliyun.com<$AccountAlias>为账号别名,如果没有设置账号别名,则默认值为阿里云账号的ID。
    3. 在子用户用户中心页面,将鼠标指针移到右上角头像,在浮层单击切换身份
    4. 阿里云-角色切换页面,输入企业A的企业别名或默认域名,以及角色名,然后单击切换
      说明
      • 企业别名:使用企业A的阿里云账号在阿里云账号用户中心,将鼠标指针移到右上角头像,在浮层查看。
      • 默认域名:使用企业A的阿里云账号在RAM控制台的设置页面,单击高级设置页签查看。
  • API
    1. 调用AssumeRole接口获取AccessKey ID、AccessKey Secret和SecurityToken(临时安全令牌)。详情请参见AssumeRole
    2. 在代码中使用获取的AccessKey ID、AccessKey Secret和SecurityToken(临时安全令牌)调用API访问消息队列Kafka版