鉴权规则
本文提供了在ECS通过访问控制实现团队或者部门成员鉴权、RAM用户授权、RAM角色授权、以及跨云服务授权的Action列表和Resource列表,适用于创建自定义策略实现精细化权限控制的业务需求。
背景信息
说明 如果您无需授权就能访问目标资源,可以跳过此章节。
默认情况下,主账号或者RAM账号均能使用ECS控制台或ECS API完整操作自己创建的ECS资源。在以下场景中,会涉及到操作授权问题:
- RAM账号刚创建时没有权限操作主账号的资源时。
- 从其他阿里云服务访问ECS资源,或者ECS访问其他阿里云服务时。
- 操作具有权限控制的ECS资源前,需要资源拥有者授权目标资源和目标API行为权限。
当其他账号通过ECS API访问主账号资源时,阿里云ECS首先向RAM发起权限检查,以确保资源拥有者已经将相关权限授予调用者。不同的ECS API会根据涉及的资源以及API语义确定需要检查哪些资源的权限。您可以阅读访问控制产品文档和访问控制API文档了解更多详情,实现精细化授权策略和权限控制。
自定义策略
您可以通过RAM控制台或者调用RAM API CreatePolicy创建一个自定义策略,在脚本配置方式的自定义策略中,您需要根据JSON模板文件填写策略内容。其中的Action和Resource参数取值取自本文鉴权列表中的ARN值。更多详情请参见账号访问控制和权限策略基本元素。
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:[ECS RAM Action]",
"ecs:DescribeInstances"
],
"Resource": [
"[ECS RAM Action Resource]",
"acs:ecs:$regionid:15619224785*****:instance/i-bp1bzvz55uz27hf*****"
],
"Effect": "Allow"
}
]
}
鉴权列表
Action | Resource |
---|---|
AllocatePublicIpAddress | acs:ecs:$regionid:$accountid:instance/$instanceId |
ApplyAutoSnapshotPolicy | acs:ecs:*:$accountid:snapshot/* |
AttachClassicLinkVpc | acs:ecs:$regionid:$accountid:instance/$instanceId |
AttachDisk |
|
AttachKeyPair |
|
AuthorizeSecurityGroup | acs:ecs:$regionid:$accountid:securitygroup/$groupNo |
AuthorizeSecurityGroupEgress | acs:ecs:$regionid:$accountid:securitygroup/$groupNo |
CancelAutoSnapshotPolicy | acs:ecs:*:$accountid:snapshot/* |
CancelCopyImage | acs:ecs:$regionid:$accountid:image/$imageNo |
CopyImage |
|
ConvertNatPublicIpToEip | acs:ecs:$regionid:$accountid:instance/$instanceId |
CreateAutoSnapshotPolicy | acs:ecs:*:$accountid:snapshot/* |
CreateDisk |
|
CreateImage |
|
CreateInstance |
|
CreateKeyPair | acs:ecs:$regionid:$accountid:keypair/* |
CreateSecurityGroup | acs:ecs:$regionid:$accountid:securitygroup/* |
CreateSnapshot |
|
DeleteAutoSnapshotPolicy | acs:ecs:*:$accountid:snapshot/* |
DeleteDisk | acs:ecs:$regionid:$accountid:disk/$diskId |
DeleteImage | acs:ecs:$regionid:$accountid:image/$imageNo |
DeleteInstance | acs:ecs:$regionid:$accountid:instance/$instanceId |
DeleteKeyPairs | acs:ecs:$regionid:$accountid:keypair/$keyPairName |
DeleteSecurityGroup | acs:ecs:$regionid:$accountid:securitygroup/$groupNo |
DeleteSnapshot | acs:ecs:$regionid:$accountid:snapshot/$snapshotId |
DescribeClassicLinkInstances | acs:ecs:$regionid:$accountid:instance/* |
DescribeDiskMonitorData | acs:ecs:$regionid:$accountid:disk/$diskId |
DescribeDisks |
|
DescribeImages |
|
DescribeInstanceMonitorData | acs:ecs:$regionid:$accountid:instance/$instanceId |
DescribeInstances |
|
DescribeInstanceStatus | acs:ecs:$regionid:$accountid:instance/* |
DescribeInstanceVncUrl | acs:ecs:$regionid:$accountid:instance/$instanceId |
DescribeKeyPairs |
|
DescribePrice | acs:ecs:*:$accountid:* |
DescribeRenewalPrice | acs:ecs:$regionid:$accountid:instance/$instanceId |
DescribeSecurityGroupAttribute | acs:ecs:$regionid:$accountid:securitygroup/$groupNo |
DescribeSecurityGroups |
|
DescribeSnapshotAttribute | acs:ecs:$regionid:$accountid:snapshot/$snapshotId |
DescribeSnapshotLinks |
|
DescribeSnapshotMonitorData | acs:ecs:*:$accountid:snapshot/* |
DescribeSnapshots |
|
DetachClassicLinkVpc | acs:ecs:$regionid:$accountid:instance/$instanceId |
DetachDisk |
|
DetachKeyPair |
|
ExportImage | acs:ecs:$regionid:$accountid:image/$imageNo |
ImportImage | acs:ecs:$regionid:$accountid:image/* |
ImportKeyPair | acs:ecs:$regionid:$accountid:keypair/* |
JoinSecurityGroup |
|
LeaveSecurityGroup |
|
ListTagResources | acs:ecs:$regionid:$accountid:$resourceType/$resourceId |
ModifyAutoSnapshotPolicy | acs:ecs:*:$accountid:snapshot/* |
ModifyDiskAttribute | acs:ecs:$regionid:$accountid:disk/$diskId |
ModifyImageAttribute | acs:ecs:$regionid:$accountid:image/$imageNo |
ModifyInstanceAttribute | acs:ecs:$regionid:$accountid:instance/$instanceId |
ModifyInstanceAutoReleaseTime | acs:ecs:$regionid:$accountid:instance/$instanceId |
ModifyInstanceChargeType | acs:ecs:$regionid:$accountid:instance/$instanceId |
ModifyInstanceNetworkSpec | acs:ecs:$regionid:$accountid:instance/$instanceId |
ModifyInstanceVncPasswd | acs:ecs:$regionid:$accountid:instance/$instanceId |
ModifyInstanceVpcAttribute |
|
ModifySecurityGroupAttribute | acs:ecs:$regionid:$accountid:securitygroup/$groupNo |
ModifySecurityGroupEgressRule | acs:ecs:$regionid:$accountid:securitygroup/$groupNo |
ModifySecurityGroupRule | acs:ecs:$regionid:$accountid:securitygroup/$groupNo |
ModifyPrepayInstanceSpec | acs:ecs:$regionid:$accountid: |
ModifySnapshotAttribute | acs:ecs:$regionid:$accountid:snapshot/$snapshotId |
RebootInstance | acs:ecs:$regionid:$accountid:instance/$instanceId |
ReInitDisk | acs:ecs:$regionid:$accountid:disk/$diskId |
ReleasePublicIpAddress | acs:ecs:$regionid:$accountid:instance/$instanceId |
RenewInstance | acs:ecs:$regionid:$accountid:instance/$instanceId |
ReplaceSystemDisk |
|
ResetDisk | acs:ecs:$regionid:$accountid:disk/$diskId |
ResizeDisk | acs:ecs:$regionid:$accountid:disk/$diskId |
RevokeSecurityGroup | acs:ecs:$regionid:$accountid:securitygroup/$groupNo |
RevokeSecurityGroupEgress | acs:ecs:$regionid:$accountid:securitygroup/$groupNo |
RunInstances |
|
StartInstance | acs:ecs:$regionid:$accountid:instance/$instanceId |
StopInstance | acs:ecs:$regionid:$accountid:instance/$instanceId |
TagResources | acs:ecs:$regionid:$accountid:$resourceType/$resourceId |
UntagResources | acs:ecs:$regionid:$accountid:$resourceType/$resourceId |
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论