

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在创建过程中为资源添加标签的 Elastic Load Balancing API 权限
<a name="tagging-resources-during-creation"></a>

为使用户在创建过程中为资源添加标签，他们必须具有使用创建该资源的操作（如 `elasticloadbalancing:CreateLoadBalancer` 或 `elasticloadbalancing:CreateTargetGroup`）的权限。如果在资源创建操作中指定标签，则需要在 `elasticloadbalancing:AddTags` 操作上执行额外的授权，以验证用户是否具备为所创建资源应用标签的权限。因此，用户还必须具有使用 `elasticloadbalancing:AddTags` 操作的显式权限。

在 `elasticloadbalancing:AddTags` 操作的 IAM policy 定义中，可使用带有 `Condition` 条件键的 `elasticloadbalancing:CreateAction` 元素，为创建资源的操作授予添加标签的权限。

如下的示例演示了一个策略，其允许用户创建目标组并在创建过程中向其应用任何标签。用户无权标记任何现有资源 (他们无法直接调用 `elasticloadbalancing:AddTags` 操作)。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "elasticloadbalancing:CreateTargetGroup"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "elasticloadbalancing:AddTags"
      ],
      "Resource": "*",
      "Condition": {
         "StringEquals": {
             "elasticloadbalancing:CreateAction" : "CreateTargetGroup"
         }
      }
    }
  ]
}
```

------

同样，下面的策略允许用户创建负载均衡器并在创建过程中应用标签。用户无权标记任何现有资源 (他们无法直接调用 `elasticloadbalancing:AddTags` 操作)。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "elasticloadbalancing:CreateLoadBalancer"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "elasticloadbalancing:AddTags"
      ],
      "Resource": "*",
      "Condition": {
         "StringEquals": {
             "elasticloadbalancing:CreateAction" : "CreateLoadBalancer"
         }
      }
    }
  ]
}
```

------

仅当用户在资源创建操作中应用了标签时，系统才会评估 `elasticloadbalancing:AddTags` 操作。因此，如果未在此请求中指定任何标签，则拥有创建资源权限（假定没有标记条件）的用户无需具备使用 `elasticloadbalancing:AddTags` 操作的权限。但是，如果用户不具备使用 `elasticloadbalancing:AddTags` 操作的权限而又试图创建带标签的资源，则请求将失败。