创建 Amazon Managed Streaming for Apache Kafka 导入主题

借助 Amazon Managed Streaming for Apache Kafka (Amazon MSK) 导入主题,您可以从 Amazon MSK(作为外部来源)持续注入数据到 Pub/Sub 中。然后,您可以将数据流式传输到 Pub/Sub 支持的任何目标位置。

本文档介绍了如何创建和管理 Amazon MSK 导入主题。如需创建标准主题,请参阅创建标准主题

如需详细了解导入主题,请参阅关于导入主题

准备工作

所需的角色和权限

如需获得创建和管理 Amazon MSK 导入主题所需的权限,请让您的管理员为您授予主题或项目的 Pub/Sub Editor (roles/pubsub.editor) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色包含创建和管理 Amazon MSK 导入主题所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需创建和管理 Amazon MSK 导入主题,需要具备以下权限:

  • 创建导入主题: pubsub.topics.create
  • 删除导入主题: pubsub.topics.delete
  • 获取导入主题: pubsub.topics.get
  • 列出导入主题: pubsub.topics.list
  • 发布到导入主题: pubsub.topics.publish 和 pubsub.serviceAgent
  • 更新导入主题: pubsub.topics.update
  • 获取导入主题的 IAM 政策: pubsub.topics.getIamPolicy
  • 为导入主题配置 IAM 政策pubsub.topics.setIamPolicy

您也可以使用自定义角色或其他预定义角色来获取这些权限。

您可以在项目级层和个别资源级层配置访问权限控制。

设置联合身份以访问 Amazon MSK

借助工作负载身份联合, Google Cloud 服务可以访问在 Google Cloud外部运行的工作负载。借助身份联合,您无需维护凭据或将凭据传递给 Google Cloud ,即可访问其他云中的资源。相反,您可以使用工作负载本身的身份向 Google Cloud 进行身份验证并访问资源。

在 Google Cloud中创建服务账号

这是一个可选步骤。 如果您已有服务账号,则可以在此过程中使用该账号,而不必创建新的服务账号。 如果您使用的是现有服务账号,请前往记录服务账号唯一 ID 以进行下一步。

对于 Amazon MSK 导入主题,Pub/Sub 使用服务账号作为身份来访问 AWS 中的资源。

如需详细了解如何创建服务账号,包括前提条件、所需角色和权限以及命名指南,请参阅创建服务账号。创建服务账号后,您可能需要等待 60 秒或更长时间才能使用该服务账号。出现这种行为的原因是读取操作是最终一致的;新服务账号可能需要一段时间才能显示。

记录服务账号唯一 ID

您需要服务账号唯一 ID 才能在 AWS 控制台中设置角色。

  1. 在 Google Cloud 控制台中,前往服务账号详情页面。

    前往服务账号

  2. 点击您刚刚创建的服务账号或计划使用的服务账号。

  3. 服务账号详情页面中,记录唯一 ID 编号。

    您需要在工作流程中使用该 ID,以便在 AWS 控制台中设置角色

向 Pub/Sub 服务账号添加服务账号令牌创建者角色

借助 Service Account Token Creator 角色 (roles/iam.serviceAccountTokenCreator),主账号可以为服务账号创建短期有效凭据。这些令牌或凭据用于模拟服务账号。

如需详细了解服务账号模拟,请参阅服务账号模拟

您还可以在此过程中添加 Pub/Sub 发布者角色 (roles/pubsub.publisher)。如需详细了解该角色以及您添加该角色的原因,请参阅向 Pub/Sub 服务账号添加 Pub/Sub 发布者角色

  1. 在 Google Cloud 控制台中,前往 IAM 页面。

    转到 IAM

  2. 点击包括 Google提供的角色授权复选框。

  3. 查找格式为 service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com 的服务账号。

  4. 对于此服务账号,点击修改主账号按钮。

  5. 如果需要,请点击添加其他角色

  6. 搜索并点击 服务账号令牌创建者角色 (roles/iam.serviceAccountTokenCreator)。

  7. 点击保存

在 AWS 中创建政策

您需要在 AWS 中添加一项政策,以允许 Pub/Sub 向 AWS 进行身份验证,以便 Pub/Sub 可以从 Amazon MSK 中注入数据。

  • 如需了解更多方法以及如何在 AWS 中创建政策,请参阅创建 IAM 政策

如需在 AWS 中创建政策,请执行以下步骤:

  1. 登录 AWS 管理控制台,然后打开 IAM 控制台

  2. IAM 控制台的导航窗格中,依次点击访问管理 > 政策

  3. 点击创建政策

  4. 对于点击服务,请点击 MSK

  5. 对于允许的操作,依次点击读取 > GetBootstrapBrokers

    此操作授予了获取 Pub/Sub 用于连接到 MSK 集群的初始启动代理的权限。

  6. 点击添加更多权限

  7. 选择服务中,点击 Apache Kafka API for MSK

  8. 对于允许的操作,请选择以下内容: