

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

# 基于 Amazon MSK 标签的授权
<a name="security_iam_service-with-iam-tags"></a>

您可以将标签附加到 Amazon MSK 集群。要基于标签控制访问，您需要使用 `kafka:ResourceTag/key-name``aws:RequestTag/key-name` 或 `aws:TagKeys` 条件键在策略的[条件元素](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_elements_condition.html)中提供标签信息。有关标记 Amazon MSK 资源的信息，请参阅[为 Amazon MSK 集群添加标签](msk-tagging.md)。

只能借助于标签来控制集群的访问。要向主题和使用者组添加标签，需在策略中添加一条不带标签的单独语句。

要查看基于身份的策略（用于基于集群上的标签来限制对该集群的访问）的示例，请参阅[根据标签访问 Amazon MSK 集群](security_iam_id-based-policy-examples-view-widget-tags.md)。

您可以在基于身份的策略中使用条件，以便基于标签控制对 Amazon MSK 资源的访问权限。此示例演示了如何创建允许用户描述集群、获取其引导代理、列出其代理节点、更新和删除集群的策略。但是，仅当集群标签 `Owner` 的值为该用户的 `username` 时，此策略才会授予权限。以下策略中的第二个语句允许访问集群中的主题。该策略中的第一个语句未授权任何主题访问权限。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AccessClusterIfOwner",
      "Effect": "Allow",
      "Action": [
        "kafka:Describe*",
        "kafka:Get*",
        "kafka:List*",
        "kafka:Update*",
        "kafka:Delete*"
      ],
      "Resource": "arn:aws:kafka:us-east-1:123456789012:cluster/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Owner": "${aws:username}"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "kafka-cluster:*Topic*",
        "kafka-cluster:WriteData",
        "kafka-cluster:ReadData"
      ],
      "Resource": [
        "arn:aws:kafka:us-east-1:123456789012:topic/*"
      ]
    }
  ]
}
```

------