如果您拥有多个阿里云账号,希望能跨账号统一监控,实现不同账号中的应用跨调用链路追踪能力,那么您可以将应用数据上报到同一个账号中,并通过RAM用户或RAM角色授予其他人员查看或管理数据的权限。
使用限制
跨账号统一应用监控涉及到跨账号数据上报、跨账号授权、跨账号分账、账号切换,以及多账号体系下的细粒度权限管理,会大幅度增加使用复杂度。请您在全面评估后,再考虑规划跨账号统一应用监控方案。对于使用多账号架构的企业,在大多数情况下,每个账号的应用都只接入该账号的ARMS是最好的选择。
解决方案
假设企业同时拥有阿里云账号A和B,账号A购买了ARMS产品,账号B购买了ACK产品,现需要将账号B的应用接入账号A下的ARMS中,并在账号A中实现统一应用监控。可以进行如下设置:
- 在账号A下创建RAM用户,并授予AliyunARMSFullAccess权限和AliyunSTSAssumeRoleAccess权限。具体操作,请参见创建RAM用户。 
- 为RAM用户创建AccessKey,具体操作,请参见创建AccessKey。 
- 为账号B下的应用安装应用监控 eBPF 版探针,具体操作,请参见手动接入应用至应用监控 eBPF 版。 
- 在容器服务管理控制台目标集群下的页面,单击arms-cmonitor组件右侧的更新。 
- 将 - accessKey和- accessKeySecret替换为步骤2获取的AccessKey,将- uid_id替换为账号A的UID,然后单击确定。- 此时,账号B下的ACK应用就会将数据上报至账号A的ARMS中。  
- 基于账号A的RAM用户管理应用。 - 方式一:直接使用步骤1中创建的RAM用户管理应用。 
- 方式二:在账号A中新建专用RAM用户来管理应用。 - 在账号A下创建RAM用户,并授予ARMS完整权限AliyunARMSFullAccess,或使用自定义权限对应用精准授权。创建自定义权限策略的操作,请参见应用监控自定义RAM授权策略。 
 说明- 您还可以通过RAM角色使用账号B的RAM用户管理应用。具体操作,请参见(可选)通过RAM角色管理应用。 
(可选)通过RAM角色管理应用
如果您不希望通过账号A的RAM用户使用ARMS,那么可以通过以下方式对账号B的RAM用户授权,使账号B的RAM用户能够通过身份切换拥有使用ARMS的能力。
步骤一:为阿里云账号B授权
- 使用账号A创建可信实体为阿里云账号的RAM角色,例如 - arms-admin,并选择信任的云账号为阿里云账号B。- 具体操作,请参见创建可信实体为阿里云账号的RAM角色。  
- 为账号A的RAM角色 - arms-admin添加ARMS完整权限AliyunARMSFullAccess,或使用自定义权限对应用精准授权。- 创建自定义权限策略的操作,请参见应用监控自定义RAM授权策略。 
- 为RAM角色授权的操作,请参见为RAM角色授权。 
 
- 为账号B创建RAM用户。 - 具体操作,请参见创建RAM用户。 重要- 请保存RAM用户登录名和密码。 
- 为账号B的RAM用户添加AliyunSTSAssumeRoleAccess权限,即允许RAM用户扮演RAM角色。 - 具体操作,请参见为RAM用户授权。 
步骤二:通过账号B的RAM用户管理应用
- 通过阿里云账号B的RAM用户登录RAM控制台。 - 具体操作,请参见RAM用户登录阿里云控制台。 
- RAM用户登录成功后,将鼠标悬停在右上角的头像位置,然后单击切换身份。 
- 输入账号A的UID和上文步骤一中账号A创建的RAM角色名。 - 具体操作,请参见扮演RAM角色。 
- 登录ARMS控制台,在页面查看应用。