Elastic Load Balancing
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

负载均衡器的身份验证和访问控制

AWS 使用安全凭证来识别您的身份并向您授予对 AWS 资源的访问权。利用 AWS Identity and Access Management (IAM) 的功能,可在不共享您的安全凭证的情况下允许其他用户、服务和应用程序完全使用或有限制地使用您的 AWS 资源。

默认情况下,IAM 用户没有创建、查看或修改 AWS 资源的权限。要允许某个 IAM 用户访问资源 (如负载均衡器) 和执行任务,您必须创建一个 IAM 策略 (该策略向该 IAM 用户授予使用其所需的特定资源和 API 操作的权限),然后将该策略附加到该 IAM 用户或该 IAM 所属的组。当您将策略与一个用户或一组用户关联时,它会授权或拒绝用户使用指定资源执行指定任务。

例如,您可以使用 IAM 在您的 AWS 账户下创建用户和组 (IAM 用户可以是人员、系统或应用程序)。然后,使用 IAM 策略向用户和组授予对指定资源执行特定操作的权限。

使用 IAM 策略授予权限

当您将策略与一个用户或一组用户关联时,它会授权或拒绝用户使用指定资源执行指定任务。

IAM 策略是包含一个或多个语句的 JSON 文档。每个语句的结构如下:

{ "Version": "2012-10-17", "Statement":[{ "Effect": "effect", "Action": "action", "Resource": "resource-arn", "Condition": { "condition": { "key":"value" } } }] }
  • Effect - 效果可以是 AllowDeny。默认情况下 IAM 用户没有使用资源和 API 操作的权限,因此,所有请求均会被拒绝。明确允许将覆盖默认规则。显式拒绝将覆盖任何允许。

  • Action - 操作是对其授予或拒绝权限的特定 API 操作。有关指定 action 的更多信息,请参阅 Elastic Load Balancing 的 API 操作

  • Resource - 受操作影响的资源。对于许多 Elastic Load Balancing API 操作,通过在此语句中指定 Amazon 资源名称 (ARN),可以限制对特定负载均衡器授予或拒绝的权限。否则,您可以使用 * 通配符指定所有负载均衡器。有关更多信息,请参阅 Elastic Load Balancing 资源

  • Condition - 您可以选择性地使用条件来控制策略的生效时间。有关更多信息,请参阅 Elastic Load Balancing 的条件密钥

有关更多信息,请参阅 IAM 用户指南

Elastic Load Balancing 的 API 操作

在 IAM 策略语句的 Action 元素中,您可以指定 Elastic Load Balancing 所提供的任意 API 操作。如以下示例所示,您必须使用小写形式的字符串 elasticloadbalancing: 作为操作名称的前缀:

"Action": "elasticloadbalancing:DescribeLoadBalancers"

要在单个语句中指定多项操作,请使用方括号将操作括起来并以逗号分隔,如下所示:

"Action": [ "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DeleteLoadBalancer" ]

您也可以使用 * 通配符指定多项操作。以下示例指定以 Describe 开头的所有 Elastic Load Balancing API 操作名称:

"Action": "elasticloadbalancing:Describe*"

要指定 Elastic Load Balancing 的所有 API 操作,请按下例所示使用通配符 *:

"Action": "elasticloadbalancing:*"

有关 Elastic Load Balancing API 操作的完整列表,请参阅以下文档:

Elastic Load Balancing 资源

资源级权限 指的是能够指定允许用户对哪些资源执行操作的能力。Elastic Load Balancing 部分支持资源级权限。对于支持资源级权限的 API 操作,您可以控制用户可与操作结合使用的资源。要在策略中指定资源,您必须使用其 Amazon 资源名称 (ARN)。指定 ARN 时,您可以在路径中使用 * 通配符;例如,在不希望指定确切负载均衡器名称时可以这样做。

应用程序负载均衡器的 ARN 采用以下格式:

arn:aws-cn:elasticloadbalancing:region-code:account-id:loadbalancer/app/load-balancer-name/load-balancer-id

网络负载均衡器的 ARN 采用以下格式:

arn:aws-cn:elasticloadbalancing:region-code:account-id:loadbalancer/net/load-balancer-name/load-balancer-id

传统负载均衡器的 ARN 采用以下格式:

arn:aws-cn:elasticloadbalancing:region-code:account-id:loadbalancer/load-balancer-name

侦听器的 ARN 和应用程序负载均衡器的侦听器规则采用以下格式:

arn:aws-cn:elasticloadbalancing:region-code:account-id:listener/app/load-balancer-name/load-balancer-id/listener-id arn:aws-cn:elasticloadbalancing:region-code:account-id:listener-rule/app/load-balancer-name/load-balancer-id/listener-id/rule-id

