本文为您介绍IAM策略的类型及弹性伸缩相关的策略,以帮助您快速了解IAM策略。IAM策略支持系统预设策略和自定义策略两种类型,您可直接使用系统预设策略为IAM身份授权,但系统预设策略有限若无法满足您的需求,您可通过自定义策略精准授权,灵活管控账号资源。
IAM平台已提前为您设置了关于弹性伸缩的默认策略,您可为直接为IAM身份(IAM用户、用户组或角色)授权系统预设策略。系统预设策略只能用于授权,不可编辑和修改。
系统预设策略名称 | 描述 |
---|---|
AutoScalingFullAccess | 被授权该策略后的IAM身份(IAM用户、用户组、角色),可获得权限范围内弹性伸缩功能的 管理 权限,适用于通过API使用弹性伸缩的场景。 |
AutoScalingReadOnlyAccess | 被授权该策略后的IAM身份(IAM用户、用户组、角色),可获得权限范围内弹性伸缩功能的 只读 权限,适用于通过API使用弹性伸缩的场景。 |
AutoScalingConsoleFullAccess | 被授权该策略后的IAM身份(IAM用户、用户组、角色),可获得权限范围内弹性伸缩功能的 管理 权限、以及相关云产品在弹性伸缩控制台的 只读 权限,适用于通过控制台使用弹性伸缩的场景。 |
AutoScalingConsoleReadOnlyAccess | 被授权该策略后的IAM身份(IAM用户、用户组、角色),可获得权限范围内弹性伸缩功能的 只读 权限、以及相关云产品在弹性伸缩控制台的 只读 权限,适用于通过控制台使用弹性伸缩的场景。 |
说明
如果IAM身份只授予 只读 权限,则只可查看功能配置情况(例如查询伸缩组/伸缩配置来源详情等),不可对其进行任何操作。
操作 | AutoScalingFullAccess | AutoScalingReadOnlyAccess | AutoScalingConsoleFullAccess | AutoScalingConsoleReadOnlyAccess |
---|---|---|---|---|
管理伸缩组 | √ | × | √ | × |
查询伸缩组 | √ | √ | √ | √ |
查询负载均衡/实例启动模版 | × | × | √ | √ |
管理伸缩配置来源 | √ | × | √ | × |
查询伸缩配置来源 | √ | √ | √ | √ |
查询伸缩配置所需的VPC等云产品 | × | × | √ | √ |
设置实例保护 | √ | × | √ | × |
添加/移出/删除实例 | √ | × | √ | × |
查询实例 | × | × | √ | √ |
管理伸缩规则 | √ | × | √ | × |
查询伸缩规则 | √ | √ | √ | √ |
管理生命周期挂钩 | √ | × | √ | × |
查询生命周期挂钩 | √ | √ | √ | √ |
管理消息通知 | √ | × | √ | × |
配置消息接收 | × | × | × | × |
查询伸缩日志 | √ | √ | √ | √ |
管理垂直伸缩 | √ | × | √ | × |
查询垂直伸缩 | √ | √ | √ | √ |
查询垂直伸缩所需的实例规格 | × | × | √ | √ |
功能 | 依赖云服务 | 所需角色 | 所需策略 |
---|---|---|---|
伸缩组绑定其他云产品 | 负载均衡CLB | 首次使用弹性伸缩服务时,平台会指引您进行“跨服务访问授权”-ServiceRoleForAutoScaling(通过API调用时平台将自动授权),授权成功后即允许弹性伸缩服务使用相关云产品,例如增删云服务器/公网IP、获取负载均衡信息等。 | 为IAM用户授予管理权限后,即可操作弹性伸缩的全部功能。但如果您需要管理其他云产品,则还需要具备相关云产品的管理权限,例如创建负载均衡CLB需增加CLBFullAccess策略。 |
负载均衡ALB | |||
伸缩配置来源 | 云服务器 | ||
公网IP | |||
接收消息通知 | 无 | 为IAM用户授予管理权限后,还需添加MessageCenterFullAccess策略后才能配置消息接收方式和接收人。 |
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"auto_scaling:*"
],
"Resource": [
"*"
]
}
]
}
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"auto_scaling:Get*",
"auto_scaling:*Describe*",
"auto_scaling:*List*"
],
"Resource": [
"*"
]
}
]
}
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:Get*",
"ecs:*Describe*",
"ecs:*List*",
"clb:Get*",
"clb:*Describe*",
"clb:*List*",
"vpc:Get*",
"vpc:*Describe*",
"vpc:*List*",
"storage_ebs:Get*",
"storage_ebs:*Describe*",
"storage_ebs:*List*",
"rds_mysql:Get*",
"rds_mysql:*Describe*",
"rds_mysql:*List*",
"volc_observe:Get*",
"volc_observe:*Describe*",
"volc_observe:*List*",
"auto_scaling:*"
],
"Resource": [
"*"
]
}
]
}
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:Get*",
"ecs:*Describe*",
"ecs:*List*",
"clb:Get*",
"clb:*Describe*",
"clb:*List*",
"vpc:Get*",
"vpc:*Describe*",
"vpc:*List*",
"storage_ebs:Get*",
"storage_ebs:*Describe*",
"storage_ebs:*List*",
"rds_mysql:Get*",
"rds_mysql:*Describe*",
"rds_mysql:*List*",
"volc_observe:Get*",
"volc_observe:*Describe*",
"volc_observe:*List*",
"auto_scaling:Get*",
"auto_scaling:*Describe*",
"auto_scaling:*List*"
],
"Resource": [
"*"
]
}
]
}
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:DescribeInstances",
"ecs:GetInstance",
"ecs:CreateInstances",
"ecs:DeleteInstance",
"ecs:DeleteInstances",
"ecs:DescribeInstanceTypes",
"ecs:DescribeKeyPair",
"ecs:DescribeImages",
"ecs:DescribeZones",
"ecs:BindAssumeRole",
"ecs:ModifyInstanceSpec",
"ecs:StopInstance",
"ecs:StartInstance",
"ecs:DescribeAvailableResource",
"ecs:DescribeHpcCluster",
"ecs:CreateTags",
"ecs:DeleteTags",
"ecs:DescribeCommands",
"ecs:InvokeCommand",
"ecs:DescribeInvocations",
"ecs:DescribeLaunchTemplateVersions",
"ecs:CreateScheduledInstances",
"ecs:DescribeScheduledInstances",
"ecs:DescribeScheduledInstanceStock",
"vpc:AllocateEipAddress",
"vpc:AssociateEipAddress",
"vpc:DisassociateEipAddress",
"vpc:ReleaseEipAddress",
"vpc:DescribeVpcs",
"vpc:DescribeEipAddresses",
"vpc:DescribeSubnetAttributes",
"vpc:InnerGetLimitFromKeys",
"vpc:DescribeSubnets",
"vpc:DescribeBandwidthPackages",
"vpc:RemoveBandwidthPackageIp",
"clb:DescribeLoadBalancers",
"clb:DescribeServerGroups",
"clb:DescribeListenerHealth",
"clb:DescribeListeners",
"clb:AddServerGroupBackendServers",
"clb:RemoveServerGroupBackendServers",
"clb:DescribeServerGroupAttributes",
"alb:DescribeLoadBalancers",
"alb:DescribeServerGroups",
"alb:AddServerGroupBackendServers",
"alb:RemoveServerGroupBackendServers",
"alb:DescribeServerGroupAttributes",
"alb:DescribeListenerAttributes",
"alb:DescribeListeners",
"alb:DescribeListenerHealth",
"volc_observe:GetMetricData",
"rds_mysql:ListDBInstances",
"rds_mysql:DescribeDBInstance",
"rds_mysql:CreateDBInstanceIPList",
"rds_mysql:ListDBInstanceIPLists",
"rds_mysql:ModifyDBInstanceIPList",
"rds_mysql:DeleteDBInstanceIPList",
"rds_mysql:DescribeAllowLists",
"rds_mysql:DescribeAllowListDetail",
"rds_mysql:DeleteAllowList",
"rds_mysql:ModifyAllowList",
"rds_mysql:AssociateAllowList",
"rds_mysql:DisassociateAllowList",
"rds_mysql:CreateAllowList",
"volc_observe:CreateRule",
"volc_observe:DeleteRulesByIds",
"volc_observe:UpdateRule",
"volc_observe:ListRulesByIds",
"storage_ebs:DescribeVolumes"
],
"Resource": [
"*"
]
}
]
}
类型 | 说明 | 相关文档 |
---|---|---|
自定义策略类型 | 自定义策略根据策略可绑定的主体不同分为基于身份的策略(Identity-based policies)和基于资源的策略(Resource-based policies)。 | |
自定义策略语法 | 自定义策略语法通过策略元素定义策略的权限,自定义“基于身份的策略”和“基于资源的策略”时,策略元素有所区别。 | |
新建自定义策略 | 火山引擎主账号或拥有访问控制管理权限的子用户进行授权时,系统预设策略无法满足需求,可通过自定义策略精细化定义权限。 | 新建自定义策略 |
常见系统预设策略:文档中介绍了部分常用的系统预设策略,以帮助您更快速的了解、使用系统策略进行权限管控。