ECS API 发生子账号访问主账号资源时的鉴权规则
当子账号通过 ECS Open API 对主账号的 ECS 资源进行访问时,ECS 后台向 RAM 进行权限检查,以确保资源拥有者的确将相关资源的相关权限授予了调用者。
每个不同的 ECS API 会根据涉及到的资源以及 API 的语义来确定需要检查哪些资源的权限。具体地,每个 API 的鉴权规则见下表
Action鉴权规则
AllocatePublicIpAddressacs:ecs: $regionid:$accountid:instance/$instanceid
AttachDiskacs:ecs:$regionid:$accountid:disk/$diskid
acs:ecs:$regionid:$accountid:instance/$instanceid
AuthorizeSecurityGroupacs:ecs:$regionid:$accountid:securitygroup/$securitygroupid
[and acs:ecs:$regionid:$accountid:securitygroup/$sourcegroupid(如果指定了 SourceGroupId)]
CreateDiskacs:ecs:$regionid:$accountid:disk/*
[and acs:ecs:$regionid:$accountid:snapshot/$snapshotid(如果指定了 SnapshotId)]
CreateImageacs:ecs:$regionid:$accountid:image/*
acs:ecs:$regionid:$accountid:snapshot/$snapshotid
CreateInstanceacs:ecs:$regionid:$accountid:instance/*
acs:ecs:$regionid:$accountid:securitygroup/$securitygroupid
acs:ecs:$regionid:$accountid:image/$imageid
[and acs:ecs:$regionid:$accountid:snapshot/$snapshotid(如果指定了 DataDisk.n.SnapshotId)]
CreateSecurityGroupacs:ecs:$regionid:$accountid:securitygroup/*
CreateSnapshotacs:ecs:$regionid:$accountid:disk/$diskid
acs:ecs:$regionid:$accountid:snapshot/*
DeleteDiskacs:ecs:$regionid:$accountid:disk/$diskid
DeleteImageacs:ecs:$regionid:$accountid:image/$imageid
DeleteInstanceacs:ecs:$regionid:$accountid:instance/$instanceid
DeleteSecurityGroupacs:ecs:$regionid:$accountid:securitygroup/$securitygroupid
DeleteSnapshotacs:ecs:$regionid:$accountid:snapshot/$snapshotid
DescribeAutoSnapshotPolicyacs:ecs:*:$accountid:snapshot/*
DescribeDisksacs:ecs:$regionid:$accountid:disk/*
DescribeImagesacs:ecs:$regionid:$accountid:image/*
DescribeInstanceMonitorDataacs:ecs:$regionid:$accountid:instance/$instanceid
DescribeInstanceStatusacs:ecs:$regionid:$accountid:instance/*
DescribeInstanceTypesacs:ecs:*:$accountid:*
DescribeRegionsacs:ecs:*:$accountid:*
DescribeSecurityGroupAttributeacs:ecs:$regionid:$accountid:securitygroup/$securitygroupid
DescribeSecurityGroupsacs:ecs:$regionid:$accountid:securitygroup/*
DescribeSnapshotsacs:ecs:$regionid:$accountid:snapshot/*
DescribeZonesacs:ecs:*:$accountid:*
DetachDiskacs:ecs:$regionid:$accountid:disk/$diskid
acs:ecs:$regionid:$accountid:instance/$instanceid
JoinSecurityGroupacs:ecs:$regionid:$accountid:instance/$instanceid
acs:ecs:$regionid:$accountid:securitygroup/$securitygroupid
LeaveSecurityGroupacs:ecs:$regionid:$accountid:instance/$instanceid
acs:ecs:$regionid:$accountid:securitygroup/$securitygroupid
ModifyAutoSnapshotPolicyacs:ecs:*:$accountid:snapshot/*
ModifyDiskAttributeacs:ecs:$regionid:$accountid:disk/$diskid
ModifyInstanceAttributeacs:ecs:$regionid:$accountid:instance/$instanceid
ModifyInstanceNetworkSpecacs:ecs:$regionid:$accountid:instance/$instanceid
RebootInstanceacs:ecs:$regionid:$accountid:instance/$instanceid
ReplaceSystemDiskacs:ecs:$regionid:$accountid:instance/$instanceid
[and acs:ecs:$regionid:$accountid:image/$imageid (如果是使用了自定义镜像或者镜像市场的镜像)]
ReInitDiskacs:ecs:$regionid:$accountid:disk/$diskid
ResetDiskacs:ecs:$regionid:$accountid:snapshot/$snapshotid
acs:ecs:$regionid:$accountid:disk/$diskid
RevokeSecurityGroupacs:ecs:$regionid:$accountid:securitygroup/$securitygroupid
[and acs:ecs:$regionid:$accountid:securitygroup/$sourcegroupid(如果指定了 sourcegroupid)]
StartInstanceacs:ecs:$regionid:$accountid:instance/$instanceid
StopInstanceacs:ecs:$regionid:$accountid:instance/$instanceid
DescribeInstancesacs:ecs:$regionid:$accountid:instance/*
CreateVpcacs:ecs:$regionid:$accountid:vpc/*
ModifyVpcAttributeacs:ecs:$regionid:$accountid:vpc/$vpcid
DescribeVRoutersacs:ecs:$regionid:$accountid:vrouter/*
CreateVSwitchacs:ecs:$regionid:$accountid:vswitch/*
CreateRouteTableacs:ecs:$regionid:$accountid:routetable/*
CreateRouteEntryacs:ecs:$regionid:$accountid:routetable/$routetableid
AllocateEipAddressacs:ecs:$regionid:$accountid:eip/*
AssociateEipAddressacs:ecs:$regionid:$accountid:eip/$allocationid acs:ecs:$regionid:$accountid:instance/$instanceid
ReleaseEipAddressacs:ecs:$regionid:$accountid:eip/$allocationid
DescribeVpcsacs:ecs:$regionid:$accountid:vpc/*
DeleteVpcacs:ecs:$regionid:$accountid:vpc/$vpcid
ModifyVRouterAttributeacs:ecs:$regionid:$accountid:vrouter/$vrouterid
DescribeVSwitchesacs:ecs:$regionid:$accountid:vswitch/*
DeleteVSwitchacs:ecs:$regionid:$accountid:vswitch/$vswitchid
DescribeRouteTablesacs:ecs:$regionid:$accountid:routetable/*
DeleteRouteEntryacs:ecs:$regionid:$accountid:routetable/$routetableid
DescribeEipAddressesacs:ecs:$regionid:$accountid:eip/*
UnassociateEipAddressesacs:ecs:$regionid:$accountid:eip/$eipid
acs:ecs:$regionid:$accountid:instance/$instanceid
ModifySecurityGroupAttributeacs:ecs:$regionid:$accountid:securitygroup/$securitygroupid
DescribeEipMonitorDataacs:ecs:$regionid:$accountid:eip/$allocationid
ModifyVSwitchAttributeacs:ecs:$regionid:$accountid:vswitch/$vswitchid
DescribeInstanceVncUrlacs:ecs:$regionid:$accountid:instance/$instanceid
ModifySnapshotAttributeacs:ecs:$regionid:$accountid:snapshot/$snapshotid
ModifyInstanceVpcAttributeacs:ecs:$regionid:$accountid:instance/$instanceid
ModifyEipAddressAttributeacs:ecs:$regionid:$accountid:eip/$allocationid
DescribeDiskMonitorDataacs:ecs:$regionid:$accountid:disk/$diskid