网络负载均衡器的侦听器的 ARN 采用以下格式:

arn:aws-cn:elasticloadbalancing:region-code:account-id:listener/net/load-balancer-name/load-balancer-id/listener-id

目标组的 ARN 采用以下格式:

arn:aws-cn:elasticloadbalancing:region-code:account-id:targetgroup/target-group-name/target-group-id

不支持资源级权限的 API 操作

以下 Elastic Load Balancing 操作不支持资源级权限:

  • API 版本 2015-12-01:

    • DescribeAccountLimits

    • DescribeListenerCertificates

    • DescribeListeners

    • DescribeLoadBalancerAttributes

    • DescribeLoadBalancers

    • DescribeRules

    • DescribeSSLPolicies

    • DescribeTags

    • DescribeTargetGroupAttributes

    • DescribeTargetGroups

    • DescribeTargetHealth

  • API 版本 2012-06-01:

    • DescribeInstanceHealth

    • DescribeLoadBalancerAttributes

    • DescribeLoadBalancerPolicyTypes

    • DescribeLoadBalancers

    • DescribeLoadBalancerPolicies

    • DescribeTags

对于不支持资源级权限的 API 操作,必须指定以下资源语句:

"Resource": "*"

Elastic Load Balancing 的资源级权限

下面的各表介绍支持资源级权限的 Elastic Load Balancing 操作,以及每个操作支持的资源。

API 版本 2015-12-01

API 操作 资源 ARN
AddListenerCertificates 侦听器
AddTags 负载均衡器,目标组
CreateListener 负载均衡器
CreateLoadBalancer 负载均衡器
CreateRule 侦听器
CreateTargetGroup 目标组
DeleteListener 侦听器
DeleteLoadBalancer 负载均衡器
DeleteRule 侦听器规则
DeleteTargetGroup 目标组
DeregisterTargets 目标组
ModifyListener 侦听器
ModifyLoadBalancerAttributes 负载均衡器
ModifyRule 侦听器规则
ModifyTargetGroup 目标组
ModifyTargetGroupAttributes 目标组
RegisterTargets 目标组
RemoveListenerCertificates 侦听器
RemoveTags 负载均衡器,目标组
SetIpAddressType 负载均衡器
SetRulePriorities 侦听器规则
SetSecurityGroups 负载均衡器
SetSubnets 负载均衡器

API 版本 2012-06-01

API 操作 资源 ARN
AddTags 负载均衡器
ApplySecurityGroupsToLoadBalancer 负载均衡器
AttachLoadBalancerToSubnets 负载均衡器
ConfigureHealthCheck 负载均衡器
CreateAppCookieStickinessPolicy 负载均衡器
CreateLBCookieStickinessPolicy 负载均衡器
CreateLoadBalancer 负载均衡器
CreateLoadBalancerListeners 负载均衡器
CreateLoadBalancerPolicy 负载均衡器
DeleteLoadBalancer 负载均衡器
DeleteLoadBalancerListeners 负载均衡器
DeleteLoadBalancerPolicy 负载均衡器
DeregisterInstancesFromLoadBalancer 负载均衡器
DetachLoadBalancerFromSubnets 负载均衡器
DisableAvailabilityZonesForLoadBalancer 负载均衡器
EnableAvailabilityZonesForLoadBalancer 负载均衡器
ModifyLoadBalancerAttributes 负载均衡器
RegisterInstancesWithLoadBalancer 负载均衡器
RemoveTags 负载均衡器
SetLoadBalancerListenerSSLCertificate 负载均衡器
SetLoadBalancerPoliciesForBackendServer 负载均衡器
SetLoadBalancerPoliciesOfListener 负载均衡器

Elastic Load Balancing 的条件密钥

在创建策略时,您可指定控制策略生效时间的条件。每个条件都包含一个或多个键值对。有全局条件键和特定于服务的条件键。

elasticloadbalancing:ResourceTag/key 条件键特定于 Elastic Load Balancing。以下操作支持此条件键:

  • AddTags

  • CreateListener

  • CreateLoadBalancer

  • DeleteLoadBalancer

  • DeleteTargetGroup

  • DeregisterTargets

  • ModifyLoadBalancerAttributes

  • ModifyTargetGroup

  • ModifyTargetGroupAttributes

  • RegisterTargets

  • RemoveTags

  • SetIpAddressType

  • SetSecurityGroups

  • SetSubnets

有关全局条件键的更多信息,请参阅 IAM 用户指南 中的 AWS 全局条件上下文键

以下操作支持 aws:RequestTag/keyaws:TagKeys 条件键:

  • AddTags

  • CreateLoadBalancer

  • RemoveTags