访问控制(RAM)是阿里云提供的管理用户身份与资源访问权限的服务。使用RAM可以让您避免与其他用户共享阿里云账号密钥,并可按需为用户授予最小权限。RAM中使用权限策略描述授权的具体内容。
本文为您介绍ECS为RAM权限策略定义的操作(Action)、资源(Resource)和条件(Condition)。ECS的RAM代码(RamCode)为[{"popCode":"Ecs","ramCodes":["ecs","vpc"]},{"popCode":"ecs-workbench","ramCodes":["ecs-workbench"]}],支持的授权粒度为ECS RESOURCE。
权限策略通用结构
权限策略支持JSON格式,其通用结构如下:
{
"Version": "1",
"Statement": [
{
"Effect": "<Effect>",
"Action": "<Action>",
"Resource": "<Resource>",
"Condition": {
"<Condition_operator>": {
"<Condition_key>": [
"<Condition_value>"
]
}
}
}
]
}
- Effect:权限策略效果。取值:Allow(允许)、Deny(拒绝)。
- Action:授予允许或拒绝权限的具体操作。具体信息,请参见操作(Action)。
- Resource:受操作影响的具体对象,您可以使用资源ARN来描述指定资源。具体信息,请参见资源(Resource)。
- Condition:指授权生效的条件。可选字段。具体信息,请参见条件(Condition)。
- Condition_operator:条件运算符,不同类型的条件对应不同的条件运算符。具体信息,请参见权限策略基本元素。
- Condition_key:条件关键字。
- Condition_value:条件关键字对应的值。
操作(Action)
下表是ECS定义的操作,这些操作可以在RAM权限策略语句的Action
元素中使用,用来授予执行该操作的权限。下面对表中的具体项提供说明:- 操作:是指具体的权限点。
- API:是指操作对应的API接口。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。该列不体现适用于任何操作的通用条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | API | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|
暂无数据
资源(Resource)
下表是ECS定义的资源,这些资源可以在RAM权限策略语句的Resource
元素中使用,用来授予对该资源执行具体操作的权限。 其中,资源ARN是资源在阿里云上的唯一标识。具体说明如下:{#}
为变量标识,需要您替换为实际值。例如:{#ramcode}
需要您替换为实际的云服务RAM代码。-
*
表示全部。例如:{#resourceType}
为*
时:表示全部资源。{#regionId}
为*
时:表示全部地域。{#accountId}
为*
时:表示全部阿里云账号。
资源类型 | 资源ARN |
---|
暂无数据
条件(Condition)
下表是ECS定义的产品级条件关键字,这些条件关键字可以在RAM权限策略语句的
Condition
元素中使用,用来描述授予权限的条件。以下仅列举产品级的条件关键字,阿里云定义的ECS也同样适用通用条件关键字。其中,数据类型决定了您可以使用哪些条件运算符将请求中的值与权限策略语句中的值进行比较。您必须使用与数据类型匹配的条件运算符,否则无法匹配策略语句,授权行为无效。数据类型与条件运算符的对应关系,请参见条件操作类型。
条件关键字 | 描述 | 类型 |
---|---|---|
vpc:VPC | VPC Information | String |
vpc:IsDefaultVSwitch | Whether it is the default VSwitch and whether the default VSwitch can be used | Boolean |
vpc:IsDefaultVpc | Whether it is the default VPC | Boolean |
ecs:IsDiskEncrypted | Whether it is an encrypted data disk | String |
ecs:InstanceType | Instance specifications | String |
ecs:InstanceTypeFamily | instance specification family | String |
ecs:ImagePlatform | Operating system type of the image | String |
ecs:ImageSource | Image Source | String |
ecs:CommandRunAs | User in the operating system that executes cloud assistant commands | String |
ecs:IsSystemDiskEncrypted | Whether it is an encryption system disk | String |
ecs:ImageOwnerId | Owner UID of the image. | String |
ecs:AssociatePublicIpAddress | Whether to support the allocation of public network IP in the process of resource creation and change, that is, whether to allow the operation of resources to make the public network bandwidth greater than 0. | Boolean |
ecs:PasswordCustomized | Whether a custom password is used | Boolean |
ecs:PasswordInherit | Whether the instance inherits the image password. | Boolean |
ecs:SecurityEnhancementStrategy | Whether to open security reinforcement. | String |
ecs:SecurityHardeningMode | Whether to enforce hardened mode (IMDSv2) when accessing instance metadata | Boolean |
vpc:CreateDefaultVpc | Whether a default VPC can be created | Boolean |
ecs:SecurityGroupIpProtocols | Transport layer protocol with security group open | String |
ecs:SecurityGroupSourceCidrIps | The source IPv4 CIDR segment of the security group that sets access permissions | String |
ecs:NotSpecifySecurityGroupId | Whether the security group ID is not specified | Boolean |