借助访问控制RAM的RAM角色,您可以跨云账号授权,使某个企业访问另一个企业的云消息队列 Kafka 版。
背景信息
企业A开通了云消息队列 Kafka 版,该企业需要企业B代为操作云消息队列 Kafka 版的资源,例如实例、Topic、Group。企业A的需求如下:
企业A希望能专注于业务系统,仅作为云消息队列 Kafka 版所有者。企业A希望可以授权企业B来操作部分业务,例如:云消息队列 Kafka 版的运维、监控以及管理等。
企业A希望当企业B的员工加入或离职时,无需做任何权限变更。企业B可以进一步将企业A的资源访问权限分配给企业B的RAM用户(员工或应用),并可以精细控制其员工或应用对资源的访问和操作权限。
企业A希望如果双方合同终止,企业A随时可以撤销企业B的授权。
步骤一:企业A创建RAM角色
使用企业A的阿里云账号登录RAM控制台为企业B的阿里云账号创建RAM角色。
使用RAM管理员登录RAM控制台。
在左侧导航栏,选择 。
在角色页面,单击创建角色。
在创建角色页面,选择可信实体类型为阿里云账号,然后单击下一步。
在角色名称文本框,输入RAM角色名称,在选择信任的云账号区域,选择其他云账号,输入企业B的阿里云账号的账号ID,然后单击完成。
说明RAM角色名称允许英文字母、数字和短划线(-),长度不超过64个字符。
账号ID可以在账号管理控制台的安全设置页面查看。
步骤二:企业A为RAM角色添加权限
为RAM角色添加需要授予给企业B的访问云消息队列 Kafka 版的权限。
步骤三:企业B创建RAM用户
使用企业B的阿里云账号登录RAM控制台并创建RAM用户。
操作步骤
使用阿里云账号(主账号)或RAM管理员登录RAM控制台。
在左侧导航栏,选择 。
在用户页面,单击创建用户。
在创建用户页面的用户账号信息区域,设置用户基本信息。
登录名称:可包含英文字母、数字、半角句号(.)、短划线(-)和下划线(_),最多64个字符。
显示名称:最多包含128个字符或汉字。
标签:单击,然后输入标签键和标签值。为RAM用户绑定标签,便于后续基于标签的用户管理。
说明单击添加用户,可以批量创建多个RAM用户。
在访问方式区域,选择访问方式,然后设置对应参数。
为了账号安全,建议您只选择以下访问方式中的一种,将人员用户和应用程序用户分离,避免混用。
控制台访问
如果RAM用户代表人员,建议启用控制台访问,使用用户名和登录密码访问阿里云。您需要设置以下参数:
控制台登录密码:选择自动生成密码或者自定义密码。自定义登录密码时,密码必须满足密码复杂度规则。更多信息,请参见设置RAM用户密码强度。
密码重置策略:选择RAM用户在下次登录时是否需要重置密码。
多因素认证(MFA)策略:选择是否为当前RAM用户启用MFA。启用MFA后,主账号还需要为RAM用户绑定MFA设备或RAM用户自行绑定MFA设备。更多信息,请参见为RAM用户绑定MFA设备。
OpenAPI调用访问
如果RAM用户代表应用程序,建议启用OpenAPI调用访问,使用访问密钥(AccessKey)访问阿里云。启用后,系统会自动为RAM用户生成一个AccessKey ID和AccessKey Secret。更多信息,请参见创建AccessKey。
重要RAM用户的AccessKey Secret只在创建时显示,不支持查看,请妥善保管。
单击确定。
根据界面提示,完成安全验证。
步骤四:企业B为RAM用户添加权限
为RAM用户添加AliyunSTSAssumeRoleAccess的权限。
使用RAM管理员登录RAM控制台。
在左侧导航栏,选择 。
在用户页面,单击目标RAM用户操作列的添加权限。
您也可以选中多个RAM用户,单击用户列表下方的添加权限,为RAM用户批量授权。
在新增授权面板的权限策略区域,搜索框中输入需要添加的权限策略,单击该权限将其添加至右侧的已选择权限策略列表中,然后单击确认新增授权。
后续步骤
企业B的RAM用户可以通过以下方式访问企业A的云消息队列 Kafka 版。
控制台
在浏览器打开RAM用户登录入口。
在RAM用户登录页面,输入RAM用户名称,单击下一步,输入RAM用户密码,然后单击登录。
说明RAM用户登录名称的格式为<$username>@<$AccountAlias>或<$username>@<$AccountAlias>.onaliyun.com。<$AccountAlias>为账号别名,如果没有设置账号别名,则默认值为阿里云账号的ID。
在RAM用户的首页,将鼠标指针移到右上角头像,在浮层单击切换身份。
在角色切换页面,输入企业A的企业别名或默认域名,以及角色名,然后单击提交。
说明企业别名:使用企业A的阿里云账号在阿里云账号费用与成本页面,将鼠标指针移到右上角头像,在浮层查看。
默认域名:使用企业A的阿里云账号在RAM控制台的设置页面,单击高级设置页签查看。
API
调用AssumeRole接口获取AccessKey ID、AccessKey Secret和SecurityToken(临时安全令牌)。更多信息,请参见AssumeRole。
在代码中使用获取的AccessKey ID、AccessKey Secret和SecurityToken(临时安全令牌)调用API访问云消息队列 Kafka 版。