本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
本節摘要說明使用多 VPC 私有連線功能的用戶端和叢集所需的許可。多 VPC 私有連線需要用戶端管理員在每個將與 MSK 叢集建立受管 VPC 連線的用戶端上建立許可。還需要 MSK 叢集管理員在 MSK 叢集上啟用 PrivateLink 連線,並選取身分驗證機制來控制對叢集的存取。
叢集身分驗證類型和主題存取許可
開啟 MSK 叢集啟用之身分驗證機制的多 VPC 私有連線功能。請參閱多 VPC 私有連線的需求和限制。如果您將 MSK 叢集設定為使用 SASL/SCRAM 身分驗證機制,則必須使用 Apache Kafka ACL 屬性 allow.everyone.if.no.acl.found=false
。為叢集設定 Apache Kafka ACL 之後,請更新該叢集的組態,以將該叢集屬性 allow.everyone.if.no.acl.found
設為 false。如需有關更新叢集組態的資訊,請參閱代理程式組態操作。
跨帳戶叢集政策許可
如果 Kafka 用戶端位於與 MSK 叢集不同的 AWS 帳戶中,請將叢集型政策連接至 MSK 叢集,以授權用戶端根使用者進行跨帳戶連線。您可以使用 MSK 主控台中的 IAM 政策編輯器 (叢集安全設定 > 編輯叢集政策),編輯多 VPC 叢集政策,或使用下列 API 來管理叢集政策:
- PutClusterPolicy
-
將叢集政策連接至叢集。您可以使用此 API,來建立或更新指定的 MSK 叢集政策。如果您要更新政策,則必須在請求承載中包含 currentVersion 欄位。
- GetClusterPolicy
-
擷取與叢集連接之叢集政策文件的 JSON 文字。
- DeleteClusterPolicy
-
刪除叢集政策。
以下是基本叢集政策的 JSON 範例,其與在 MSK 主控台 IAM 政策編輯器中顯示的政策類似。下列政策會授予叢集、主題和群組層級存取的許可。
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"AWS": [
"123456789012"
]
},
"Action": [
"kafka-cluster:*",
"kafka:CreateVpcConnection",
"kafka:GetBootstrapBrokers",
"kafka:DescribeCluster",
"kafka:DescribeClusterV2"
],
"Resource": [
"arn:aws:kafka:us-east-1:123456789012:cluster/testing/de8982fa-8222-4e87-8b20-9bf3cdfa1521-2",
"arn:aws:kafka:us-east-1:123456789012:topic/testing/*",
"arn:aws:kafka:us-east-1:123456789012:group/testing/*"
]
}]
}
用戶端對與 MSK 叢集之多 VPC 私有連線的許可
若要在 Kafka 用戶端和 MSK 叢集之間設定多 VPC 私有連線,用戶端需要連接的身分政策,以授予在用戶端上進行 kafka:CreateVpcConnection
、ec2:CreateTags
和 ec2:CreateVPCEndpoint
動作的許可。如需參考,以下是基本用戶端身分政策的 JSON 範例。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kafka:CreateVpcConnection",
"ec2:CreateTags",
"ec2:CreateVPCEndpoint"
],
"Resource": "*"
}
]
}