View a markdown version of this page

使用自我管理的 Apache Kafka 叢集設定 MSK Replicator 的先決條件 - Amazon Managed Streaming for Apache Kafka

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用自我管理的 Apache Kafka 叢集設定 MSK Replicator 的先決條件

建立 IAM 執行角色

使用 的信任政策建立 IAM 角色kafka.amazonaws.com。連接 AWSMSKReplicatorExecutionRole受管政策。受管政策會授予複寫器所需的叢集、主題和consumer-group-level Kafka 許可,但不包含 SASL/SCRAM 身分驗證和 CMK 加密憑證所需的 AWS Secrets Manager 或 AWS KMS 許可。如需要新增的內嵌政策程式碼片段,請參閱 SASL/SCRAM、mTLS 和客戶受管金鑰的其他 SER 許可

信任政策範例:

{ "Statement": [{ "Effect": "Allow", "Principal": {"Service": "kafka.amazonaws.com"}, "Action": "sts:AssumeRole" }] }

設定 SASL/SCRAM 使用者和 ACL 許可

在自我管理的 Kafka 叢集上建立專用 SCRAM 使用者。需要下列 ACL 許可:

  1. 閱讀、描述所有主題

  2. 讀取、描述所有取用者群組

  3. 在叢集資源上描述

範例 kafka-acls.sh 命令:

# Grant Read and Describe on all topics kafka-acls.sh --bootstrap-server <broker>:9092 \ --add --allow-principal User:msk-replicator \ --operation Read --operation Describe \ --topic '*' # Grant Read and Describe on all consumer groups kafka-acls.sh --bootstrap-server <broker>:9092 \ --add --allow-principal User:msk-replicator \ --operation Read --operation Describe \ --group '*' # Grant Describe on cluster kafka-acls.sh --bootstrap-server <broker>:9092 \ --add --allow-principal User:msk-replicator \ --operation Describe --cluster

在自我管理叢集上設定 mTLS

使用 在自我管理的 Kafka 代理程式上設定 SSL 接聽程式ssl.client.auth=required。代理程式的信任存放區必須包含簽署您將用於 MSK Replicator 之用戶端憑證的 CA 憑證。

將 ACL 許可授予衍生自用戶端憑證辨別名稱 (DN) 的 Kafka 主體。必要的許可包括:所有主題的讀取和描述、所有取用者群組的讀取和描述,以及叢集資源的描述。

在自我管理叢集上設定 SSL

在代理程式上設定 SSL 接聽程式。對於公開信任的憑證,不需要額外的組態。對於私有或自我簽署憑證,請在存放在 AWS Secrets Manager 的秘密中包含完整的 CA 憑證鏈。

在 AWS Secrets Manager 中存放登入資料

在 AWS Secrets Manager 中建立類型為其他 (非 RDS/Redshift) 的秘密,並為您的身分驗證類型使用適當的鍵值對。

對於 SASL/SCRAM:

  1. username — 自我管理叢集的 SCRAM 使用者名稱

  2. password — 自我管理叢集的 SCRAM 密碼

  3. certificate — CA 憑證鏈 (PEM 格式;私有/自我簽署憑證需要)

對於 mTLS:

  1. certificate — PEM 編碼的用戶端憑證鏈

  2. privateKey — PEM 編碼的私有金鑰

  3. privateKeyPassword — (選用) 私有金鑰的密碼短語,僅加密 PKCS8 金鑰需要

設定網路連線

MSK Replicator 需要連線至自我管理 Kafka 叢集的網路連線。支援的選項:

  • AWS Site-to-Site VPN — 透過網際網路將內部部署網路連接到 VPC。

  • AWS Direct Connect — 從您的內部部署建立專用的私有網路連線 AWS。

設定安全群組

確保安全群組允許 MSK Replicator 與身分驗證接聽程式所用連接埠上的自我管理叢集之間的流量。更新 VPC 安全群組的傳入規則和自我管理叢集防火牆的傳出規則。