

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

# 步骤 2：创建 IAM 角色，授予在 Amazon MSK 集群上创建主题的权限
<a name="create-client-iam-role"></a>

在此步骤中，您需执行两个任务。第一个任务是创建 IAM policy，以授予在集群上创建主题以及向这些主题发送数据的访问权限。第二个任务是创建 IAM 角色并将此策略与其关联。在后面的步骤中，您需创建代入此角色的客户端计算机，使用它在集群上创建主题并向该主题发送数据。

**创建允许创建主题并写入主题的 IAM policy**创建 IAM 策略

1. 使用 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。

1. 在导航窗格中，选择**策略**。

1. 选择**创建策略**。

1. 在**策略编辑器**中，选择 **JSON**，然后将编辑器窗口中的 JSON 替换为以下 JSON。

   在以下示例中，替换以下内容：
   + *region*使用您创建集群的 AWS 区域 位置的代码。
   + 带有您的 ID 的账户 AWS 账户 ID 示例。*123456789012*
   + *MSKTutorialCluster*和*MSKTutorialCluster*/*7d7131e1-25c5-4e9a-9ac5-ea85bee4da11-14*，以及您的集群名称及其 ID。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "kafka-cluster:Connect",
                   "kafka-cluster:AlterCluster",
                   "kafka-cluster:DescribeCluster"
               ],
               "Resource": [
                   "arn:aws:kafka:us-east-1:123456789012:cluster/MSKTutorialCluster/7d7131e1-25c5-4e9a-9ac5-ea85bee4da11-14"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kafka-cluster:*Topic*",
                   "kafka-cluster:WriteData",
                   "kafka-cluster:ReadData"
               ],
               "Resource": [
               "arn:aws:kafka:us-east-1:123456789012:topic/MSKTutorialCluster/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kafka-cluster:AlterGroup",
                   "kafka-cluster:DescribeGroup"
               ],
               "Resource": [
               "arn:aws:kafka:us-east-1:123456789012:group/MSKTutorialCluster/*"
               ]
           }
       ]
   }
   ```

------

   有关如何写入安全策略的说明，请参阅 [IAM 访问控制](iam-access-control.md)。

1. 选择**下一步**。

1. 在**查看和创建**页面中，请执行以下操作：

   1. 对于**策略名称**，输入一个描述性名称，例如 **msk-tutorial-policy**。

   1. **在此策略中定义的权限**中，查看 and/or 编辑策略中定义的权限。

   1. （可选）为了帮助识别、组织或搜索策略，请选择**添加新标签**以键值对形式添加标签。例如，使用 **Environment** 和 **Test** 的键值对向策略添加标签。

      有关使用标签的更多信息，请参阅 *IAM 用户指南*中的[AWS Identity and Access Management 资源标签](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)。

1. 选择**创建策略**。

**创建 IAM 角色并向其附加此策略**

1. 在导航窗格中，选择**角色**，然后选择**创建角色**。

1. 在**选择受信任的实体**页面上，请执行以下操作：

   1. 对于 **Trusted entity type**（可信实体类型），选择 **AWS 服务**。

   1. 对于**服务或使用案例**，选择 **EC2**。

   1. 在 **Use case**（使用案例）下，选择 **EC2**。

1. 选择**下一步**。

1. 在 **Add permissions**（添加权限）页面上，请执行以下操作：

   1. 在搜索框的**权限策略**下，输入您之前为本教程创建的策略的名称。然后，选中策略名称左侧的框。

   1. （可选）设置[权限边界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)。这是一项高级功能，可用于服务角色，但不可用于服务相关角色。有关设置权限边界的信息，请参阅《IAM 用户指南》**中的[创建角色和附加策略（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions_create-policies.html)。

1. 选择**下一步**。

1. 在 **Name, review, and create**（命名、查看和创建）页面中，请执行以下操作：

   1. 对于**角色名称**，输入一个描述性名称，例如 **msk-tutorial-role**。
**重要**  
命名角色时，请注意以下事项：  
角色名称在您的内部必须是唯一的 AWS 账户，并且不能因大小写而变得唯一。  
例如，不要同时创建名为 **PRODROLE** 和 **prodrole** 的角色。当角色名称在策略中使用或者作为 ARN 的一部分时，角色名称区分大小写，但是当角色名称在控制台中向客户显示时（例如，在登录期间），角色名称不区分大小写。
创建角色后，您无法编辑该角色的名称，因为其他实体可能会引用该角色。

   1. （可选）对于**描述**，输入角色的描述。

   1. （可选）要编辑角色的使用案例和权限，请在**步骤 1：选择可信实体**或**步骤 2：添加权限**部分中选择**编辑**。

   1. （可选）为了帮助识别、组织或搜索角色，请选择**添加新标签**以键值对形式添加标签。例如，使用 **ProductManager** 和 **John** 的键值对向角色添加标签。

      有关使用标签的更多信息，请参阅 *IAM 用户指南*中的[AWS Identity and Access Management 资源标签](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)。

1. 检查该角色，然后选择**创建角色**。

**下一步**

[步骤 3：创建客户端计算机](create-client-machine.md)