

# IAM：添加具有特定值的特定标签
<a name="reference_policies_examples_iam-add-tag-user-role"></a>

此示例说明了如何创建基于身份的策略以允许仅向任何 IAM 用户或角色添加标签键 `CostCenter` 和标签值 `A-123` 或标签值 `B-456`。您可以使用此策略将标记限制到一个特定的标签键或一组标签值。此策略定义了程序访问和控制台访问的权限。要使用此策略，请将示例策略中的*斜体占位符文本*替换为您自己的信息。然后，按照[创建策略](access_policies_create.md)或[编辑策略](access_policies_manage-edit.md)中的说明操作。

`ConsoleDisplay` 语句允许对您账户中的所有用户和角色查看标签。

`AddTag` 语句中的第一个条件使用 `StringEquals` 条件运算符。如果请求包含 `CostCenter` 标签键以及其中一个列出的标签值，则条件返回 true。

第二个条件使用 `ForAllValues:StringEquals` 条件运算符。如果请求中的标签键与策略中的键匹配，则条件返回 true。这意味着，请求中的唯一标签键必须为 `CostCenter`。有关使用 `ForAllValues` 的更多信息，请参阅[多值上下文键的集合运算符](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys)。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ConsoleDisplay",
            "Effect": "Allow",
            "Action": [
                "iam:GetRole",
                "iam:GetUser",
                "iam:ListRoles",
                "iam:ListRoleTags",
                "iam:ListUsers",
                "iam:ListUserTags"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AddTag",
            "Effect": "Allow",
            "Action": [
                "iam:TagUser",
                "iam:TagRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/CostCenter": [
                        "A-123",
                        "B-456"
                    ]
                },
                "ForAllValues:StringEquals": {"aws:TagKeys": "CostCenter"}
            }
        }
    ]
}
```

------