服务测试功能需要创建一个服务消费者,调用您的VPC中的服务提供者,从而测试服务提供者,所以需要有创建服务消费者实例的权限、访问指定VPC的权限和调用指定命名空间中指定应用的权限。本文介绍如何在RAM控制台对云账户或RAM子账号授予这些操作的权限。

前提条件

服务测试采用RAM用户鉴权的模式,所以您需要先将EDAS内置授权切换为RAM授权。详情请参见将EDAS内置授权切换为RAM授权

背景信息

服务测试的权限包括公共权限和子账号权限两部分。

  • 公共权限:EDAS使用函数计算FC(Function Compute)服务账号的权限:该权限用于创建服务消费者实例。
  • 子账号权限:子账号测试指定命名空间内指定服务的权限。

为EDAS授予使用FC服务账号的权限

  1. 登录RAM控制台
  2. 在左侧导航栏单击RAM角色管理
  3. RAM角色管理页面创建RAM角色右侧的本文框中输入AliyunEDASDefaultRole,然后在RAM角色名称列表中单击AliyunEDASDefaultRole
    RAM角色管理
  4. AliyunEDASDefaultRole页面单击信任策略管理
  5. 信任策略管理页签单击修改信任策略,然后在修改信任策略面板中Service下增加1405049854278833@fc.aliyuncs.com配置,单击确定
    修改信任策略
    修改完成后,返回信任策略管理页签,信任策略中即包含了FC服务账号配置。

创建测试服务的自定义权限策略并为子账号授权

子账号要测试服务,需要两个权限:edas:ReadService和edas:TestService。

  1. 登录RAM控制台
  2. 在左侧导航栏选择权限管理 > 权限策略管理
  3. 权限策略管理页面单击创建权限策略
  4. 新建自定义权限策略页面输入策略名称配置模式选择脚本配置,然后在策略内容区域输入测试服务的自定义权限策略,然后单击确定
    新建自定义权限策略

    测试服务的自定义权限策略内容如下:

    {
        "Statement": [
            {
                "Action": [
                    "edas:ReadService"
                ],
                "Effect": "Allow",
                "Resource": [
                    "acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"
                ]
            },
            {
                "Action": [
                    "edas:TestService"
                ],
                "Effect": "Allow",
                "Resource": [
                    "acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"
                ]
            }
        ],
        "Version": "1"
    }
    说明 $namespace$applicationId请替换为实际的命名空间和应用。如果要测试所有命名空间和应用服务,将$namespace$applicationId替换为星号(*)即可。。
    创建成功后,界面会提示自定义权限策略新建成功
  5. 为子账号授权创建的测试服务的自定义权限,详情请参见为RAM用户授权