在使用错误诊断工具时,可能会遇到无权限查询其他账号的API诊断信息的情况。这将影响对API错误原因的分析及解决方案的获取。本文将介绍如何通过账号授权,以获取查询其他账号API诊断信息的权限。
同一阿里云账号内
您可以为需要查看API诊断信息的RAM用户授予相应权限,以便其能够查看其他RAM用户或RAM角色的API诊断信息。
步骤一:创建自定义权限策略
使用主账号或者具有RAM管理权限的RAM用户登录RAM 访问控制。
在左侧导航栏,选择权限管理,单击权限策略。
在权限策略页面,单击创建权限策略。
在创建权限策略页面,单击脚本编辑页签。
复制下面权限策略内容,单击确定。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "openapiexplorer:GetRequestLog", "ram:DecodeDiagnosticMessage" ], "Resource": "*" } ] }
说明该权限策略允许用户查看阿里云账号下所有的API调用日志及无权限访问的详细信息。
输入权限策略名称和备注,单击确定。
步骤二:为RAM用户授权
您可以任选以下一种方式为RAM用户授权:
步骤三:查看API诊断结果
访问OpenAPI问题诊断,输入待查询的RequestId,单击诊断。
不同阿里云账号之间
当需要查看其他阿里云账号的API诊断信息时,您可以通过角色扮演的方式获得相应权限。
方案流程如下:
账号A:调用API报错的账号。
账号B:需查看API诊断信息的账号。
账号A创建RAM角色,并授权允许账号B扮演。
账号B创建RAM用户,并授权该RAM用户进行角色扮演。
账号B通过RAM用户扮演账号A所提供的RAM角色,即可在错误诊断工具中成功完成跨账号API诊断信息的查询。
步骤一:账号A创建RAM角色并授权
创建RAM角色
使用账号A登录RAM控制台,创建一个可信实体类型为阿里云账号的RAM角色。更多关于创建RAM角色的信息,请参见创建一个可信实体类型为阿里云账号的RAM角色。在创建角色页面创建可信实体为阿里云账号的RAM角色信任的云账号。
说明在创建角色页面选择信任的云账号处,选择其他云账号并填入账号B的账号ID(UID)。
创建自定义权限策略
具体操作步骤请参考步骤一:创建自定义权限策略。
为RAM角色授权
为RAM角色授予步骤2创建的自定义权限策略,具体操作,请参见为RAM角色授权。
步骤二:账号B创建RAM用户并授权
创建RAM用户
使用账号B登录RAM控制台,创建一个RAM用户。关于如何创建RAM用户,请参见创建RAM用户。
说明为了账号安全,建议您根据实际情况为RAM用户只配置一种访问方式,将控制台访问和程序访问分离,避免混用。
为RAM用户授权
在扮演RAM角色之前,需要为RAM用户授予扮演RAM角色的权限。使用账号B为该RAM用户授予
AliyunSTSAssumeRoleAccess
权限,以允许该RAM用户扮演所有RAM角色。有关如何为RAM用户授权的详细信息,请参见为RAM用户授权。说明如果希望该RAM用户仅能扮演指定的RAM角色,具体操作,请参见RAM角色和STS Token常见问题。
步骤三:扮演RAM角色并查看API诊断信息
使用账号B创建的RAM用户访问RAM用户登录页进行登录。
将鼠标悬停在右上角头像的位置,单击切换身份。
在角色切换页面,输入相关信息后,请单击提交进行登录。本示例输入的值为账号A的账号ID(UID)和RAM角色名称。
查看API诊断信息。
访问OpenAPI问题诊断,输入待查询的RequestId,单击诊断。