ECS API 發(fā)生子賬號訪問主賬號資源時的鑒權(quán)規(guī)則
當子賬號通過 ECS Open API 對主賬號的 ECS 資源進行訪問時,ECS 后臺向 RAM 進行權(quán)限檢查,以確保資源擁有者的確將相關(guān)資源的相關(guān)權(quán)限授予了調(diào)用者。
每個不同的 ECS API 會根據(jù)涉及到的資源以及 API 的語義來確定需要檢查哪些資源的權(quán)限。具體地,每個 API 的鑒權(quán)規(guī)則見下表
Action鑒權(quán)規(guī)則
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