适用于 Elastic Load Balancing 的 Identity and Access Management - Elastic Load Balancing
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

适用于 Elastic Load Balancing 的 Identity and Access Management

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

默认情况下,IAM 用户没有创建、查看或修改 Amazon 资源的权限。要允许 IAM 用户访问资源(如负载均衡器)并执行任务,您可以:

  1. 创建授予 IAM 用户使用所需特定资源和 API 操作的权限的 IAM 策略。

  2. 将该策略附加到 IAM 用户或 IAM 用户所属的组。

在将策略附加到一个用户或一组用户时,它会授权或拒绝用户使用指定资源执行指定任务。

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

使用 IAM 策略授予权限

在将策略附加到一个用户或一组用户时,它会授权或拒绝用户使用指定资源执行指定任务。

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

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

  • Action(操作)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 时,您可以在路径中使用 * 通配符。例如,当您不想指定确切的负载均衡器名称时,可以使用 * 通配符。

Application Load Balancer 的 ARN 具有以下示例中显示的格式。

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

Network Load Balancer 的 ARN 具有以下示例中显示的格式。

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

Classic Load Balancer 的 ARN 具有以下示例中显示的格式。

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

侦听器的 ARN 和 Application Load Balancer 的侦听器规则具有以下示例中显示的格式。

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

Network Load Balancer 的侦听器的 ARN 具有以下示例中显示的格式。

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

目标组的 ARN 具有以下示例中显示的格式。

arn:aws: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 的条件键

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

不能将 aws:SourceIp 条件键与 Elastic Load Balancing 一起使用。

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

API 版本 2015-12-01

  • AddTags

  • CreateListener

  • CreateLoadBalancer

  • DeleteLoadBalancer

  • DeleteTargetGroup

  • DeregisterTargets

  • ModifyLoadBalancerAttributes

  • ModifyTargetGroup

  • ModifyTargetGroupAttributes

  • RegisterTargets

  • RemoveTags

  • SetIpAddressType

  • SetSecurityGroups

  • SetSubnets

API 版本 2012-06-01

  • AddTags

  • ApplySecurityGroupsToLoadBalancer

  • AttachLoadBalancersToSubnets

  • ConfigureHealthCheck

  • CreateAppCookieStickinessPolicy

  • CreateLBCookieStickinessPolicy

  • CreateLoadBalancer

  • CreateLoadBalancerListeners

  • CreateLoadBalancerPolicy

  • DeleteLoadBalancer

  • DeleteLoadBalancerListeners

  • DeleteLoadBalancerPolicy

  • DeregisterInstancesFromLoadBalancer

  • DetachLoadBalancersFromSubnets

  • DisableAvailabilityZonesForLoadBalancer

  • EnableAvailabilityZonesForLoadBalancer

  • ModifyLoadBalancerAttributes

  • RegisterInstancesWithLoadBalancer

  • RemoveTags

  • SetLoadBalancerListenerSSLCertificate

  • SetLoadBalancerPoliciesForBackendServer

  • SetLoadBalancerPoliciesOfListener

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

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

  • AddTags

  • CreateLoadBalancer

  • RemoveTags

预定义的 Amazon 托管策略

Amazon 创建的托管策略将授予针对常用案例的必要权限。您可以根据您的 IAM 用户对 Elastic Load Balancing 所需的访问权限将这些策略附加到这些用户:

  • ElasticLoadBalancingFullAccess — 授予使用 Elastic Load Balancing 功能所需的完整访问权限。

  • ElasticLoadBalancingReadOnly — 授予对 Elastic Load Balancing 功能的只读访问权限。

有关每个 Elastic Load Balancing 操作所需的权限的更多信息,请参阅Elastic Load Balancing API 权限