开发者社区 问答 正文

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
AttachKeyPairacs:ecs:$regionid:$accountid:keypair/$KeyPairName 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)]如果有 acs:ecs:$regionid:$accountid:keypair/$KeyPairName
CreateKeyPairacs:ecs:$regionid:$accountid:keypair/
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
DeleteKeyPairsacs:ecs:$regionid:$accountid:keypair/$KeyPairName
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:*
DescribeKeyPairsacs:ecs:$regionid:$accountid:keypair/
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
DetachKeyPairacs:ecs:$regionid:$accountid:keypair/$KeyPairName acs:ecs:$regionid:$accountid:instance/$instanceid
ImportKeyPairacs:ecs:$regionid:$accountid:keypair/
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/*acs:ecs:$regionid:$accountid:keypair/
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
RenewInstanceacs:ecs:$regionid:$accountid:instance/$instanceid
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

展开
收起
boxti 2017-10-19 11:49:01 2077 分享
分享
版权
举报
阿里云 AI 助理回答

这段信息详细列出了ECS(Elastic Compute Service,弹性计算服务)API操作与阿里云资源访问管理(RAM, Resource Access Management)权限检查的对应关系。当子账号通过ECS Open API尝试访问或操作主账号的ECS资源时,RAM会依据这些鉴权规则来验证子账号是否有足够的权限执行特定的操作。

每个API操作(Action)都需要特定的权限才能成功执行。权限以acs:ecs:$regionid:$accountid:resourceType/resourceIdentifier的形式表示,其中: - acs:是阿里云服务的前缀。 - ecs:指明是ECS服务相关的权限。 - $regionid代表操作涉及的区域ID。 - $accountid是阿里云账户ID。 - resourceType指的是资源类型,如instance(实例)、disk(磁盘)、securitygroup(安全组)等。 - resourceIdentifier是具体资源的标识符,例如实例ID、磁盘ID等;星号*表示对所有该类型的资源有权限。

例如,对于AllocatePublicIpAddress操作,需要检查的权限为acs:ecs:$regionid:$accountid:instance/$instanceid,意味着执行此操作的用户必须拥有针对指定实例分配公网IP地址的权限。

这些规则帮助理解在使用ECS API进行自动化管理和操作时,如何在RAM中设置合适的策略,确保只有被正确授权的子账号能够执行相应的资源操作,从而维护账号的安全性和资源的合规使用。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等